우아한형제들의 Developer Relations

Apr.15.2018 김범준

Culture

투자가를 대상으로 한 IR(Investor Relations) 이야기가 아닌,
개발자를 대상으로 한 DR(Developer Relations) 이야기.

Developer Relations

Developer Relations라는 말은 다소 생소합니다.

IR(Investor Relations)은 많이 들어보셨을 텐데요. IR은 투자자들을 대상으로 기업 설명 및 홍보 활동을 하여 투자 유치를 원활하게 하는 활동을 의미합니다.

우아한형제들은 IR 만큼이나, DR(Developer Relations) 활동을 중요하게 생각합니다. 개발자들을 대상으로 기업을 설명하고 홍보하여 좋은 개발자 분들이 같이 할 수 있는 기회가 많아지기를 원합니다.

어떤 얘기를 해야 하나

IR과 DR 모두 대상자만 다를 뿐, 회사의 매력을 전달하는 것이 핵심입니다. 중요한 것은 내가 하고 싶은 얘기를 전달하는 것이 아니라, 상대가 궁금한 것을 전달해야 한다는 것입니다.

최근에 여러 회사가 개발자 채용을 적극적으로 진행한다는 기사를 보았습니다. 월요일 1시 출근, 주35시간 근무, 연봉 5천만원 이상, 무제한 도서비 지원 등의 문구로 지하철 역에 광고가 나오기도 했더군요. 개인 입장에서 처우와 근무 조건/환경은 분명 중요한 요소라고 생각합니다. 우아한형제들도 작년에 이런 구인 동영상을 페이스북 페이지에 게재하기도 했고요. (이 자리를 빌어 멋진 동영상을 만들어준 영상디자인팀 분들께 감사 인사 드립니다. 잘 만들어진 동영상이니 꼭 한 번 봐 주세요 🙂

개발자를 채용하는 회사들이 많아지면서, 개발자에 대한 처우가 개선되는 것은 고무적인 일입니다. 그러면 이런 상황에서 개발자는 어떤 기준으로 회사를 택해야 할까요? 회사는 어떤 부분을 개발자 분들에게 어필해야 할까요? 다시 말해 DR은 어떤 이야기를 전달해야 할까요? 이 부분을 생각해 보았습니다.

회사의 성장과 개인의 성장

모든 직군이 마찬가지지만, 개발자 분들은 특히 성장에 대한 욕구가 크다고 생각합니다. 어떤 처우를 받고, 어떤 근무 조건이냐도 중요하지만, 자신이 성장할 수 있는 환경인지를 무척 중요하게 여깁니다.

문제는 이러한 환경인지 아닌지를, 개발자 입장에서 입사 전에 어떻게 알 수 있을 것이며, 회사 입장에서 어떻게 알릴 수 있냐는 것입니다. 모든 회사는 다 조직과 개인이 같이 성장하는 회사라고 얘기하니까요.

제가 20년 가까이 일을 하면서 느낀 점은, 회사의 성장이 크지 않은 상황에서 개인이 성장하기는 힘들다는 것입니다. 이 말은 회사를 위해서 개인이 희생해야 한다는 것이 아니라, 개인의 성장 동력으로써 회사의 환경이 뒷받침되어야 한다는 것을 의미합니다.

우아한형제들 실적 추이
[우아한형제들 실적 추이]

위 그림을 보시면, 우아한형제들의 2017년 매출은 전년 대비 92% 증가했고, 영업이익은 768% 증가했습니다. 2010년 6월 처음 서비스를 제공하고 7년차에서 8년차로 넘어가는 시점인데도 매출이 2배 가까이 성장했다는 것은 엄청난 증가폭입니다.

배달의민족 서비스는 매출이 모두 온라인 서비스에서 나오기 때문에, 매출이 늘었다는 것은 서비스의 트래픽이 그만큼 늘었다는 것을 의미합니다. 제가 2015년 8월에 입사했는데, 전월의(2018년 3월) In-App Purchase 수를 그 때와 비교하면 무려 7.5배로 늘어났습니다. 주문 시도 기준으로 하루에 100만 건이 넘는 수치를 보인 날도 있고, 저녁 시간같은 peak time에는 시간당 10만 건이 넘는 수치를 보이기도 합니다.

이러한 서비스 변화는 개발자들에게 도전 과제로 주어지게 됩니다. 1) 선착순 이벤트를 하면 1.89초 만에 마감되는 서비스, 2) PG사와 새롭게 연동했더니 PG사와의 전용선 bandwidth 제약에 걸리고, 그것을 해결했더니 PG사 서버가 다운되는 서비스, 3) 다른 서비스 플랫폼을 이용하여 프로모션을 했더니 해당 서비스가 죽어서 치도스라는 신조어를 만들어 낸 서비스. 이런 서비스가 문제 없이 돌아가게끔 하기 위해, 계속 새로운 시스템을 고민하고 개선해 나가야 합니다.

