모요 서비스를 단단하게 지지하는 Backend 챕터
2년 만에 월 개통 건수 110배 성장을 만든 모요의 백엔드 개발자(Backend Developer)는 어떻게 일할까요?
문성혁님을 모시고 모요 백엔드 개발자가 일하는 방식과 개발 문화에 대하여 이야기 나눠봤어요.
Q. 간단한 자기소개와 함께 현재 모요에서 어떤 일을 하고 계시는 말씀해 주세요.
문성혁 (이하 성혁) : 안녕하세요, 저는 백엔드 개발자 문성혁이라고 합니다. 모요에 합류한지는 1 년 정도 되었고, 주로 요금제 개통 서버 관리, 전사 모니터링 개선, 서버 플랫폼 개발을 진행하고 있어요.
Q. 모요에 합류하게 된 이유가 궁금해요.
성혁 : 우선 좀 더 척박한 환경에서 개발하고 싶었어요. 인프라도, 시간도, 사람도 없는 곳에서는 어떻게 개발해야 할까? 무엇을 선택하고 무엇을 포기해야 할까? 이런 판단을 잘할 수 있는 역량을 기르고 싶었네요. 또 폭발적으로 빠르게 성장하는 스타트업에서 비즈니스에 대한 감각도 예리하게 다듬어 보고 싶기도 했고요.
마지막으로, 이게 가장 중요한데요, 좋은 문화와 그 문화를 더 발전시키려 하는 동료들이 있는 곳에서 일하고 싶었어요. 이 세 가지 조건을 모두 충족하는 곳이 모요였어요.
Q. 직접 느껴 본, 모요 백엔드 개발자가 일하는 방식은 어떤가요?
성혁 : 시즌 중에는 스쿼드의 일원으로서 비즈니스 임팩트를 내기 위해 최선을 다해요. 주기적으로 OKR(Objectives and Key results)을 리뷰하면서 우리가 의도했던 방향으로 잘 나아가는지 확인하죠. 특히 백엔드 개발자는 현재 만들고 있는 기능이 잠재적인 암초가 되지 않도록 유기적으로 얽힌 컴포넌트들을 이해하고 분석해서 안전한 스텝을 밟아나가야 해요.
그리고 피트스탑 기간에는 다양한 일을 하는데요. 못다 한 스쿼드의 백로그를 처리하는 경우도 있고 Backend 챕터(이하 BE 챕터) 내의 이슈를 해결하기 위해 기여하기도 해요. 피트스탑 때는 모든 개발자가 어떤 큰 이슈 하나에 집중해야 하지 않나 생각하시는 분도 있을 것 같은데요, 지금까지는 각자 쌓인 부채들을 해결하느라 그런 니즈가 강하게 올라오진 않았어요. 그렇지만 최근에는 챕터 차원의 노력에 대한 여러 가지 목소리가 나오기 시작했어요.
모요 업무 구조 - 시즌 / 피트스탑
Q. 최근에는 백엔드 개발로서 어떤 문제를 해결하고 있나요?
성혁 : 얼마 전까지는 모요에서 B2B 제품을 개발하면서 신규 알뜰폰 사업자를 하나씩 고객으로 만들기 위해 노력했어요. 사업자마다 업무를 처리하는 방식이 달라서 제품에 기능을 하나씩 추가하면서 전체적인 그림을 보려고 노력했었네요.
최근에는 인증 및 인가 처리를 위한 중앙 게이트웨이 및 포인트 시스템을 구현하고 있어요. 특히 게이트웨이는 전체 트래픽이 통행할 컴포넌트라서 강도 높은 부하 테스트를 진행하고 있는데요. 덕분에 숨은 JVM 옵션과 부하 테스트 테크닉 등 다양한 것들을 의지와 무관하게 배우고 있어요. (웃음)
Q. 모요의 개발 문화도 궁금해요. BE 챕터 내의 교류도 잘 이루어지나요?
성혁 : 기본적으로 모요 개발자들끼리는 여러 논의를 활발하게 진행하고 있어요. 지금까지 모요가 빠른 성장을 위해 바쁘게 달려오다 보니 도메인의 경계가 혼란스러운 구간이 있는데요. 최근에는 이런 부분을 개선하기 위한 DDD* 스터디도 시작했어요.
특히 BE 챕터 내에서는 각자가 스쿼드 내에서 개발하며 겪은 이슈나 고민이 되는 지점을 공유하고 있어요. 굉장히 다양한 아젠다로 이야기를 나누는데요. 요즘엔 테스트 코드와 개발 문화의 정량적 측정에 대한 측면을 같이 논의하고 있어요. 쉽지 않은 부분인데 그래서 재밌어요.
* 도메인 주도 설계(Domain Driven Design)의 줄임말로, 해당 도메인과 일치하도록 소프트웨어를 모델링하는 데 중점을 둔 소프트웨어 설계 접근 방식
Q. 개인적으로 가장 중요시 하는 모요 핵심 가치가 있다면 무엇일까요? 그 이유도 궁금해요.
성혁 : “고객 집착”과 “임팩트를 향한 집중”을 가장 중요하게 생각해요.
우선 “고객 집착”은 효율적으로 일하기 위한 출발점이에요. 고객 중심으로 사고하면 어떤 코드를 넣고 어떤 코드를 빼야 할지가 명확해져요. 팀원 모두가 우리의 고객은 누구고, 그 고객이 지금 원하는 것은 무엇인지, 앞으로 무엇을 원하게 될지를 분석하고 논의해요. 이런 환경에서 작업하니 퀄리티 좋은 제품을 적절한 시기에 내보낼 수 있어요.
“임팩트를 향한 집중”은 풀고자 하는 문제를 결정하는 중요한 단서가 돼요. 모든 것을 임팩트로 치환하는 것은 위험하겠지만, 대부분의 경우엔 도움이 많이 되었어요. 특히 모요처럼 적은 리소스로 최대의 성장을 만드는 회사에선 주기적으로 자신에게 임팩트에 대해서 상기하는 것이 필수라고 생각해요.
중요한 결단을 내릴 때 냉정하고 정확하게 의사결정을 할 수 있도록 이끌어주는 도구가 핵심 가치라고 생각하는데요. 최근에 이 부분을 한 번 더 실감하게 된 사례가 있었어요.
백엔드 개발자 문성혁
얼마 전 제가 맡았던 제품이 공식적으로 마무리 단계에 접어들었는데요. 제가 개인적으로 관심 있는 방향의 B2B 제품이었기에 많은 애정을 쏟기도 했고, 고객 인터뷰와 열띤 토론을 번갈아 가며 만든 멋진 제품이라 아쉬운 건 사실이에요. 하지만 내부 동료와 치열하게 논의하며 우리의 에너지를 이 제품에 집중하더라도 큰 임팩트, 즉 최대 성과를 만들 수 없겠다는 결론에 도달했고, 제품을 마무리하기로 했어요. 이 과정에서 모요의 핵심 가치는 굉장히 이상적이면서도, 한편으로는 지극히 실용적이라고 느꼈어요.
Q. 성혁님이 바라는 동료 백엔드 개발자는 어떤 모습일까요?
성혁 : 여러 가지 측면이 있다고 생각해요. 일단 기술적인 차원에서는 추상화에 대해 고민을 많이 해본 분이면 좋겠어요. 그 아래에 수많은 내용이 포함되겠지만요. 다른 식으로 표현하자면 우리가 만들고자 하는 것이 하루살이 코드 조각들이 아니기 때문에, 적절한 수준만큼 멀리 보는 능력을 기른 분이면 좋겠어요.
그리고 문화적인 차원에서는, 솔직한 피드백을 거침없이 주고받는 분이면 좋겠어요. 다른 동료에게 의견을 묻는 것도 자신의 의견을 내는 것도 적극적인 분이 개발팀에 합류한다면 정말 든든할 것 같아요.
Q. 모요에서 이루고 싶은 목표는 무엇인가요?
성혁 : 저는 서비스가 성장함에 따라 달라지는 새로운 기술적 문제들을 만나는 게 너무 좋아요. 그래서 모요의 유저를 지금의 100배로 늘리는 것이 제 도전 과제예요.
모요의 유저가 10배로 늘어날 때마다 새로운 문제들이 나타날 것이라고 생각해요. 완전히 새로운 궤도의, 기상천외한 이슈들이요. 그렇지만 그걸 걱정하느라 처음부터 천만 명을 감당할 수 있는 시스템을 만들면 안 된다고 생각해요.
각 순간에 적정한 기술을 물 흐르듯 구현하고 변경하는 것이 제가 생각하는 좋은 엔지니어링이고, 그걸 위해 ‘Easy to Change’를 새기며 계속 노력해야 할 거예요. 그러고 있으면 또 새로운 문제가 찾아오는 거죠! 이 얼마나 행복한 선순환인가요, 더 좋은 코드! 더 많은 유저! 더 많은 문제! 더욱더 좋은 코드!!
백엔드 개발자 문성혁
Q. 마지막으로 미래의 동료를 위해 한 마디 해주세요!
성혁 : 모요에서 일하면서 좋은 점은 동료 개발자들의 마인드가 활짝 열려있다는 거예요. 그래서 의견도 편하게 낼 수 있고 창의적인 아이디어도 여기저기서 계속 나오는 것이라 생각해요. 장점이자 단점일 수 있겠습니다만, 할 수 있는 그리고 해야 하는 일이 정말 많아요. (웃음)
그러니 좋은 동료들과 즐겁게 일하고 싶다면 지원하세요! 커피챗도 언제든 환영이에요!