중계시스템 팀 구성
중계시스템팀은 기획직군, 개발직군이 하나의 팀을 이루어 함께 업무를 진행하고 있습니다.
보통 회사 보통 팀과 같이
•
기획자는 기획을 진행하고,
•
개발자는 개발을 진행하지만,
역할에 얽매이기 보다는 팀에서 창출되는 프로덕트를 위해 전 과정을 함께 고민하고 토론하면서 업무를 진행하고 있습니다.
중계시스템 팀의 그라운드 룰
중계시스템팀은 회사 문화와 별개로 팀에서 생활하면서 지켜야 할 그라운드룰을 가지고 있는데요.
어떤 팀인지 느끼실 수 있을 것 같아서 가볍게 소개드립니다
중계시스템팀 구성원이 꼭 지켜야 할 내용 - 회의 편
1.
제가 잘 몰라서, 이런 질문해도 될지 모르겠지만 / 해당 언어 금지
2.
눈치보지 말고, 허락 받지 말고 궁금한 사항은 그냥 질문하기
3.
회의 시간 준수하기
4.
왜 회의를 하는지 목적을 이해하자 (불필요한 회의 nono)
중계시스템팀 구성원이 꼭 지켜야 할 내용 - 생활 편
1.
메신저에 글 쓰면 확인했는지 유무를 판단할 수 있게 적절한 리액션(대답)하기
2.
자기 의사를 명확하게 표현하기
3.
불필요한 야근을 줄이고 건강을 챙기자
4.
야근보고, 주간보고, 휴가자 팀 캘린더 등록 등 기본적인 내용을 잘 지키자
중계시스템팀 구성원이 꼭 지켜야 할 내용 - 식사 편
1.
밥은 돌아가면서 시키자
2.
(오프라인) 식사 결제는 돌아가면서 하자
3.
토스는 빨리빨리 보내자
4.
밥 (메뉴) 시킬 때 빨리 답장을 해라
이 밖에 업무 편 / 장애 편 등 여러가지 항목이 있습니다. 팀리더가 지시하는 문화가 아닌 팀구성원들이 같이 만들어나가는 문화를 가지고 있습니다
중계시스템팀의 역할
중계시스템팀은 배달의민족 앱에서 사용자가 주문을 한 이후 프로세스를 담당하는 팀입니다.
배달의민족에서 발생하는 주문과 각 배달대행 업체로부터 받은 정보를 활용하여
가게 사장님의 경험과 사용자의 경험 모두를 더 나은 경험으로 만들기 위한 고민을 끊임없이 진행하고 있습니다
•
배달의민족에서 일어나는 주문 ( + 다양한 정보)을 가게 사장님께 전달해주는 역할
•
배달대행사로부터 배달 상태 정보를 받아서 배달의민족 배달현황 페이지 고도화 기반을 마련 하는 역할
•
가게 사장님과 고객님의 개인정보를 보호하기 위한 안심번호 및 가상번호 서비스까지
위에 적은 업무들이 중계시스템팀의 메인 역할에 해당합니다.
가게 사장님이 사용하시는 배민주문접수 PC 예시화면
가게사장님들이 고객의 주문을 확인하고 처리할 수 있는 기반을 마련해주는 역할을 수행하며,
가게 운영에 필요한 전반적인 편의 기능을 제공하기 위해 노력합니다.
사용자가 배달현황을 확인할 수 있는 화면
조리 이후의 배달 과정까지 사용자가 확인할 수 있도록 데이터를 수집하고 제공하는 역할을 수행합니다.
기획자로서 얻을 수 있는 것
•
기획 범위를 넘어 프로덕트 매니저로 성장할 수 있어요.
◦
유관 부서 및 외부 업체와의 협업이 많은 중계시스템팀 특성상 큰 규모의 프로젝트를 경험 할 수 있는 기회가 많이 있습니다. 이런 경험은 프로젝트를 넘어 프로덕트 측면에서 고민하고 성장할 수 있는 계기가 됩니다.
•
다양한 (너무나도 충만한) 커뮤니케이션 경험
◦
팀 특성상 유관부서 및 외부 업체와의 협업 포인트가 많아 커뮤니케이션 능력을 키울 수 있습니다
•
다양한 클라이언트 기획 경험
◦
iOS / Android / Window PC클라이언트 / 외부 제휴 POS 등 다양한 클라이언트 환경을 경험하고 기획할 수 있습니다.
•
기획자는 기획만 할 줄 알아야 한다? 백앤드 기획 능력을 향상 시킬 수 있는 다양한 분야를 학습할 수 있습니다.
◦
전 세계 통틀어도 이보다 뛰어날 수 없는 팀 내 개발자 분으로부터
내부 시스템 아키텍쳐, 기술 스택에 대한 교육을 받을 수 있는 환경이 마련되어 있습니다.
◦
사소한 버그도 그냥 지나치면 알러지가 돋는 QA 담당자에게 배우는 품질 검수 노하우까지.
개발자로서 얻을 수 있는 것
•
고가용성 시스템 경험
◦
배달의민족에서 발생하는 모든 주문은 가게 사장님들에게 반드시 전달될 수 있도록 시스템을 구성해야 합니다.( 주문 전달이 되지 않는다면 가게 사장님들이 준비한 음식 재료들을 버려야 할 수도 있어요. )
◦
이중화는 반드시 해야하며 SPOF 를 제거하기 위해 노력합니다.
•
대용량 트래픽 처리 경험
◦
배달의민족에서 발생하는 모든 주문은 가게 사장님들에게 동일하게 전달되어야 합니다. ( 배달의민족앱 주문수 = 가게 사장님들이 받게 되는 주문수 )
◦
API 하나를 만들더라도 트래픽에 대한 고민을 통해 대용량 트래픽 설계 능력을 기를 수 있습니다.
•
다양한 클라이언트 환경에 대한 경험
◦
가게 사장님들이 사용하는 채널 : 안드로이드/iOS 모바일 앱, Windows PC 주문접수 앱, 외부제휴POS
◦
실제 가게 사장님들에게 도움되는 모든 솔루션을 고민하고 적용하고자 합니다.
◦
다양한 클라이언트에서 API 호출이 발생하므로 보안도 중요한 사항입니다.
기술 스택
중계시스템팀은 아래와 같은 기술 스택으로 개발이 진행되고 있습니다.
공통
•
Language : Java, Node.js
•
Infra : AWS 를 100% 사용합니다
◦
Elastic Beanstalk, EC2 : Api, Worker, Batch 서버
◦
SNS, SQS : 이벤트 전달, PUB/SUB
◦
RDS(Aurora), Elastic Cache (Redis)
◦
Lambda (with node.js)
•
버전관리 : Git (gitlab)
•
Web & Was
◦
Nginx
◦
Tomcat
•
Framework & Library
◦
Spring Boot 1.5.x ~ 2.2.x
◦
Spring Data JPA / Mybatis
◦
MQTT
•
Test : Junit & Spock
•
Build & Deploy
◦
Gradle
◦
Jenkins / 전사배포플랫폼
•
Monitoring
◦
CloudWatch
◦
Grafana
◦
Pinpoint
◦
Kibana
이런 분들과 함께 일하고 싶어요
•
혼자 일하기 보다는 팀으로 일하는 걸 좋아하시는 분
•
인상을 찌푸리기 보다 활짝 웃으면서 일할 수 있는 분
•
화려한 코드 실력보다 운영하기 쉬운 코드를 중요하게 생각하시는 분
•
업무를 작게 나누어 완료하는걸 좋아하시는 분
•
꾸준히 학습하고 노력하시는 분
•
코드 외에 문서화와 공유를 생활화 하시는 분
•
팀원, 직장동료, 다른 회사 사람들과 커뮤니케이션이 원활하신 분