black fried day
[버스 정류장에 설치된 블랙 후라이드데이 포스터]

사업과 서비스가 빠르게 성장하면서 개발자들이 기술적으로 해결해야 하는 과제가 계속 주어지는 회사에서는, 개인에게도 성장의 기회가 많이 주어질 수밖에 없습니다. 여기서 중요한 것은 이미 몇 년째 100만명, 1,000만명을 감당하고 있는 서비스 회사보다는, 이전에 1만명에서 10만명으로, 다시 100만명으로, 그리고 1,000만명을 담당하는 서비스로 성장하는 곳에 있는 것이 훨씬 더 개인의 성장에도 도움이 된다는 것입니다. 남들의 경험을 듣는 것보다, 본인이 직접 경험하는 것이야말로 온전히 자기 것이 될 수 있기 때문입니다.

우리 나라의 여러 서비스 중에서 Read 성격의 요청이 아니라 한 시간에 10만 건 이상의 실제 주문을 처리하는 서비스가 얼마나 될까요? 이미 몇 년째 서비스의 트래픽이 비슷하거나 완만하게 유지되는 것이 아니라, 계속해서 2배 가까이 성장하면서도 저런 규모의 주문을 처리해야 하는 시스템이 얼마나 될까요? 이미 완성되어 운영되는 것이 아니라, 계속 기존 시스템을 개선하는 과제의 필요성이 절실히 존재하고 실제로 추진하고 작은 성공을 만들어 가는 곳이 얼마나 될까요?

본인이 아무리 노력하더라도 회사의 사업/서비스가 본질적으로 필요로 하는 기술 과제가 없는 경우, 개인이 발전하는 것은 무척 힘들 겁니다. PT(Personal Training)를 받아 본 분들은 아실텐데요. 옆에서 누군가 계속 내가 운동을 하게끔 만드는 환경과, 혼자 의지만 갖고 운동하는 것과는 큰 차이가 있을 수밖에 없습니다. 정말 끈질긴 노력을 통해 뭔가를 만들었다고 해도, 피드백을 받지 못하는 상황에서는 제대로 한 것인지 알기 어렵습니다. 자신만을 위한 Over Engineering 과제로 남을 확률이 높습니다. 그래서 회사가 얼마나 성장하고 있는가 하는 것이, 개발자 입장에서 회사를 택할 때 무척 중요한 요소라고 생각합니다.

기술에 대한 더 높은 요구

어느 서비스나 장애가 발생하는 것은 심각한 상황입니다. 개발팀은 개발팀대로, 고객 응대를 하는 부서는 그 부서대로 심한 스트레스를 받게 되고, 장애가 해소된 이후에도 여러 가지 힘든 업무를 수행해야 합니다.

