에이블리 백엔드 엔지니어 9문 9답

2024-05-10

에이블리 서비스의 뒷편에는 안정적인 서비스 운영을 위해 노력하는 테크 에이블리언들의 노력이 숨어 있어요. 오늘은 그 중에서도 백엔드 엔지니어분들의 이야기를 들어봤는데요!

에이블리의 백엔드 엔지니어는 어떻게 일하고 있을까요?
그리고 이들은 어떤 동료를 기다리고 있을까요?

1️⃣ 에이블리에는 스쿼드와 챕터가 있다고 들었어요, 스쿼드와 챕터가 정확히 무엇인가요?

스쿼드는 에이블리가 마주한 조직적, 사업적 문제를 ‘빠르고’, ‘잘’ 해결하기 위해, 풀어야 할 문제를 중심으로 형성돼 있어요. 한 스쿼드는 한 가지 문제에 대해 깊고 빠르게 풀어나가고 있으며, 해결해야 하는 문제에 따라 엔지니어링, 데이터, 디자인부터 마케팅, MD까지 다양한 직군의 전문가로 구성되어 있답니다.

각 스쿼드는 매 분기 제품 전략 회의를 통해 분기별로 집중해야 할 키워드와 주요 To-do를 결정해요. 따라서, 이번 분기와 다음 분기의 목표가 같을 수도, 달라질 수도 있답니다. 또한, 스쿼드는 하나의 작은 스타트업처럼 자율적으로 운영되는데요. 새로운 시도와 애자일한 실험도 가능하단 장점이 있답니다.

챕터는 같은 직군의 모임으로 이해하시면 좋아요! 하나의 스쿼드가 여러 기술을 가진 구성원과 프로젝트 중심으로 구성 되었다면, 챕터는 전문 분야가 같은 구성원들의 모임인 것인데요. 코드 스타일이나 코드 리뷰, 배포 방식 및 온보딩 등 규칙을 수립하기도 하고, 각 스쿼드에서 발생한 이슈를 공유하며 함께 해결 방안을 고민합니다.

그리고 Kubernetes, 함수형 프로그래밍, DDD 스터디를 진행하며 더 큰 임팩트를 만들기 위해 도입할 기술을 꾸준히 학습하고 있어요. 이를 통해 스쿼드 시스템에서 자칫 같은 직군 간 교류가 부족하거나, 직무 지식 공유가 부족할 수 있다는 점을 보완하고 있답니다.

2️⃣ 에이블리 백엔드 챕터는 어떤 문화를 갖고 있나요?

에이블리는 스쿼드 조직으로 구성되어 있어서, 각 스쿼드의 업무 맥락을 모르면 엔지니어 간 협업 시 문제가 발생할 수 있어요. 이 점을 방지하기 위해 서버 코드단에는 도메인마다 코드 오너가 정해져 있는데요. 해당 패키지에서 코드가 수정되면 자동으로 지정된 코드 오너에게 리뷰가 요청된답니다.

또한, 에이블리는 마스터 머지(Master Merge)를 하기 전에 여러 번의 테스트와 리뷰 과정을 거쳐요. 같은 스쿼드의 백엔드 엔지니어끼리 리뷰하고, 필요하면 타 스쿼드 엔지니어에게도 리뷰를 요청하는데, 모든 리뷰어에게 승인을 받아야 머지가 가능해요! 혼자 리뷰하는 것보다 제 3자를 통하면 잘못된 부분을 더 쉽게 발견할 수 있고, 그러다 보면 완성도 높은 퀄리티의 서비스를 만들 수 있기 때문에 서로 충분한 리뷰 과정을 갖고 있어요. 또한, 많은 동료 또는 타 스쿼드의 코드를 리뷰하면서 ‘이렇게 코드를 구성할 수 있구나.'라는 인사이트를 얻는 경우가 많아서, 리뷰를 ‘배움의 과정’으로 여기며 선순환을 만들고 있답니다!

