Backend Software Engineer (Streaming Data Application)

Hinge (View all Jobs)

Seoul

Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄


Interview Process

1. Hiring manager screen 2. Take-home project 3. Discussions via Zoom that include pair-programming to iterate on homework and culture-fit interview

Programming Languages Mentioned

SQL


[Azar - Matching Dev Team 소개]

하이퍼커넥트의 대표 Product인 Azar 는 2013년 첫 출시 이후 지금까지 많은 유저들에게 사랑받고 있습니다. 8년이 넘는 기간동안 서비스의 핵심 기능으로는 즉각적으로 영상을 통해 새로운 사람들을 만나는 기회를 제공하는 1:1 Video Chat이 굳건하게 자리를 지키고 있습니다. 많은 후발 주자 서비스들이 등장했음에도 이러한 Instant Video Chat 시장의 선두를 지키고 있고, 하루에 수천만건의 대화를 연결시켜 주고 있습니다. 틴더와 같은 유명한 데이팅 서비스들을 다수 보유하고 있는 매치그룹에 하이퍼커넥트가 인수된 이후에도 아자르의 Video Chat이 가지고 있는 전세계의 시장의 유저들과 창출하는 수익은 여전히 중요하게 여겨지고 있습니다.

아자르 매칭개발팀에서는 초당 몇백건씩 들어오는 유저들의 요청을 받아 빠르게 대화할 상대방을 논리적으로 결정하는 Match Making을 담당하고 있습니다. 유저의 직접적인 선호와 국가와 언어와 같은 간접적인 Context 를 모두 고려해 유저들에게 좋은 경험을 진행할 수 있는 상대방을 정해주면서도, 동시에 적절한 성능 튜닝을 통해 유저가 기다리는 대기시간을 최소화해야 한다는 까다로운 문제를 풀어나가고 있습니다.

현재 매칭 개발팀에서는 이러한 문제를 풀기 위해 분산 스트리밍 데이터 처리 엔진인 flink를 메인으로 사용하고 있습니다. flink를 통해 실시간으로 들어오는 사용자들의 요청들을 event-driven 방식으로 처리하고, 트래픽에 따라 유연하게 어플리케이션을 확장할 수 있게 하며, 분산 처리의 핵심인 로드 밸런싱을 쉽게 커스터마이징 하고 있습니다. 또한 flink 는 stateful streaming 을 지원하기 때문에 사용자의 컨텍스트를 flink state 로 저장하여 낮은 latency 를 유지하면서도 Match Making 알고리즘 성능을 개선시킬 수 있었습니다.

대부분의 일들은 뛰어난 동료들을 자랑하는 다른 팀들과의 협업으로 진행됩니다. AWS 기반 Kubernetes 환경에서의 배포와 인프라 관리를 DevOps팀의 도움을 받아 진행하고 있고, WebRTC 통신이나 ML Model을 전문적으로 연구하는 개발팀들과도 긴밀하게 일하게 됩니다. 이러한 체계적인 개발 환경에서 팀의 고유 개발 영역과 그 목표를 달성하는 것에 집중하려고 하고 있습니다.

아자르는 글로벌 서비스로 대부분의 유저들이 한국이 아닌 글로벌 유저들입니다. 이러한 서비스 특성상 다양한 국가의 유저들의 언어, 특수한 문화, 법률, 특성과 같은 평소에 접하기 힘든 부분을 고려한 기획을 접할 수 있고, 이러한 요구사항을 유연하게 다루기 위한 설계 역시 필수적입니다. 글로벌 서비스에서 보편적이면서도 지역적 특색을 살려 비지니스 효과를 높이는 프로젝트들을 접할 수 있습니다.