개발자라면 잘 아시겠지만, 장애는 항상 날 수 있습니다. 장애를 줄이는 방법은 크게 보면 두 가지입니다. 하나는 비용을 들여서 시스템을 증설하여 확률을 줄이는 것이고, 또 하나는 근본적으로 특정 시스템에서 장애가 나더라도 전체 시스템에 문제가 없는 failure resilient한 시스템 구조를 만들고 구축하는 것입니다.

그런데, 우리나라의 많은 회사에서는 두 가지 방법 모두 실행하기가 여의치 않습니다. 장애가 나는 것은 모든 회사가 싫어하지만, 그 상황이 지나가고 장애 복구 및 이후 대처 방안에 비용 증가가 수반될 경우 많은 회사들이 그 방안을 쉽게 채택하지 않습니다. 전체 시스템을 개선하는 방안은 더욱 실행하기 힘듭니다. 결국 인력이 투입되어야 하는데, 새로운 사업 요구 사항과 장애를 줄이는 두 가지 선택 중에서는 대부분 전자가 채택되기 마련이죠.

많은 개발자들과 만나서 얘기해 보면, 구글, 페이스북, 넷플릭스 등이 failure resilient한 시스템을 구축하고 개선해 나가는 것에 대한 선망이 있습니다. 그들은 왜 그런(개발자들을 시스템 구조를 개선하는 일에 투입하는) 선택을 했을까요? 그건 그들의 사업에 있어서 그러한 투자가 훨씬 이득이 되기 때문입니다.

구글, 페이스북, 넷플릭스는 장애로 인한 1%의 매출 하락을 방지하기 위해, 몇 백 명의 개발자들을 투입하는 것이 이득입니다. 한국에서는 사업과 서비스의 규모가 그 정도로 되는 회사가 정말 드물죠. 네이버의 검색 서비스와 카카오의 메신저 서비스 정도일 것 같네요. 이런 면에서 배민(배달의민족)은 그 규모는 앞서 말한 서비스들보다 작으면서도, 기술에 대한 요구 수준은 굉장히 높은 특이한 서비스입니다.

twitter screenshot
[서비스 장애가 난 어느 주말의 트위터 풍경]

위 스크린샷은 배민 서비스에 장애가 난 어느 주말 저녁에 올라온 트위터 글입니다. 다른 서비스라면, 특정 시간에 장애가 생기면 한 두 시간 뒤에 다시 시도하면 됩니다. 그런데, 배민은 먹는 서비스이다보니 사용자들은 내가 원하는 그 시간에 실행이 안 되는 것에 굉장히 민감해 합니다. 배민이 요기요나 배달통보다 훨씬 높은 점유율을 갖고 있기에 배민 서비스가 다운되면 요기요나 배달통도 다운되는 경우가 많다보니, 일부 사용자 분들은 흡사 전기나 수도가 끊긴 것과 비슷한 반응을 보일 때도 있습니다.

일반 사용자 분들이 아닌, 배민에 광고비를 내시는 매장의 사장님들을 생각하면 훨씬 더 심각합니다. 배민의 핵심 비즈니스 모델이 한 달에 정해진 금액을 내는 광고 모델이다보니 장애가 일어난 시간에 대해 보상을 하고 있습니다. 문제는 주말 저녁의 경우 peak time이기 때문에, 단순히 한 달 720시간중 1시간에 대한 보상이 아니라, 사장님들 입장에서 그 날 준비한 장사에 여러 의미로 지장을 준 것에 대한 의미로 더 크게 보상을 하는 것으로 결정한 경우가 꽤 있다는 것입니다. (사장님들 입장에서는 이 보상도 탐탁치 않게 여기시지만요)

배달의민족은 이러한 서비스의 특징 때문에, 시스템을 안정적으로 운영하기 위한 비용 지출과, failure resilient한 시스템으로 개선해 나가는 프로젝트 수행을 적극적으로 진행하고 있습니다. 우아한형제들이라는 회사가 기술을 중요하게 생각한다고 포장하고 싶어서가 아니라, 장애에 내성이 강한 시스템을 만드는 것이 실제 회사 차원에서 ROI가 나오는, 본질적으로 중요한 과제이기 때문입니다.

