소다기프트 백엔드팀은 글로벌 사용자들에게 24시간 장애 없는 서비스를 제공하기 위해 비즈니스 환경을 구축, 개발하고 있습니다.
소다기프트 백엔드팀은 이렇게 일하고 있습니다.
- 비즈니스를 어떻게 개발할까?
- Spring 기반 백엔드 비즈니스 로직을 개발합니다.
- 비즈니스는 JPA를 활용하여 DDD 설계를 진행합니다.
- 데이터를 어떻게 저장하고 관리할까?
- MySQL, Ehcache 에 데이터를 저장합니다.
- 슬로우 쿼리의 실행계획을 살펴보고 인덱스 설계 및 튜닝을 진행합니다.
- 테스트 코드를 작성하고 있을까?
- Junit5 기반의 테스트를 작성하고 AssertJ 로 검증합니다.
- 대용량 트래픽을 어떻게 대비하고 있을까?
- 트래픽 분산을 위해 독립된 서비스로 개발하고 배포합니다.
- AWS 기반 인프라에 서비스를 구축합니다.
- 코드 리뷰를 어떻게 할까?
- Github PR을 요청하고, Best Practice를 찾아 코드 리뷰를 진행합니다.
- 필요하면 페어 프로그래밍을 진행합니다.
- 지속적인 리팩토링을 진행하고 있을까?
- 매주 하루 디자인 패턴, 개발방법론 적용을 위한 미팅을 진행합니다.
- 서비스 배포 자동화가 되어있을까?
- Github, Jenkins, AWS 를 이용해 CI/CD 를 구축하였습니다.
- 서버 모니터링이나 로깅이 잘 구성되어 있을까?
- Elastic Stack(ELK), Slack, AWS CloudWatch 를 이용해 구축하였습니다.
- 서비스 도메인에서 경험 할 수 있는 것은 무엇일까?
- 글로벌 도메인에 필요한 언어, 시간, 환율을 고려한 개발 경험을 가질 수 있습니다.
- 이커머스에 필요한 결제, 상품, 배달, 인증을 개발하실 수 있습니다.
- 문서화는 하고 있을까?
- 테스트 기반 RestDocs 를 작성하고 프론트와 협업합니다.
- Wiki 와 Notion 을 이용하여 개발 과정을 기록합니다.
개발 문화 👫