'Sr. Machine Learning Software Engineer'

Seoul
Hyperconnect – AI/ML 직군 집중채용 /
Full-time /
Hybrid
하이퍼커넥트 Machine Learning Software Engineer (MLSE)는 사람과 사람 사이를 연결하는 서비스에서, 소프트웨어 엔지니어링을 통해 머신러닝 기술을 서비스에 적용하고 사용자 경험을 혁신하는 일을 합니다. 사내 AI 조직에서 만든 영상/음성/문자/추천 등을 포함하여 다양한 도메인의 수많은 모델을 프로덕션에 적용하고, 모바일 및 클라우드 서버를 통해 안정적으로 제공하면서 마주하는 엔지니어링 문제들을 해결하며, 우리가 만들어 내는 기술이 실제 서비스의 성장에 기여하는 것을 목표로 합니다.

이러한 목표 아래 하이퍼커넥트의 ML Software Engineer는 아자르, 하쿠나 등 하이퍼커넥트의 여러 제품들에 기여하는 머신러닝 기술들을 수년간 발전시켜 나가고 있으며, 이렇게 축적된 기술들을 S&P 500 편입사인 매치그룹의 다양한 글로벌 비즈니스 서비스에도 손쉽게 활용하기 위한 기술을 개발하고 있습니다.

ML Software Engineer는 우리가 보유한 모든 AI 기술을 제품에 적용하여 비즈니스 임팩트를 낼 수 있도록 하며, 지속 가능한 시스템을 개발하여 AI 기술의 적용이 가속화 되도록 하는 것을 목표로 합니다. 이 목표를 달성하기 위해 (1) ML 모델 기반의 확장성 있는 백엔드 서버를 개발하며, (2) ML 모델 추론을 위한 실시간 데이터 파이프라인을 개발/운영하고, (3) 다른 팀들과 협업하여 공통으로 관리할 수 있는 ML 컴포넌트를 플랫폼화하는 작업까지 수행합니다. 그 과정에서 다른 직군과도 밀접하게 협업하면서 KPI 달성에 도달하기 위해 필요로 하는 모든 과정(문제 정의, 가설 설정, 실험 설계, 분석 및 피드백)에 참여하며 주도적으로 업무를 진행하고 있습니다. 일하는 모습에 대한 조금 더 자세한 이야기는 다음의 내용을 참고하시면 좋습니다.

AI Platform Dev Team 인터뷰
ML Application Team 인터뷰
Head of AI - Shurain 인터뷰
AI in Social Discovery (Blending Research and Production)

ML Software Engineer들이 풀고 있는 재미있는 문제들은 Tech blog에 업로드 하고 있습니다.
ksqlDB를 이용하여 실시간 ML 피쳐 데이터를 계산하기
고성능 ML 백엔드를 위한 10가지 Python 성능 최적화 팁
머신러닝 모델 서빙 비용 1/4로 줄이기
이벤트 기반의 라이브 스트리밍 추천 시스템 운용하기
머신러닝 어플리케이션을 위한 데이터 저장소 기술


업무 환경

[국내 최상위 수준의 AI 조직]
탑티어 AI/ML 학회에 논문을 주기적으로 출판하는 Machine Learning Engineer 및 Machine Learning Research Scientist 들과 함께 일하고 있습니다. 하이퍼커넥트에서 출판한 논문은 여기서 확인해보실 수 있습니다.

[풍부한 MLOps 노하우]
50개 이상의 모델을 프로덕션에서 사용하고 있을 만큼, MLOps에 대한 노하우가 풍부한 조직에서 일할 수 있습니다.
Deview 2023 - 실시간 추천 시스템을 위한 Feature Store 구현기
Deview 2021 - 어떻게 더 많은 모델을 더 빠르게 배포할 것인가?
초고성능 딥러닝 클러스터 구축하기 1편


담당 업무

하이퍼커넥트는 제품에 머신러닝 기술을 적용하기 위해 다양한 방면으로 노력하고 있습니다. 하이퍼커넥트의 ML Software Engineer는 크게 다음과 같은 4가지 분야 중 한 가지 이상의 업무를 수행하게 됩니다.

