3,000만 디바이스, 30만 RPM, 하루 10억 건 이상의 유니크 세션. 이 모든 빅데이터를 수집 및 처리하고 분석하는 Python 기반의 백엔드 서버 프로그래밍이 주요 업무로 엔지니어링의 끝단에서 모바일 광고의 최신 기술을 직접 경험합니다. 단순히 코드의 로직뿐만 아니라, DevOps 엔지니어와 함께 아키텍처와 인프라, 데이터 구조에 대한 다양한 실험과 모니터링을 진행하게 됩니다. Python으로 할 수 있는 최극단까지 함께 갈 수 있는 좋은 분을 모셨으면 좋겠습니다.
―――――
우리는 이런 백엔드 개발자를 찾습니다
- Python Flask를 이용한 RESTFul API 서버 개발에 능숙하신 분
- HTTP 요청 메소드들 간의 차이와 HTTP 응답 코드들의 의미를 이해하시는 분
- Flask의 각종 Context에 대한 지식을 가지신 분
- RDB에 대한 이해와 SQL문 사용에 능숙하신 분
- 인덱스나 외래키에 대한 개념, 사용 이유, 효과 등을 자세히 알고 계신 분
- Aggregate-oriented NoSQL DB에 대한 이해와 사용에 능숙하신 분
- 'TDD', 'Pull-Request', '회고(Retrospective) 회의', '지속적 통합'과 같은 단어가 낯설지 않으신 분
- 동료와의 커뮤니케이션과 협업이 즐거우신 분
―――――
이런 경험이 있다면 더 좋습니다
- 순식간에 많은 양의 요청을 안정적으로 처리하는 백엔드 어플리케이션을 구축해보신 분
- AWS(Amazon Web Services) 사용 경험 보유
- 숫자(특히 통계)에 밝으신 분
- 메시지 큐를 이용한 느슨한 결합에 대한 개념을 이해하고 계신 분
- 작업물을 글로 잘 표현할 수 있는 문서화 능력 (개인 블로그 환영!)
- 오픈소스 프로젝트 활동 (GitHub 계정 환영!)
- 세상의 귀찮은 모든 것들을 자동화 하지 않고는 버틸 수 없는 개발자다움
―――――
ab180 백엔드 개발자 업무
백엔드 파트는 크게 메인 통계처리 로직과 대시보드용 로직을 만듭니다. 통계처리용 로직의 경우에는 주로 데이터 수집 API 구축에서부터, 큐로 해당 데이터를 보내어 워커로 처리하고, 통계 서머리용 테이블에 넣는 일체의 로직을 엔드투엔드로 구축합니다. 대시보드용 로직은 통계 서머리용 테이블에 있는 내용을 합산하여 사용자에게 보여주는 일을 하며, 이외에도 트래킹 링크 생성, AWS S3/iTunes Connect 등 각종 서드파티들과 서버대 서버로 연동하는 기능 등 다양한 기능을 포괄합니다. 데이터가 하나의 엔드포인트로 들어와서 DNS, WAS, 큐, 워커를 거쳐서 인메모리 캐시 레이어, DB 레이어, 로우데이터 로그성 레이어, 데이터 웨어하우스 레이어로 흩뿌려지고, 스피드 레이어에서 실시간으로 혹은 배치성 레이어에서 크론잡으로 처리되는 일체의 로직을 구축하는 역할을 맡습니다.