그리고 학습하고 싶은 기술 분야가 있다면 개인적으로 구성원을 모집해 스터디를 진행할 수 있는 문화가 잘 자리 잡혀 있어요. 스터디를 하거나 강의를 들을 때, 회사에서 교재와 수강료 등을 모두 지원해 주니까 일하면서 성장한다는 느낌을 많이 받아요.

3️⃣ 어떤 언어와 기술 스택을 사용하나요?

주로 Python Django기반으로 서비스를 개발하고 있는데요. MSA를 진행하며 비즈니스 임팩트를 만들 수 있는 기술 도입에 열려 있어요. 그래서 언어 제약 없이 채용을 진행하고 있습니다!

  • 프로그래밍 언어 : Python / Kotlin
  • 프레임워크 : Django / Spring
  • 데이터베이스 : AWS Aurora (MySQL, PostgreSQL)

4️⃣ 저는 Python, Django를 사용해본 적 없는데 지원해도 괜찮을까요?

네, 그럼요! Python Django 경험이 없는 분들도 활발하게 채용 중이에요. Python Django 경험 없이 Node.js, Java, Kotlin, PHP 등 다른 언어를 메인으로 커리어를 쌓으시다 에이블리에 합류한 백엔드 엔지니어 분들이 많이 계신데요. 온보딩과 내부 스터디를 통해 Python Django를 충분히 익힐 수 있는 환경이 마련되어 있어요.

에이블리는 개발 언어를 문제를 풀기 위한 ‘하나의 도구’라고 생각하고, 수많은 도구 중 가장 큰 임팩트를 만들 수 있는 방법이 무엇일지 고민하는 문화를 갖고 있어요. 그래서 언어 제약 없이 채용이 진행되고, 그 과정에서 후보자분들이 편한 언어로 역량을 발휘하실 수 있도록 선택하실 수 있도록 안내 드리고 있답니다.

5️⃣ MSA는 어떻게 진행되고 있나요?

에이블리는 22년까지 소수의 인원으로도 속도감 있게 일을 할 수 있도록 Python, Django의 Monolithic 기반으로 서비스를 개발해 왔어요. 하지만 유저, 상품, 마켓이 빠르게 증가하는 상황 속 각 컴포넌트를 빠르고 안정적으로 관리하여 기술적 챌린지를 해결하기 위해 MSA를 진행하고 있어요.

실제로 일본 서비스 amood(아무드)는 최초 개발 시 Django로 서버를 구성했는데, 주문/결제/배송/쿠폰 등 커머스에 필요한 기능은 Java, Spring 서버로 분리했어요. 또한, 실험 플랫폼, 추천 시스템, 로그 서버는 Go와 Kotlin으로 분리했답니다.

현재도 점차 서비스를 세분화 시키고, 내부 스터디를 통해 여러 기술을 적극적으로 도입하며 서비스 구조 변화에 집중하고 있어요. 앞으로도 각 스쿼드가 수행하고 있는 과제에 맞추어 필요한 기술을 도입하고 서비스를 개선해 나갈 예정이랍니다!

6️⃣ 어떤 과정을 거쳐 에이블리 백엔드 엔지니어로 합류하나요?

서류 전형 ➡️ 사전 과제 또는 라이브 코딩테스트 ➡️ 직무 인터뷰 ➡️ 최종 인터뷰 순으로 채용 여정이 진행됩니다!

  • 서류 전형 : 에이블리는 자유 형식의 이력서를 받고 있어요. 자신을 잘 드러낼 수 있는 형식의 포트폴리오나 경력기술서, 노션 링크를 제출해 주세요.
  • 사전 과제 또는 라이브 코딩테스트 : 후보자님의 역량을 확인할 수 있는 과제 또는 라이브 코딩테스트를 안내 드려요.
  • 직무 인터뷰 : 약 90분 간 온라인으로 진행되며, 후보자님의 직무 및 기술 역량은 물론 에이블리 서비스, 팀워크 관점에 대해 이야기 나누는 자리입니다.
  • 최종 인터뷰 : 에이블리의 리더인 석훈님과 약 30분 간 온라인으로 진행되어요. 후보자님의 가치관, 업무관, 그리고 에이블리 조직문화에 대해 얘기 나누는 자리입니다.