[머신러닝 기반의 백엔드 어플리케이션 설계 및 구현]
하이퍼커넥트와 매치그룹에서 운영 중인 서비스들의 품질을 높이기 위한 다양한 머신러닝 기반의 백엔드 서비스 (FastAPI, Spring)를 개발합니다. 글로벌 스케일에서 실시간 동작이 가능하도록 성능 관점에서의 많은 고민과 함께 설계되고 있으며, 팀에서 운영 중인 마이크로서비스들은 전사 내에서도 가장 높은 수준의 트래픽을 처리하고 있습니다.
• 개인화 추천 시스템 및 검색 시스템 (Azar, Hakuna, 매치그룹 내의 서비스들)
• 지속적으로 모델을 개선하는 AI Flywheel 시스템 개발
• Trust & Safety를 위한 모더레이션 시스템 및 플랫폼 개발
• 영상, 음성 및 자연어 등의 비정형 데이터를 해석 가능한 형태로 변환해 주는 사내 API 서버

[모델 추론을 위한 실시간 데이터 파이프라인 개발]
실시간 이벤트를 가공하여 모델 추론에 활용할 수 있게 하는 파이프라인(Apache Flink, KSQL)을 개발합니다. 피쳐를 빠르고 안정적으로 수집, 가공, 서빙하기 위한 시스템(ex. streaming application, feature store)을 고민하고 설계합니다. 때로는 파이프라인 개발 과정에서 모델 성능을 향상시키는 피쳐를 선제적으로 발굴하기도 합니다.

[머신러닝 기능이 탑재된 클라이언트 SDK 개발]
하이퍼커넥트와 매치그룹의 모바일 어플리케이션에 탑재되는 머신러닝 SDK를 개발하고 운영합니다. 하이퍼커넥트에서 개발하는 SDK는 전 세계 각지에서 사용되는 수많은 디바이스에서 동작할 수 있어야 하기에, 매우 높은 안정성을 목표로 하며 개발되고 있습니다. 더불어 최고 성능의 머신러닝 API를 제공하기 위해 지속적으로 업데이트될 수 있어야 하며, 이를 위해 Scalable 한 백엔드 플랫폼도 함께 개발하고 있습니다.

[머신러닝 기반의 신규 서비스 PoC]
하이퍼커넥트는 제품에 기여하는 다양한 머신러닝 기술을 연구 및 개발하고 있습니다. 사내에서 개발된 새로운 머신러닝 모델의 비즈니스 임팩트를 측정하기 위해서는 Proof of Concept(PoC)가 필요한 경우가 많은데, MLSE는 PoC 프로덕트를 개발하는 역할을 하기도 합니다. PoC 프로덕트 개발을 통해 개발 사이클을 짧게 줄이고 더 많은 이터레이션을 돌게 함으로써, 모델 개선이 더 빠르게 이뤄지도록 합니다.

Sr. Machine Learning Software Engineer는,
위 4가지 업무 이외에도 다양한 기술 프로젝트를 리딩하고 비즈니스 지표를 상승시키기 위한 작업들을 수행합니다. Sr. MLSE는 팀의 시니어로서 퀄리티 높은 코드 리뷰, 페어 프로그래밍, 확장성 있는 시스템 설계, 팀에 모범이 되는 기술 문서 작성, 안정성을 위한 모니터링 시스템 구축하는 등의 작업에 책임이 있습니다. 이 밖에도, 팀의 소프트웨어 엔지니어링 역량을 한층 끌어올리기 위한 다양한 작업을 제안하고 수행합니다.

Sr. MLSE는 엔지니어링 작업 이외에도 회사의 성장을 위해 다양한 역할을 수행합니다. Cross-team 프로젝트에 참여하면서 다양한 팀의 구성원들과 커뮤니케이션하여 프로젝트의 성공을 이끌어 나갑니다. 팀의 주니어 엔지니어들이 성장할 수 있도록 다양한 방면으로 고민하고 기여하는 것 또한 Sr. MLSE의 중요한 역할 중 하나입니다.