위에서 회사의 성장과 개인의 성장에서도 했던 얘기지만, 회사 입장에서 본질적으로 중요하다고 생각하는 과제가 개발자 관점에서도 의미가 있는 과제일 때, 그것이 지속될 수 있고 성과를 만들어낼 수 있습니다. 회사의 메시지는 말이나 글로 읽는 것이 아니라, 그 회사가 시간과 비용을 어디에 쓰는가를 보면 알 수 있다고 생각합니다. 이런 관점에서 우아한형제들은 개발자 처우 수준을 높이고 시스템 비용을 아끼지 않고, 실질적인 시스템 개선을 위한 프로젝트를 수행하고 있다는 점을 개발자 분들이 알아 봐 주시면 좋겠습니다.

다양한 사업기회 확장

외부 개발자 분들과 얘기하다 보면, 배민이 잘하는 것은 알겠지만 한계가 있을 것 같다는 얘기를 듣는 경우가 있습니다. 음식이라는 하나의 도메인에서 배민이라는 서비스만 제공해서 얻을 수 있는 매출에 한계가 있을 것 같다는 의견입니다.

잘 아시다시피, 배민이라는 서비스는 이미 배달을 해 주던 업소들의 메뉴를 주문할 수 있는 서비스인데요. 작년 11월부터는 배민라이더스 서비스가 배민과 통합되어, (서울 지역에서는) 배민의 메인 화면에서 그동안 배달 음식점에서 보기 힘들었던 다양한 메뉴들이 노출되고 판매되고 있습니다.

baemin riders

예전에는 배달을 직접 수행해야지만 배달 서비스를 제공할 수 있었으나, 배민라이더스를 이용해서 배달을 이용하여 매출을 증대시킨 많은 사장님들이 계속해서 배민라이더스 서비스에 문의를 주시고 매장이 늘어가고 있습니다. 모든 식사가 배달로 바뀌진 않겠지만, 원래 배달을 하지 않던 매장들이 빠르게 배달 서비스를 제공하면서 늘어나는 시장이 지금까지 만들어 왔던 시장보다 훨씬 더 클 것으로 예상하고 있습니다.

이러한 사업기회의 확장은 단순히 매출이 늘어나는 것만을 의미하지 않습니다. 배민라이더스는 저희 회사와 계약 관계에 있는 라이더 분이 주문을 받으면 음식점으로 이동해서 음식을 수령한 후 고객님들에게 배달하는 서비스인데요. 가만히 생각해 보시면 이 서비스는 우버와 동작이 똑같습니다. 고객이 우버를 부르면(주문이 발생하면), 우버 기사는 고객에게 이동하여 태우고(라이더는 식당으로 이동하여 음식을 수령하고), 목적지로 이동한 후 승객을 내려주는(주문한 고객 위치로 이동한 후 음식을 전달하는) 동작과 거의 같습니다. 규모는 우버에 비할 바 못하겠지만, 실시간으로 움직이는 에이전트에 대한 스케줄링과 최적화 관점에서는 우버와 동일한 기술적 과제가 존재함을 의미합니다.

배민라이더스 외에도 많은 분들이 알고 있는 서비스로, 배민찬 서비스가 있습니다. 배민찬 서비스는 배민프레시라는 이름으로 제공이 되다가, 작년부터 반찬이라는 카테고리에 집중하여 제공하고 있는 Food Commerce 서비스입니다. 반찬으로 집중한 후 2017년 한 해만 4배가 넘는 성장세를 보이고 있습니다.

배민찬에서 일하는 개발자 분들이 경험을 공유해 준 글들로는 다음과 같은 글들이 있습니다.

