배달의민족 서비스에 핵심적으로 필요한 업주/가게의 정보를 효율적으로 관리하기 위한 백엔드 서버 프로그램을 개발합니다.
•
업주/가게 정보를 효율적으로 제공하기 위한 시스템을 꾸준히 개선하고 발전 시키면서, 다른 시스템과 연동 가능한 MSA 기반의 대용량 처리 시스템을 만들어 가고 있습니다.
•
업주/가게들의 데이터를 다양한 형태로 제공 가능한 플랫폼을 만들기 위해서 확장성 있는 서비스 모델을 연구 및 개발 합니다.
•
한국, 나아가 전세계에 존재하는 가게 정보를 저장하고 손쉽게 운영 가능한 시스템을 개발하기 위해 우리는 오늘도 노력하고 있습니다.
이렇게 개발하고 있습니다.
1.
Jira를 이용해서 티켓을 생성하고 진행상황을 공유합니다.
2.
개발자와 기획자가 함께 요구사항을 분석하고 개발이 필요한 부분을 정리합니다.
3.
검토 및 정리된 내용을 기반으로 설계 및 개발하고 테스트코드를 작성합니다.
4.
로컬 환경에서 개발자테스트를 진행합니다.
5.
팀내 개발자들과 코드 리뷰를 진행합니다. (코드 수정 시 마다)
6.
코드 리뷰 피드백을 처리한 이후 개발 환경에 배포하고 사용자 테스트를 진행합니다.
7.
문제가 없는 경우에는 운영 환경에 배포하고 사용자 테스트를 진행합니다.
8.
정상적으로 배포한 이후에 충분히 모니터링 한 후 개발 완료 처리합니다.
저희는 이런 기술스택을 가지고 일하고 있어요.
•
AWS (EC2, ASG, ELB, SNS, SQS, S3, CloudWatch, RDS, CodeDeploy, … )
•
Java 11
•
Spring Boot 2.x, Spring Batch
•
Swagger
•
JPA & Querydsl
•
JUnit5
•
Gradle
•
MySQL
•
Git & Gitlab
•
NginX & Jenkins
•
ELK
•
Docker
•
Localstack
•
React
셀러상품플랫폼팀은 본인이 가진 역량을 팀원들과 나누며 팀으로 함께 개발을 하고 있습니다. 일을 하면서 문서화 하는 것을 습관처럼 하고 있어요. (WIKI와 같은 툴을 이용해서 작성하고 있습니다.)
함께 성장하는 개발문화를 가지기 위해 서로의 코드를 공유하며 스터디를 하고 있습니다. 열린 마음으로 지속적으로 수행하려고 노력하고 있습니다
최근엔 이런 것들을 하고 있어요.
•
셀러시스템의 데이터 변경을 타 시스템에 효율적으로 전파하기 위한 이벤트 모델링
•
셀러시스템 비즈니스 로직과 데이터 히스토리 보관, 타시스템과 연동에 필요한 것들을 분리
•
피트스탑 운영(기술부채 해소, 효율적인 API 문서관리를 위한 Swagger 적용 등)
아래와 같은 분들과 같이 하기를 원해요.
•
문제해결 능력과 커뮤니케이션이 원활하신 분
•
품질 좋은 소프트웨어 개발을 위해 지속적으로 노력해오신 분
•
새로운 시도를 통한 시스템, 문화 개선에 적극적이신 분
•
레거시를 비판적으로 수용하고 개선하려는 의지가 강하신 분
•
코드리뷰, 페어프로그래밍 등 팀의 개발문화에 적극적으로 참여하고 동료에게 자극을 주시는 분
•
사소한 경험이라도 wiki 등의 툴을 이용해 기록하고 공유를 잘 해주시는 분