Software Engineer, Backend | ML Data Platform
About the role
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 Big Query
-
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이나 추천 시스템에 많은 관심이 있기를 기대하고 있어요.
팀에서 작성한 블로그 글이 있나요?
네, 아래의 글을 참고 해주세요
How Karrot built a feature platform on AWS, Part 1: Motivation and feature serving
참고해 주세요
- 화상 면접에서 이력 기반 질문과 라이브 코딩 테스트가 있을 예정이에요
C++, Go, Java, Python 언어로 진행하실 수 있어요
-
직무 면접에서 시스템 설계 테스트가 진행될 예정이에요
-
정규직 채용의 경우 3개월의 수습기간이 있어요
-
‘장애인고용촉진 및 직업재활법’, ‘국가유공자 등 예우 및 지원에 관한 법률’에 따라 장애인 및 보훈대상자는 채용 전형 시 우대하고 있어요
이렇게 합류해요
- 서류 전형 → 2. 화상 인터뷰(라이브 코딩 테스트) → 3. 직무 인터뷰 → 4. 컬처핏 인터뷰 및 레퍼런스 체크 → 5. 처우협의 → 6. 최종 합격 및 입사
Benefits and perks
•Healthcare
•Retirement Plan
•Paid Time Off
Required skills
Backend development
APIs
Platform engineering
Data workflow design
SQL
About 당근(Daangn)