Responsibilities
  • 서비스 유지보수 및 안정성 확보
  • - 동시에 많은 요청을 처리하는 고가용성 서비스를 유지보수합니다
    - 능동적인 모니터링을 통해 잠재적인 이슈를 발굴하고 예방합니다
    - 장애 상황에서의 이슈를 빠르게 대응합니다

  • 서비스 피쳐 개발 지원
  • - 클라이언트 업데이트를 위한 매칭 관련 신규 기능 개발을 지원합니다
    - ML Model 을 로직에 연동하고, 다양한 수요에 따른 Dynamic한 설정 업데이트를 지원합니다

  • 서비스 오퍼레이션 지원
  • - 조직의 비즈니스 목표 달성을 위해 마케팅이나 수익화와 같은 수요에 맞춰 오퍼레이션을 지원합니다.
    - 다른 팀과의 협업을 더 용이하게 하기 위한 툴과 프로세스를 고민합니다
    - QA 프로세스 진행을 서포트하고 CS 이슈를 디버깅합니다

  • 더 좋은 개발 조직 만들기
  • - 테스트 코드를 작성하고 동료들의 코드를 리뷰합니다
  • - 다른 조직의 백엔드 엔지니어들과 의견을 교류하고, 테크블로그를 작성합니다.
  • Required Qualifications
  • Backend Software Engineer로 3년 이상의 업무 경험이 있으시거나 관련 전공 석사 등의 그에 준하는 경력이 있으신 분
  • CS 전공 혹은 그에 준하는 탄탄한 기초 지식을 보유한 분
  • JVM 기반 Production 어플리케이션을 개발할 수 있으신 분
  • 분산 처리 시스템을 이해하고 있거나 큰 흥미를 가지고 있으신 분
  • Preferred Qualifications
  • Flink 기반 서비스를 개발한 적이 있으신 분
  • Scala 관련 경험을 보유하신 분
  • 도메인 주도 설계에 관심이 있으신 분
  • 분산 처리 시스템을 실제로 Production에서 운영하셨던 분
  • 대용량의 데이터를 처리해 보신 분
  • 쿠버네티스 환경에서의 서비스 관리에 익숙하신 분
  • 새로운 기술을 배우고 적용하는 것에 큰 흥미를 느끼시는 분
  • 비즈니스 데이터 분석으로부터 엔지니어링 측면에서의 액션 아이템을 고민하는 걸 좋아하는 분
  • 개인이 일을 잘 하는 것보다는 다른 사람들과 일이 실제로 되게 하는 것을 즐기는 분
  • Hiring Process
  • 고용 형태: 정규직
  • 채용 절차: 서류전형 > 코딩테스트/사전과제 > Recruiter Call > 1차 면접 > 2차 면접 > 3차 면접(필요 시) > 최종합격
  • 근무 시간: 근무시간을 자율적으로 선택하는DIY(Do It Yourself) 근무제 (단, 병무청 복무규정에 따라 산업기능요원, 전문연구요원은 시차출근제 적용 - 오전 8시 ~ 11시 사이 출근)
  • 지원 서류: 자유 양식의 상세 경력기반 국문 또는 영문이력서(PDF)
  • 기타
  • 하이퍼커넥트는 증명사진, 주민등록번호, 가족관계, 혼인여부 등 채용과 관계없는 개인정보를 요구하지 않습니다.
  • 수습기간 중 급여 등 처우에 차등이 없습니다.
  • 제출해 주신 내용 중 허위 사실이 있을 경우 채용이 취소될 수 있습니다.
  • 필요 시 사전에 안내된 채용 절차 외에도 추가 면접 전형이 진행될 수 있습니다.
  • 필요 시 지원자의 동의 하에 평판 조회 절차가 진행될 수 있으며, 평판 조회 결과에 따라 채용이 취소될 수 있습니다.
  • 하이퍼커넥트가 채용하는 포지션에 지원하는 경우, 개인정보 처리에 관하여서는 본 개인정보처리방침이 적용됩니다: https://career.hyperconnect.com/privacy

    Please mention No Whiteboard if you apply!
    I'm a one-man team looking to improve tech interviews, and could use any support! 😄


    Get weekly alerts of new jobs from companies not using whiteboard interviews!