배민라이더스와 배민찬 외에도 배민상회라는 서비스도 제공하고 있는데요. 이 서비스는 사장님들을 위한 물품 구매 사이트입니다. 음식을 배달 제공할 때는, 숟가락, 젓가락, 비닐봉지서부터 여러 가지 물품이 필요한데, 바로 그런 물품들을 판매하는 사이트입니다. 사장님들 입장에서는 다른 곳보다 저렴하게 구입할 수 있고, 배달의민족 특유의 위트가 가미된 제품들로 인해 고객들이 좋아한다면, 배민상회 서비스를 이용하시지 않을 이유가 없겠죠. 이 서비스도 최근 1년 동안 30배 넘게 성장하는 모습을 보여 주고 있습니다. 아래는 배민상회의 스크린샷입니다.

baemin mart
[배민상회 스크린샷]

지금까지 소개해 드린 사업은, 이미 현재 제공하고 있어서 더 이상 숨길 이유도 없고 편하게 말씀 드릴 수 있는 것이었다면, 어떤 사업들은 이런 공간에서 오픈하고 말씀 드릴 수 없는 것들도 많이 있습니다. 그 중에서 배달로봇 관련된 것은 이미 신문기사를 통해 부분적으로 공개되었는데요. 로봇이 처음부터 끝까지 모든 작업을 다 할 수 있진 않더라도, 앞으로 다가올 자율주행차와 로봇을 결합하면 현재 배달이라는 작업을 수행하는데 들어가는 비용을 획기적으로 줄일 수 있을 거라고 생각하고, 꾸준히 계속 추진하려는 계획을 갖고 있습니다.

baemin robot

일을 더 잘 하기 위한 고민

오랜만에 회사에 대해 말씀 드리다보니, 글이 무척 길어졌네요. DR(Developer Relations)도 한꺼번에 하려고 하면 안 되고, 꾸준히 계속해야 한다는 것을 새삼 다시 느끼게 됩니다. 🙂

다시 찬찬히 읽어보니, 어찌보면 위에 적은 글들은, "우리 사업 잘 하고 있어요"라는 자화자찬인것 같아 부끄럽기만 합니다. 제가 정말 전하고 싶었던 말은, 우아한형제들이라는 회사가 일을 더 잘 하기 위한 고민을 끊임없이 계속한다는 것입니다. 사업과 서비스가 성장하면서 고민할 수밖에 없도록 요구받고 있고, 고민하고 일해야지만 해결할 수 있는 과제들이 충분히 많이 놓여 있습니다.

이것은 일 자체에 대해서만이 아니라, 일을 잘 하기 위한 메타적인 일에도 적용이 됩니다. 우리가 일하는 환경을 더 낫게 만들려면 어떻게 해야 할 지 고민하다가, 서비스를 만드는 기획/디자인/개발 조직은 몽촌토성역이 아닌 잠실역에 새로운 공간을 얻어서 이동하는 것으로 결정한 것처럼 말이죠. 공간과 일하는 방식 모든 것을 고민의 대상으로 삼고 있습니다.

좋은 회사는 현재로서 완성된 좋은 모습을 갖추어서가 아니라, 어떤 것이 좋은 것인지, 더 좋은 것인지를 지속적으로 고민하고 실행에 옮길 수 있는, ‘좋음’의 모습이 현재 진행형인 회사라고 생각합니다.

baemin apply

우아한형제들이 매출이 가장 높은 회사여서가 아니라, 복지 혜택이 가장 좋아서가 아니라, 일을 더 잘 하기 위한 고민을 같이 나누고 변화시켜 나갈 수 있기에, 이 글을 보시는 많은 좋은 개발자 분들과 같이 일하고 싶다는 말씀 전하고 싶습니다. 🙂

채용공고는 우아한형제들 홈페이지를 참고하시면 되고, 개발자 채용 관련해서 궁금하신 사안은 tech_hr@woowahan.com 으로 메일 보내 주시면 답변 드릴 수 있도록 하겠습니다.

감사합니다.