공통서비스개발팀을 소개해요
공통서비스개발팀은 당근을 구성하는 서비스들이 공통으로 활용하는 백엔드 애플리케이션을 개발해요. 팀의 목표는 서비스 개발에 필요한 기반 기술을 구축하는 것이에요. 우리는 기술적인 측면에 집중하며, Developer Experience를 모든 것을 결정짓는 요소로 생각해요.
우리 팀은 백엔드의 다양한 기술 분야를 다루며, 내부 엔지니어들이 우리 팀의 고객이에요. 고객에게 필요한 API를 만들고, 고객이 특정 시스템을 사용할 때 따라야 할 가이드라인을 작성할 거예요. 우리 팀은 이러한 일들이 가치 있고 재미있는 일이라고 생각해요.
이런 개발 도구를 주로 사용하고 있어요
Kotlin, Golang, Kafka, AWS, GCP, Datadog, OpenSearch, Kubernetes
이런 문제를 해결하고 싶어요
우리 팀은 당근의 엔지니어들이 각자의 팀에서 만들고자 하는 가치에 집중할 수 있도록 DX를 혁신하고 싶어요. 이를 위해서 다음 2가지 일에 집중해요.
당근의 다양한 엔지니어들이 가진 공통의 요구사항을 발견하고 이를 구현해요
당근에는 수십 개의 팀과 각 팀에 속한 수백 명의 엔지니어가 있고 이들은 각자 다른 문제를 풀기 위해 고군분투하고 있어요. 우리 팀은 이들이 갖고 있는 공통의 요구사항을 발견하고 이를 구현하고자 해요. 우리의 노력으로 엔지니어의 고민 시간이 1분 줄어든다면 그들이 속한 모든 팀의 1분을 지켜주는 것이고 그렇게 팀의 생산성이 올라간다면 당근의 미션 달성에 한 발자국 더 다가설 수 있어요. 이러한 일을 한정된 리소스 내에서 해내기란 매우 도전적인 일이에요. 따라서 대단히 전략적인 접근이 필요하고, 특별한 전문성을 요구해요.
당근이 성장하면서 쌓아왔던 기술 부채를 효과적으로 관리해요
짧은 시간동안 서비스가 빠르게 성장하면서 기술적인 의사결정이 필요한 순간마다 개발팀은 최선의 선택을 하기 위해 노력했어요. 모든 의사결정에는 트레이드오프가 따르고 이는 시기와 문제의 규모에 따라서 피할 수 없는 장애가 될 수도 있어요. 이러한 리스크를 해소하기 위해 쌓아올린 기술 부채를 탐색하고 필요하다면 해결하는 액션을 실행해요. 따라서 지난한 문제를 풀어본 경험과 노하우가 필요해요.
다른 소프트웨어 엔지니어링 직무와 마찬가지로 일상적인 업무는 테크스펙 및 소스코드 작성과 리뷰, 테스트 그리고 배포 및 운영 등 소프트웨어 개발의 라이프사이클 전체를 포함해요. 또한 내부 엔지니어를 위한 기술 문서 작성과 트러블 슈팅 지원 등의 업무도 이따금씩 수행해요.
이런 분과 문제를 해결하고 싶어요
우리 팀은 백엔드 애플리케이션을 만드는 엔지니어링 팀이에요. 지원자로서 아래의 모든 것에 숙달해야 하는 것은 아니지만 팀에 합류한다면 필요에 따라 깊은 수준으로 이해하고 적용할 수 있어야 해요.
- 카프카를 활용하는 백엔드 애플리케이션을 작성하는 데 익숙하고, 카프카의 동작 원리 또한 이해하고 계신 분
- 스키마 레지스트리 등을 사용해 카프카와 같은 메시징 시스템을 잘 활용하는 방법 또한 알고 계신 분
- 서버 애플리케이션 개발의 라이프사이클 전체에 익숙하고 이러한 프로젝트를 수행하는 것을 두려워하지 않으시는 분
- REST, gRPC 등의 통신 모델을 이해하고, 컨슈머 중심의 API를 설계하는 것과 아닌 것의 차이를 알고 있으며 잘 디자인된 API를 지속해서 확장하고 성장시키는 기회를 즐기시는 분
- AWS, k8s 등 클라우드 및 분산 컴퓨팅 환경에서 백엔드 애플리케이션을 개발하는 것에 익숙하신 분
- 레거시 소프트웨어와 이를 개발한 엔지니어의 선택을 존중하며 공감할 수 있고 그들의 선택을 더 나은 방향으로 개선할 수 있는 결정을 내릴 수 있는 분
- 소프트웨어 엔지니어링은 단순히 소스코드를 작성하는 것 이상으로, 시간의 흐름에 따라 변화하고 발전하는 소프트웨어를 관리하는 정책, 도구, 그리고 모범 사례를 포괄하는 개념이라고 생각하시는 분
이런 성장을 이룰 수 있어요
공통서비스개발팀은 각 구성원이 다음과 같은 성장을 이룰 수 있다고 믿어요.
대규모 트래픽을 다루는 백엔드 전문가로 성장할 수 있어요
대규모 트래픽을 가진 서비스의 근간에는 어떠한 문제들이 있고 이를 어떻게 다루고 해결하는지를 경험할 수 있어요. 계속해서 성장하고 있는 서비스인 만큼 문제의 유형도 다양하고 복잡해요. 난이도가 높지만 그만큼 해결했을 때의 기쁨도 우리가 누리게 될 성장의 기울기도 높을 것이라고 믿어요.
소프트웨어 엔지니어링을 깊이 있게 이해하는 엔지니어로 성장할 수 있어요
한정된 리소스를 활용하여 어떻게 임팩트가 가장 큰 결과물을 만들 수 있을지 끊임없이 고민해볼 수 있어요. 그리고 더 나은 소프트웨어 엔지니어링을 실현하기 위해 기존의 관습에 저항하고 새로운 방식들을 끊임없이 시도해볼 수 있어요.
리더십을 경험해볼 수 있어요
목표를 달성하기 위한 태스크를 스스로 정의하고 최종 결과물까지 자기주도적으로 만드는 경험을 할 수 있어요. 이 때 혼자가 아닌 팀으로서 동료들의 성장에 기여하고 필요에 따라 각자 스스로가 리더십을 발휘할 수 있도록 성장할 수 있어요.
참고해 주세요
- 인터뷰 시 라이브 코딩 테스트와 시스템 디자인 인터뷰를 진행해요
- 정규직 채용의 경우 3개월의 수습기간이 있어요
이렇게 합류해요
1. 서류 전형 → 2. 화상 인터뷰 → 3. 직무 인터뷰 → 4. 컬쳐핏 인터뷰 및 레퍼런스 체크 → 5. 처우협의 → 6. 최종 합격 및 입사
👉당근 합류 여정 가이드 바로가기(🔗)