ML Data Platform팀을 소개해요
만약 당근의 홈 화면의 중고 거래 게시글이 누구에게나 똑같이 최신순으로만 보인다면 어떤 모습일까요? 나는 아이가 없음에도 유모차나 육아용품이 뜨거나, 냥집사, 식집사임에도 관련 물품이 안보이고, 현재 관심 없는 의류나 가구, 미용용품이 보일 거예요. 이처럼 개인화 피드와 추천은 당근의 2,100만 MAU 사용자들이 당근을 더 잘 이용하기 위해서 필수적인 부분이에요.
피드실 ML 데이터 플랫폼 팀은 이러한 추천 시스템이 대규모 데이터와 트래픽 환경에서도 안정적으로 동작할 수 있도록, 피쳐 스토어와 추천 엔진 등 추천 시스템의 핵심 인프라를 직접 설계하고 운영하는 팀이에요.
🥕 추천 서빙 시스템 아키텍처: 높은 생산성을 위한 아키텍쳐 및 ML Flywheel | 2024 당근 테크 밋업
- 2,100만 MAU 사용자들의 추천을 위해 초당 100K+ 대용량 트래픽 요청을 p99를 넘어 p99.9 기준 30ms 이하로 처리하고 있어요.
- 이는 당근의 수백 개 백엔드 서비스 중에서도 손에 꼽히는 많은 처리량이에요.
- 그와 동시에 가능한 한 최신 정보로 추천하기 위해 여러 서비스의 데이터를 스트림으로 준 실시간 수집하고 처리하고 있어요.
- Kafka, GCP Pub/Sub에서 100+개의 이벤트 스트림을 처리해 1,000개가 넘는 피쳐를 피쳐 스토어에서 제공하고 있어요.
이런 일을 해요
- 추천 시스템에 필요한 추천 엔진, 피쳐 스토어, 임베딩 생성 플랫폼 등의 서비스들을 개발하고 운영해요
- 대규모 트래픽 환경에서도 안정적으로 동작할 수 있도록 성능과 비용을 지속적으로 최적화해요
- 데이터를 단순히 수집하고 저장하는 것을 넘어, 데이터 스트림 파이프라인과 LLM 기반 임베딩 벡터와 추론 결과를 추천 시스템에서 활용할 수 있는 환경을 구축해요
- 추천 품질과 데이터 품질을 더 잘 관찰할 수 있도록 모니터링 시스템을 구축해요
- 전사 다양한 팀이 쉽게 추천 기능과 데이터를 활용할 수 있도록 플랫폼의 사용성을 개선해요
이런 기술을 사용하고 있어요
- Go, gRPC, Protocol Buffers, Kafka, Redis, AWS DynamoDB, GCP Pub/Sub, GCP BigQuery
- Kotlin, Python, Apache Beam, GCP Dataflow, GCP Vertex AI
- Kubernetes, Istio, Grafana, Prometheus, Loki
ML Data Platform팀은 이렇게 일해요
- 서로 테크스펙과 코드를 리뷰하며 공유와 커뮤니케이션을 중요하게 여겨요
- 풀어야 할 문제와 요구사항에 대해 주도적으로 고민해요
- 실용적인 자세로 기술을 대하지만 필요하면 깊게 파고들어요
- 장애를 개인의 책임이 아닌 시스템으로 재발방지하고 팀의 성장의 기회로 삼아요
이런 문제를 같이 해결하고 싶어요
ML 데이터 플랫폼 팀에서는 추천 시스템을 견고하게 운영하며 사용자에게 더 좋은 컨텐츠를 추천해주기 위해 다음과 같은 일들을 하고 있어요
- 추천 시스템을 최적화해요
추천 시스템에서 처리해야 하는 트래픽과 데이터 규모는 빠르게 증가하고 있어요. 현재도 low-latency 환경을 유지하고 있지만, 앞으로 10배, 100배 규모에서도 안정적으로 동작할 수 있도록 시스템을 지속적으로 개선하고 있어요. 이를 위해 캐시 전략, 저장소 구조, 데이터 모델링, 네트워크 비용 등 시스템 전반을 함께 최적화해요. - 추천 시스템 고도화를 위한 플랫폼을 만들어요
추천 시스템이 발전하면서 임베딩 활용, 벡터 검색, 피쳐 로깅, 실시간 피쳐 처리 등 새로운 플랫폼에 대한 요구가 빠르게 증가하고 있어요. ML 데이터 플랫폼 팀은 이러한 기반 시스템을 직접 설계하고 운영하며 추천 시스템의 확장을 지원하고 있어요. - 추천 품질과 데이터 품질을 더 잘 관찰할 수 있는 시스템을 만들어요
추천 시스템은 단순히 결과를 빠르게 제공하는 것만으로 충분하지 않아요. 추천에 사용되는 피쳐의 지연시간이 얼마인지, 데이터 분포가 비정상적으로 변하지 않았는지 등 제공되는 데이터의 품질을 지속적으로 관찰할 수 있어야 해요. 우리는 이를 위한 데이터 품질 및 추천 품질 모니터링 시스템도 함께 만들고 있어요.
이런 분과 함께하고 싶어요
- 2년 이상의 경력이 있거나 혹은 그에 준하는 역량을 가지신 분
- 베스트 프랙티스대로 사용 가능한 프로그래밍 언어가 하나 이상 있고, 필요에 따라 새로운 언어를 배우는 데 거부감이 없는 분
- 분산 서비스 환경에서 신규 개발, 리팩토링, 고도화, 마이그레이션, 모니터링, 이슈 대응, 장애 대응, 프로파일링, 성능 최적화 등을 포함한 백엔드 서비스 라이프 사이클 전반에 대한 이해가 있으신 분
- ML 기반 시스템을 다뤄보는 것에 대해 관심이 있으신 분
위의 요구사항을 반드시 모두 만족해야 하는 것은 아니에요. ML 데이터 플랫폼 팀에서는 여러 배경과 경험을 가진 분들이 함께 성장할 수 있다고 믿으며, 위의 조건을 모두 충족하지 않더라도 열정과 가능성을 보여주실 수 있다면 기꺼이 환영해요!
이런 분이면 더 좋아요!
- 저지연 대규모 트래픽을 처리하는 고가용성 백엔드 서비스를 구축하고, 운영한 경험이 있으신 분
- Kafka, GCP Pub/sub, Dataflow 등을 이용해 데이터 파이프라인을 구축해본 경험이 있으신 분
- ML 모델의 학습부터 서비스 배포 및 개선까지 ML flywheel에 대한 경험이 있으신 분
FAQ
-
팀 이름에 ML이 있는데요. ML 실무 경험이나 깊은 이해가 필요한가요?
- 아니요, 저희 팀은 ML기반 추천 서비스를 지탱하기 위한 고성능의 시스템을 만드는게 팀의 비전이기 때문에 Software Engineering 역량을 핵심으로 생각하고 있어요.
- 팀에 조인하면 실무적인 ML과 추천에 도메인 지식을 습득해서 적응하실 수 있으니 해당 부분은 걱정하지 않으셔도 돼요.
- 다만 팀 업무에 흥미를 위해서는 ML이나 추천 시스템에 많은 관심이 있기를 기대하고 있어요.
-
팀에서 작성한 블로그 글이 있나요?
참고해 주세요
- 화상 면접에서 이력 기반 질문과 라이브 코딩 테스트가 있을 예정이에요
- C++, Go, Java, Python 언어로 진행하실 수 있어요
- 직무 면접에서 시스템 설계 테스트가 진행될 예정이에요
- 정규직 채용의 경우 3개월의 수습기간이 있어요
- ‘장애인고용촉진 및 직업재활법’, ‘국가유공자 등 예우 및 지원에 관한 법률’에 따라 장애인 및 보훈대상자는 채용 전형 시 우대하고 있어요
이렇게 합류해요
1. 서류 전형 → 2. 화상 인터뷰(라이브 코딩 테스트) → 3. 직무 인터뷰 → 4. 컬처핏 인터뷰 및 레퍼런스 체크 → 5. 처우협의 → 6. 최종 합격 및 입사