7️⃣ 에이블리의 백엔드 엔지니어로서 어떤 기회를 기대할 수 있나요?

[1] 탄탄한 커머스 코어 기능을 만들어 볼 수 있어요.

에이블리는 패션, 뷰티, 라이프 등 스타일이 담긴 다양한 카테고리를 다루는 커머스 플랫폼인데요. 각 카테고리에 최적화된 운영 시스템을 구축하고 반복되는 이슈를 자동화하여 각 스쿼드가 본질적인 문제 해결에 더 집중할 수 있도록 커머스 플랫폼으로의 확장 기반을 다지고 개선하고 있답니다.

초창기 에이블리는 커머스 플랫폼임에도 초기 쇼핑몰 솔루션의 최소한의 기능으로만 운영되고 있었어요. 당시 사업 니즈가 시장에서의 빠른 선점을 위한 가설 검증에 초점을 두고 있었기 때문인데요. 현재는 비즈니스가 가파르게 성장해 피처 개발, 가설 검증, 신규 기능 도입 등 커머스 전반의 도메인의 안정성을 끌어올려야 한다고 판단했어요.

그래서 유저는 상품 구매 주문을 더 빠르게 진행하고, 셀러는 더 쉽게 상품을 등록하며, 에이블리 구성원들이 어드민 시스템을 더 효율적으로 활용하실 수 있도록 하는 것을 목표로 달려가고 있어요!

[2] 기획부터 참여하며 비즈니스 임팩트를 같이 고민할 수 있어요.

에이블리는 개발을 잘하고, 좋은 기술을 만들어서 성공해야겠다는 관점보다는, 문제를 해결하고 사업의 성장을 위해서 무엇을 하면 좋을지 치열하게 고민하는 문화가 잘 잡혀있어요. 이러한 문화와 에이블리 팀의 미션을 근거로 도메인, 사용자와의 대화, 비즈니스 설계에도 깊게 참여하여, 엔지니어가 직접 비즈니스 임팩트를 만들어낼 수 있답니다.

8️⃣ 어떤 백엔드 엔지니어와 함께 일하고 싶으신가요?

먼저 첫 번째로, 비즈니스 목표 달성을 위해 어떤 좋은 방법이 있을지 치열하게 고민할 줄 아는 분을 기다려요! 에이블리 백엔드 엔지니어는 비즈니스 및 서비스에서 발생하는 다양한 문제들을 기술적으로 해결해 나가는 사람들이에요. 따라서, 보기 좋은 코드, 잘 짜여진 코드를 만드는 것 보다는 문제를 해결하여 성과를 내는 것이 모든 개발 활동의 목적이라는 것을 이해하고 공감하실 수 있는 분을 기다리고 있어요.

그리고 두 번째, 상황에 맞는 아젠다를 우선순위에 따라 정리해 유연하게 액션하고 소통할 줄 아는 분과 함께 하고 싶어요. 에이블리 스쿼드에는 비개발 직군의 동료도 많고, 급변하는 이커머스 상황에 따라 해결할 문제의 우선순위가 조정되는 경우가 왕왕 발생해요. 따라서, 변화무쌍한 상황 속 선택과 집중을 해야 할 업무를 빠르게 캐치하고, 다양한 직군의 동료와 유연하게 소통할 줄 아는 엔지니어 분들이 오시면 좋을 것 같아요.

9️⃣ 스쿼드 형태의 조직에선 유지보수 작업을 어떻게 하나요?

설계 및 리팩토링 등 스쿼드에서 필요한 자잘한 유지보수는 보통 스쿼드 내에서 해결해요. 다만, 쿠폰 구조 개편, 리뷰 ES 도입 등 큰 구조적인 변경이나 인프라 도입 등은 에이블리 앱의 탄탄한 기반을 고민하는 파운데이션 스쿼드와 협업하여 진행한답니다.

에이블리는 지금 채용 중

아무도 상상하지 못한 넥스트 커머스. 지금, 에이블리와 함께 해주세요.