[조광일 CTO]는 왜 배민에서 디어로 왔을까

이전 글에서 디어에 특급 개발자분들을 모시게 됐다는 말씀을 드렸죠?
오늘은 그중에서도 우아한형제들(배달의 민족)에서 온 조광일 CTO를 소개할게요.
배민에서 서비스개발팀 가게노출파트장을 맡았던 광일이 디어로 합류했어요. 이후 광일과 함께 즐겁게 일했던 이전 동료들도 줄줄이 디어에 입사했고요. 디어에겐 백만대군 부럽지 않은 든든한 원군이죠.
광일은 인터뷰 내내 디어의 원석 같은 주니어 개발자들을 자신과 같은 문제해결 능력이 뛰어난 개발자로 성장시키는 것에 사명감을 느끼고 있다고 강조했는데요.
자세한 내용은 아래에 이어지는 인터뷰에서 만나보시죠. 아 참, 디어는 구성원들이 서로 반말로 소통하는 문화를 갖고 있어요. 그래서 인터뷰도 반말로 진행됐답니다.
Q. 광일은 디어에 오기 전에 어떤 곳들을 거쳐왔고, 어떤 일들을 해왔어?
원래 나는 컴퓨터공학과에서 박사까지 학업을 계속할 생각이었어. 실리콘밸리 개발자 출신 교수님 아래서 2학년부터 학부 연구생을 했거든. 그때는 시스템 레벨에서의 프로그래밍이 주된 전공이었어.
우아한형제들에 들어가게 된 건 아내의 추천이 계기였어. 배민 디자이너로 일하던 아내가 “우리 회사 너무 좋은 데 와볼래?”라고 제안했거든. 학교 밖, 필드에서 배울 것도 많겠다 싶어 들어왔지.
우형에서 마지막 직책은 배민 서비스개발팀 가게노출파트장이었어. 사용자가 배민 앱에 접속하는 순간부터 장바구니에 메뉴를 담을 때까지 일어나는 전체 흐름에 관여했어. 가게와 메뉴를 탐색하고 더 나은 주문을 할 수 있도록 돕는 게 우리 파트의 주 역할이었지.
배민 서비스의 전면부를 맡고 있다 보니 우리 파트에서 문제가 생기면 배민 서비스 전체가 마비된다는 점에서 막중한 책임을 느끼며 일했어.
그때 그때 떠오른 아이디어를 유리창에 써서 설명하는 열정적인 광일.
Q. 배민에서 특별히 기억에 남는 프로젝트나 경험이 있어?
트래픽 전문가로서 배민 그 자체가 강한 인상으로 남아 있어. 배민은 말 그대로 국민 앱인데다, 내가 일하는 동안에만 트래픽 규모가 몇 배는 더 증가했던 것 같아. 평균 분당 약 40만 건, 주말 피크 시간대에는 분당 약 60만 건의 요청이 서버에 접수됐어. 1초당 1만 건씩 들어오는 상황인 거지. 여기에 점심이나 저녁 시간에는 트래픽이 확 뛰는 특성도 있어서 개발자로서 굉장히 도전적인 과제를 많이 해결해야 했지.
Q. 배민에서도 성장할 기회가 많았을 텐데, 디어로 이직하게 된 이유는 뭐야?
‘제로 투 원’의 표현을 빌리자면, 배민에서 했던 일은 30을 100으로 만드는 일이었던 것 같아. 그것도 물론 세상에 꼭 필요한 일이지만, 진짜 큰 사람으로 성장하려면 0에서 1을 만드는 일을 해야 하지 않냐는 갈증이 있었어. 디어는 제로 투 원을 가장 똑똑하게 할 수 있는 회사라고 생각했어.
그리고 동은이형이 이직을 제안하면서 이런 말을 했거든. “디어에는 너무너무 똑똑하지만, 경험이 아직 부족한 원석들이 모여있다. 이 친구들에게 Best Practice 가이드라인을 제시해줄 사람이 필요하다.”
그 말이 내 가슴에 딱 꽂혔어. 내 개인적인 미션 중 하나가 ‘개발자를 길러내는 교육자‘가 되는 것이거든. 내가 가진 모든 지식이 어디서 왔는지 Family Tree를 그려보면, 내가 굉장히 존경하는 Ancestor들로부터 비롯됐다는 걸 알 수 있어. 그들을 존경하는 만큼, 나도 다른 후배에게 그런 Ancestor가 되고 싶다는 욕구가 굉장히 강했어.
다음 세대의 개발자를 길러내는 교육자가 되고 싶다는 광일.
‘성장’이라는 측면에서도 나 혼자 성장하는 것보다, 나라는 노드에서 포크 된 다른 family들이 성장하는 것. 그리고 그들과 상호작용하면서 내가 더 큰 성장을 돌려받는 선순환이 월등히 좋은 방법이라고 생각해.
그런 활동의 일환으로 ‘광일공방’이라고 하는 개발자 커뮤니티를 7년가량 운영하기도 했어. 30명 정도의 커뮤니티에서 구성원 다수가 ‘네카라쿠배’를 비롯해 빗썸, 테크타카, 업라이즈 등 좋은 IT기업에 들어갈 정도로 성장했어.
개발자로서 함께 성장하는 데 관심이 많았던 나였기에, 성장이 필요한 사람들에게 확 끌렸던 것 같아. “배민에서는 내가 아니라도 경험을 전수해줄 사람이 많지만, 디어는 내가 아니면 안 되겠다”는 생각도 들었지.
Q. 배민에서 디어로 올 때, 다른 동료들과 함께 이직했잖아. 그렇게 하게 된 이유도 궁금해.
우리는 회사에서 같은 팀으로 일하기도 했지만, 그보단 개발자 커뮤니티 활동을 함께 주도했던 사이야. 서로 가치관을 많이 공유하고 있었어. 그 가치관에 배부르고 등 따순 것은 없었던 것 같아. 다들 더 많은 책임과 더 큰 문제가 나한테 주어졌으면 좋겠다는 열망, 그리고 내가 더 큰 사람이 되고 싶다는 갈망이 컸거든. 그래서 함께 이직할 수 있었던 것 같아.
Q. CTO로서 마주한 디어 개발팀에 대한 감상은 어땠어?
“자연 발생했는데 사람이 됐네?” 처음에 디어의 시스템 구조도를 보고 약간 충격을 받았어. 레거시도 없고, 제대로 이끌어 줄 사람이 없는 상태에서 책이나 유튜브 영상 같은 간접적인 경험에만 의지해서 시스템을 여기까지 끌고 온 거잖아. 그런데도 꽤 성공적인 디자인을 했더라고.
그리고 유니콘이 된 이전 조직도 충분히 성장한 시점에서야 했던 고민을 이 친구들은 3년 차에 하고 있더라고. 성장의 속도가 그만큼 빨랐다는 거야. 그 빠른 성장이 어디서 왔나 생각해봤을 때, 지적 겸손함이라는 문화에 있는 것 같아.
‘어차피 정답은 없다. 너도 틀릴 수 있고, 나도 틀릴 수 있다. 지금 당장은 이게 최선책으로 보여도 내일부터는 아닐 수 있다. 그러니까 우리는 끊임없이 실험하는 수밖에 없다.’ 이렇게나 치열하게 더 똑똑해지려는 조직이 있나 싶은 정도야. 필사적으로 성장해온 거지.
Q. 문화, 라는 얘기가 나와서 말인데, 디어에서 가장 마음에 든 조직 문화는 어떤 거였어?
나는 ‘ROQ’를 꼽을 것 같아. (*ROQ는 Reason of Question의 약어로, 무례하진 않지만 직설적으로 상대방의 질문 이유를 물어보는 표현입니다. 아예 질문을 할 때부터 상대가 내 의도를 오해하지 않도록 ROQ를 함께 밝히기도 해요)
대기업에서 일하다 보면 질문을 할 때 진짜 의도를 감추는 경우도 많거든. 불필요한 의사소통이 길어지고, 정작 알고 싶은 중심 정보에는 닿지 못하고 변두리에서만 맴돌기 일쑤지. 자기 지식의 한계가 드러나는 것에 대한 방어 기제가 있기도 해서, 아예 질문을 잘 하지 않게 되기도 해.
디어는 문화 차원에서 질문하는 것에 대한 부담을 0에 가깝게 줄였어. ‘진짜 몰라서 물어본 거다.’ 이렇게 터놓고 얘기할 수 있으니까, 업무 효율성이 높아지고 마음도 편해지지. 이건 구성원들이 서로를 충분히 신뢰하는 문화적 토대를 딛고 서 있기 때문에 가능하다고 봐.
Q. 디어의 개발 문화에 대해 궁금해하는 사람도 있을 것 같아.
우리는 페어 프로그래밍을 완전히 생활화하고 있어. 어떤 조직에서는 하나가 할 일을 둘이 한다고 해서 생산성이 떨어진다는 시각도 있잖아. 나는 반대로 디스커션 파트너가 생기면 훨씬 다양한 구현 방법을 떠올릴 수 있고, 더 나은 문제해결 방법을 찾아낼 수 있다고 믿어.
재균과 페어프로그래밍에 몰두하는 광일
아까 말한 ROQ와도 연결되는데, 보통 페어 프로그래밍을 하더라도 소극적으로 하는 경우가 많거든. ‘이건 왜 이렇게 만들었어?’라고 묻는 게 ‘쟤가 나한테 지금 못한다고 지적하는 건가?’하고 기분이 상할 여지가 너무 많잖아. 근데 우리는 질문하고 받는 것에 100% 열린 마음이니까 정말 적극적으로 페어 프로그래밍을 하고 있어.
꼭 페어가 아니더라도 개발팀 전체가 활발하게 피드백을 주고받는 편이야. 옆에서 보면 알겠지만 서비스팀은 정말 쉴 새 없이 얘기하거든. 꼭 내가 풀고 있는 문제가 아니더라도 얼마든지 물어보고 조언할 수 있는 거고, 그러다 보니 전체를 보면서 부분을 만드는 관점을 다들 장착하게 된 것 같아.
Q. 새로운 개발자가 디어에 오면 어떤 성장 기회를 잡을 수 있을까?
디어가 처음에는 Node.js라는 언어를 사용해서 시스템을 구축했거든. 지금은 서비스 규모가 커지고 타사 플랫폼과도 연계할 필요가 생기면서 Spring으로 마이그레이션을 진행하고 있어. 그러면서 서비스를 전반적으로 고도화하는 작업도 병행하고 있어.
100만 명 정도가 이용하는 서비스를 처음부터 쌓아 올려볼 수 있는 기회. 벽돌식 주택을 철근 콘크리트 아파트로 재건축하고 있다고 비유할 수 있을 것 같아. 이런 기회가 쉽게 오는 게 아니거든.
또 나는 연차에 상관없이 실패하더라도 책임과 권한을 위임하는 스타일이야. 하나부터 열까지 내가 다 알려줄 수도 있겠지만, 그러면 팀원이 성장하는 폭이 줄어들잖아. 팀원 각각이 설계부터 구현까지 스스로 해봤으면 좋겠어. 정 모르겠으면 나한테 조언을 구해도 되는 거고. 기능적으로만 일하는 데 싫증이 난 개발자라면 디어에서 정말 원 없이 문제를 풀어볼 수 있을 거야.
얼라인먼트 데이에서 모빌리티 서비스팀의 비전을 피칭하는 광일.
Q. 그럼 광일은 어떤 fit이 맞는 개발자가 새롭게 합류했으면 좋겠어?
지금 가진 기술 수준은 아주 뛰어나지 않아도 좋은데, 그래도 기능적인 부족함은 스스로 채울 수 있었으면 좋겠어. 거기에 끊임없이 토론할 수 있는 사람이면 기대를 해볼 수 있을 것 같아. 마지막으로 멈추지 않고 성장하는 데서 즐거움을 느끼는 사람이었으면 좋겠어.
솔직히 언제까지 우리가 함께할 수는 없잖아. 나는 우리 팀원들의 성장 목표치를 어느 정도로 잡고 있냐면. 언젠가 디어를 떠나서 소위 말하는 ‘네카라쿠배’를 간다고 해도, “생각보다 별거 없네?”라는 감상이 들 정도로 성장하게 만드는 거야. 그만큼 성장해 볼 자신이 있는 사람이 왔으면 좋겠어.