지원 자격

    • 기술 프로젝트를 리딩하고, 다른 엔지니어의 성장을 도와본 경험이 있으신 분
    • 단기적/장기적 관점을 모두 고려하여 좋은 기술 관련 의사결정을 하실 수 있는 분
    • CS fundamentals (운영체제, 컴퓨터 시스템 아키텍처, 자료구조 및 알고리즘)에 대한 탄탄한 기본지식을 보유하신 분
    • ML 모델을 서비스에 배포하기 위해, 여러 직군의 이해관계자와 협업할 수 있는 강력한 커뮤니케이션 능력과 엔지니어링 역량을 갖추신 분
    • 공동의 목표 달성을 위해 서로 협력하고 서로에게 도움을 요청할 수 있는 긍정적이고 상호 존중하는 팀워크 자세를 보유하신 분
    • Java, Kotlin, Python, JavaScript, Go 중 한가지 이상 언어에 능숙하고, 그 외 프로그래밍 언어를 학습하여 사용이 가능하신 분
    • 학위나 국적은 무관합니다.


우대 사항

    • 머신러닝 모델의 학습부터 서비스 배포까지 해보신 경험이 있으신 분
    • 추천, 생성형 AI 등 최신 ML 기술을 활용한 어플리케이션 개발 및 프로덕션 운영 경험이 있으신 분
    • 실제 서비스에 AI 기술을 통합하고 주요 지표를 유의미하게 향상시켜 본 경험이 있으신 분
    • 엔지니어링 팀을 리드해본 경험이 있으신 분
    • 대규모 트래픽을 처리하는 백엔드 서버 개발 경험이 있으신 분
    • RDBMS 혹은 DynamoDB, Cassandra 등 분산 데이터베이스에 대한 이해가 있으신 분
    • Spark, Flink 등 대용량/실시간 처리를 위한 분산/병렬 시스템 개발 경험이 있으신 분
    • 영어에 능통하신 분


How We Work

    • 정의되지 않은 과제를 정의하고 스스로 해결책을 찾아 해결할 수 있는 분
    • 팀 단위 프로젝트를 성공적으로 리딩하며 팀간 협업을 이끌며 다른 기능의 직군 파트너와 협업을 하는 분
    • 팀 안팎으로 커뮤니케이션하며 내 메시지를 청자에 맞추어 적절한 수준에서 명확하고 간결하게 제시할 수 있는 분
    • 팀간의 협업을 돕고 결과를 만들어낼 수 있도록 지원할 수 있는 분


Hiring Process

    • 고용 형태: 정규직
    • 채용 절차: 서류전형 > 코딩테스트/사전과제 > Recruiter Call > 1차 면접 > 2차 면접 > 3차면접(해당 시) > 최종합격 (일부 순서가 변경될 수 있습니다.)
    • 근무 시간: 근무시간을 자율적으로 선택하는DIY(Do It Yourself) 근무제 (단, 병무청 복무규정에 따라 산업기능요원, 전문연구요원은 시차출근제 적용 - 오전 8시 ~ 11시 사이 출근)
    • 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)


etc

    • 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
    • 수습기간 중 급여 등 처우에 차등이 없습니다.
    • 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
    • 필요 시 사전에 안내된 채용 절차 외에도 추가 면접 전형이 진행될 수 있습니다.
    • 필요 시 지원자의 동의 하에 평판조회 절차가 진행될 수 있으며, 평판조회 결과에 따라 채용이 취소될 수 있습니다.
    • 이 포지션은 산업기능요원 보충역 편입/전직, 전문연구요원 현역 편입/전직, 전문연구요원 보충역 편입/전직 채용이 가능합니다. 병역특례요원의 경우, 병역특례 관련법에 따라 복무관리를 진행합니다. (*전문연구요원 현역 신규편입 TO가 선착순 마감될 수 있으며, 전형 진행 중 TO가 마감될 경우 별도 안내 드리겠습니다.)




하이퍼커넥트가 채용하는 포지션에 지원하는 경우, 개인정보 처리에 관하여서는 본 개인정보처리방침이 적용됩니다: https://career.hyperconnect.com/privacy