Software Engineer, Machine Learning - 운영개발

  • 당근
  • 정규직
  • 경력

운영개발팀을 소개해요

운영개발팀은 사용자들이 믿고 쓸 수 있는 안전한 당근을 만드는 팀이에요. 당근에서 일어날 수 있는 사건사고를 기술적으로 예방하고, 운영 업무를 소수정예로 처리할 수 있는 좋은 툴을 제공해요. 사용자가 고객센터를 방문해서 긍정적인 경험을 할 수 있도록 지속적으로 개선하고, 사용자의 좋은 피드백을 수집할 수 있는 툴을 개발해요. 당근의 사용자, 운영 자회사인 당근서비스, 당근의 내부 팀원들이 운영개발팀의 고객들이며, 당근을 떠올렸을 때 느껴지는 따뜻함을 만들기 위해, 보이는 곳과 보이지 않는 곳에서 노력하는 팀이에요.
운영개발팀 ML 엔지니어들은 위의 목표를 가능하게 하기 위해 ML 기술을 활용한 운영 자동화와 선제적인 어뷰징 탐지에 집중하고 있어요.
운영개발팀이 일하는 방식과 문화에 대해서는 당근 블로그에 올려둔 글에서 자세히 살펴볼 수 있어요! 🙂

운영개발팀 ML 엔지니어는 이런 기술을 주로 사용하고 있어요

TFX, Tensorflow Serving, BigQuery, Kubeflow, Google Cloud Dataflow, Apache Beam, Pinecone, Ruby on Rails

  • 운영개발팀 멤버들이 발표한 내용을 담은 아래 영상에서 좀더 자세한 이야기를 들어볼 수 있어요.

이런 문제를 해결하고 싶어요

증가하는 운영 업무를 자동화해서 한정된 리소스로 좋은 운영을 할 수 있도록 도와요

당근의 서비스 규모는 글로벌을 포함하여 해가 갈 수록 커지고 있어요. 서비스 규모에 비례하여 운영 업무가 증가한다고 가정한다면 운영 처리 리소스가 크게 증가할 것을 예상할 수 있어요. 우리는 전사 서비스의 신고를 자동으로 처리하는 시스템, 문의답변을 위한 정보를 자동으로 탐색하고 답변을 생성하는 시스템, 다양한 사용자의 목소리를 자동으로 분석해 당근의 메이커들에게 전달하는 시스템 등을 구현하여, 당근의 운영이 소수정예로 스마트하게 처리될 수 있도록 지원해요.

유해성 행위와 컨텐츠를 빠르게 탐지하여 사용자를 보호해요

당근을 방문하는 1,800만 명 사용자 사이에서는 매일 수많은 연결이 만들어지고 있어요. 이웃들이 연결되는 과정에서 유해성 행위와 컨텐츠도 같이 발생하고 있어요. 이를 빠르고 효율적으로 탐지하여 사용자들이 유해성 행위와 컨텐츠를 마주하지 않도록 노력해야 해요. 어뷰징 패턴은 지속적으로 고도화 되고 있고 빠르게 변화하기 때문에 머신러닝 모델이 이를 대응하도록 만드는 것은 도전적인 일이에요. 당근 서비스에 책임감을 가지고 어뷰저와 창과 방패의 싸움을 벌이며 모델을 개발, 적용, 개선할 의지가 필요해요.

이런 분과 문제를 해결하고 싶어요

아래 모든 것에 해당하지 않아도 괜찮아요. 다만 팀에 합류한다면 적극적으로 학습하고 발전해 나가야 하고, 필요에 따라 깊은 수준으로 이해하고 적용할 수 있어야 해요.

  • 머신러닝 모델 full-lifecycle 엔지니어링에 익숙하고, 프로덕션 환경에 배포된 모델을 긴 시간 성능을 유지하며 관리한 경험이 있으신 분
  • 클라우드 및 분산 컴퓨팅 환경을 이용하여 모델을 개발하는 것에 익숙하신 분
  • 대규모 데이터를 핸들링하여 모델 피쳐로 가공하거나 학습 데이터로 사용한 경험이 있으신 분
  • 하나 이상의 프로그래밍 언어 사용에 능숙하고 서버 엔지니어링 작업에 두려움을 느끼지 않는 분
  • 최신 머신러닝, 딥러닝 트렌드에 관심이 있고 관련 논문 읽는 것을 즐기시는 분
  • 서비스 운영 도메인에서 일해본 경험이 있거나, 서비스 운영자들과 협업하며 이들의 업무 고충을 공감하고 개선해 보려는 시도를 해보신 분
  • 서비스에 애정을 가지고 유해성을 제거하는 일에 책임감을 느낄 수 있으신 분
  • 반복되는 업무를 ML을 활용하여 자동화 해 본 경험이 있거나, 업무 자동화에 대해 깊이 있는 고민을 해보신 분
  • 자신이 개발한 ML모델이 문제를 해결하는지, 어떤 가치를 만들어 내는지까지 깊이 관심을 가지는 분

이런 성장을 이룰 수 있어요

머신러닝 기술로 실제 서비스에 가치를 만들 수 있어요

당근의 머신러닝 엔지니어는 이론적인 연구만 진행하거나, 실험실에만 존재하는 문제를 풀지 않아요. 모델을 배포하면 내가 정의한 서비스 지표가 크게 움직이는 것을 관찰할 수 있고, 모델 로직에 대한 사용자의 피드백을 빠르게 확인할 수 있어요. 우리가 고민해서 만든 기능들을 통해 사용자들이 어뷰징으로부터 보호받고, 서비스 운영자들이 효율적으로 업무를 진행하는 걸 보면서 보람을 느껴요.

머신러닝 엔지니어링 사이클에 대한 오너쉽을 가지고 개발할 수 있어요

당근 내에 서비스 종류가 많고 규모가 큰 만큼 어렵고 복잡한 운영 업무에 직면하고 있어요. 운영개발팀의 머신러닝 엔지니어는 주도적으로 어떤 문제를 해결할 수 있을지 탐색하고 설정해요. 오너쉽을 가지고 모델을 설계하고 테스트와 적용, 개선을 통해 문제를 해결하는 과정에서 넓은 범위의 머신러닝 엔지니어링을 깊이 경험할 수 있어요.

대규모 트래픽을 소화할 수 있는 ML 시스템을 만들어요

운영처리를 위해 전사 서비스의 트래픽이 운영개발팀 서버를 거쳐가고 있어요. 대규모 트래픽에 대한 빠른 운영처리를 위해 모델 서버의 처리속도와 모델과 통신하는 백엔드 시스템의 성능 개선이 중요한 과제예요. 또한 대규모 데이터를 다루기 위해 클라우드 환경에서 분산 처리를 구현하는 것도 필요해요. 해결하려는 문제와 연관된 모든 시스템을 직접 설계하고 구현하면서 한정되지 않은 다양한 문제를 마주하고 해결하는 즐거움을 느낄 수 있어요.

참고해 주세요

  • 화상 면접에서 라이브 코딩 테스트와 ML 관련 기초 질문, 직무 면접에서 시스템 디자인 인터뷰가 진행될 예정이에요
  • 정규직 채용의 경우 3개월의 수습기간이 있어요

이렇게 합류해요

1. 서류 전형  →  2. 화상 면접  →  3. 직무 면접  →  4. 컬처핏 면접  →  5. 최종 합격  →  6. 최종 합격 및 입사

👉당근 합류 여정 가이드 바로가기(🔗)

목록으로 돌아가기