우아한형제들의 Baby Steps

Jun.30.2016 김범준

Culture

우아한형제들은,어제보다 성장함에 의미를 두고,
함께 성장하는 것을 꿈꾸는 조직입니다."

블로그

2016년도 딱 반이 지난 6월 30일. 지난 반 년을 돌이켜 봅니다.

반 년 동안 어떤 일들을 했나 돌이켜 보다가 생각난 것이, 바로 우아한형제들 기술조직 블로그를 개설한 것인데요. 생각난 김에, 이 블로그를 만들 때 생각하던 것을 말씀 드릴까 합니다.

성장일기

이 블로그는 우아한형제들 기술조직의 “성장일기"입니다.

저는 작년 9월에 우아한형제들에 합류했는데요. 그 시점에서 냉정하게 판단하고, 솔직하게 말씀 드리건대, 우아한형제들 기술조직이 엄청나게 뛰어난 기술력과 좋은 개발 문화/프로세스를 갖고 있다고 보기는 어려웠습니다. 개인적으로 잘 하는 분들이야 많이 있었지만, 개인 역량의 단순 합이 조직 역량과 같지는 않으니까요.

5년이라는 시간 동안 서비스의 성장에 맞춰서 누구보다 간절히 노력하고 쉼없이 달려왔기에, 정말 많은 사람들이 인지하고 사용하는 배달의민족 서비스가 되었지만, 그 과정에서 만들어진 기술부채로 인한 부담을 안고 있던 상황이었습니다.

tech_debt
[다양한 기술부채 청산 도구들…]

Confluence(위키) 도입

무엇부터 접근해야 할까 고민하며 살펴 보니, 회사가 바로 제가 입사하기 한 두 달 전에 Confluence와 JIRA를 도입했더군요. 하지만 Confluence는 텅텅 비어 있는 상태. (두둥!)

Confluence라는 Tool 은 사실 개발 조직만 써서는 효과가 안 나고, 전사적으로 문서가 모이고 공유되어야 효과가 있는데요. Wiki를 처음 접하는 분들에게는 사용하기 어려운 부분이 있습니다. 그래서 제가 Admin 권한을 획득한 후에 RefinedWiki라는 플러그인을 구매한 후, 사람들에게 익숙한 계층 구조를 만들고, 저도 이해할겸 “배민서비스의 이해"라는 페이지를 만들어 컨텐츠를 만들어 제공하면서 조금씩 활성화를 시켜 나갔습니다.

refined_wiki
[Confluence에 RefinedWiki Theme을 적용한 예]

이 과정에서 제가 놀랐던 것은, 지금까지 겪었던 어떤 조직보다도 빠르게 변화를 받아 들이고, 그것에 익숙해지고 난 후 바로 옆 사람과 옆 조직에 빠르게 전파가 되었다는 점입니다. 일을 더 잘 하고 싶은 마음, 더 가치 있는 일을 하고 싶은 마음이 가득했고, 밀려 오는 파도를 두려워하지 않고 오히려 몸을 맡기는 서퍼처럼, 이러한 변화의 물결을 피해서 도망가는 것이 아니라 그 물결 위에 올라타는 모습들을 보았습니다.

그 결과로 지금은 Confluence를 이용한 문서화 수준을 넘어서, 각 프로젝트마다 특성에 맞게 Scrum 또는 Kanban Board를 만들고, 업무들의 진행 상황을 같이 살펴 보고 논의하며 일을 하고 있습니다.

Java로의 전환

가끔 회사 외부 분들을 만나서 대화를 나누다 보면, 배달의민족은 어떤 언어를 이용하여 구현했냐는 질문을 받는데요. 크게 보면 대부분의 서비스 로직이 MS SQL Server라는 DBMS의 Stored Procedure로 구성이 되어 있고, API 요청을 받는 쪽은 PHP로 구현이 되어 있었습니다.

DBMS에 모든 부하가 몰리는 구조이기 때문에 서비스 요청이 많아지면서 특정 요청에 대한 처리가 잘못되면 DBMS 부하로 장애가 나타나는 현상이 많았습니다. 근본적인 해결책은 DBMS에 있는 서비스 로직을 Application 서버 단에서 처리하는 것이고, 어떤 프로그래밍 언어를 쓸까 고민하다가 Java를 선택하게 되었습니다. (왜 Java를 선택했는지에 대해서는 나중에 다른 글에서 말씀 드리지요)

작년 4사분기. 서비스와 밀접하게 연결되어 있는 빌링 모듈을 별도로 분리하여, 아예 물리적으로도 별도의 시스템으로 구축해야 하는 상황. 이미 PHP로 개발이 진행된 부분이 있었음에도 불구하고, 해당 프로젝트를 수행하는 분들이 저에게 Java로 바꿔서 진행해 보면 어떻겠냐는 의견을 주었고, 저는 일정을 약간 조정해서라도 한 번 시도해보는 것이 좋을 것 같다고 의견을 드렸습니다.

그 뒤로는… 프로젝트 진행 도중에 일어난 잘못된 의사 결정이 얼마나 구성원들을 힘들게 하는지…를 잘 느낄 수 있었던 시간이 있었는데요… ^^; 그와 동시에 배달의민족 서비스를 Micro-service architecture 형태로 분리하는 첫 걸음이자 Java/Spring을 도입하는 첫 걸음이기도 했습니다.

great_employee
[고생 뒤에 영광. 얼굴만 보면 고생은 내가 다 한 듯]

이 때도 정말 놀랐던 것이, 보통은 자신이 감당해야 할 부담이 늘어날 수 있기 때문에 익숙함을 선택하기 마련인데, 프로젝트를 진행하던 분들이 우리가 가야 할 변화의 방향이라면, 힘들더라도 그 당시에 피하기보다는 정면으로 맞서서 어떻게 해서든 해보려고 했다는 점입니다.

같이 성장하는 것을 꿈꾸는 사람들

이러한 일들을 진행하면서, 작년 12월부터 본격적으로 구인을 시작했습니다. 그 때, 제가 많은 분들에게 드렸던 말씀은 다음과 같습니다.

  1. 이 조직은, 정말로 변화에 열려 있고 갈망한다.
  2. 그 변화를 같이 만들어 나갔으면 좋겠다.
  3. 시니어의 역량은 내가 얼마나 많은 것을 아느냐가 아니라, 나로 인해 같이 일하는 사람들이 얼마나 좋은 쪽으로 변화하고 그것을 통해 실질적인 성과를 만들어내는 데 있는 것 같다.
  4. 시니어가 이런 성과를 거두기 위해서는 같이 일하는 사람들도 그것에 동참해야 한다. 우아한형제들은 이것이 가능한 조직이다.
  5. 이 과정을 통해서 시니어도 성장할 수 있다고 생각한다.

이미 잘 하는 조직이니까 여기에 오면 좋다는 것이 아니라, 변화를 만들어 가는 과정에 같이 참여하고 그것을 통해 경험할 수 있는 것이 많다는 점에서 좋은 조직. 그것이 우아한형제들의 기술조직이라고 생각합니다. 다행히 이런 생각에 동참하는 분들이 합류하기 시작했고… 이 분들이 합류하면서 이러한 변화의 방향이 더욱 빨라지고 있는 것 같습니다.

공유

이러한 변화가 조금씩 체감되면서, 조직 내에서는 점점 공유가 활발해졌는데요. 공유에 있어서 중요한 것은, 내가 뭔가 대단한 것을 알아서 공유하는 것이 아니라, 내가 새롭게 알게 된 것을 공유함으로써 나 스스로 한 번 더 정리를 하고, 혹시 나와 비슷한 경험을 하게 될 사람들을 돕는다는 것입니다.

모르는 것은 부끄러운 것이 아니라는 것. 모르는 것을 모른다고 말하지 않는 것이 부끄러운 것이라는 생각. 현재 실력이 뛰어난 것이 중요한 것이 아니라, 계속 발전하기 위한 노력을 하느냐 안 하느냐가 더 중요한 것이라는 생각.

이런 생각이 퍼지면서, 이 블로그가 만들어지기 전 작년 12월부터 사내 Confluence에 여러 개의 글들이 올라오기 시작했습니다. 그리고 7개월이 지난 지금, 130개 정도의 글이 올라와 있습니다.

dev_diary
[글목록을 보시면 월간 잡지도 있습니다. ㅎㅎ]

보시면 아시겠지만, 그 글의 주제가 정말 대단한 것이어서가 아니라, 새로 Java를 하면서 알게 된 사실들, AWS를 쓰면서 알게 된 것들, 본인이 편하게 일하기 위해 알아보고 수정한 내용들… 그런 것들입니다. 얼마 전 올라온 IntelliJ의 VIM 플러그인 개조한 글도 사내에 먼저 공유된 글입니다.

Baby Steps

다시 말씀드리지만, 이 블로그는 우아한형제들 기술조직의 성장일기입니다.

그래서 이 블로그에는 기술적으로 대단하고 멋진 글이 올라오는 것이 아니라, 우아한형제들이 Java로 전환하는 과정에서 새롭게 배우는 것들, AWS로 이전하고 운영하면서 알게된 것들, 개발자로서 관심을 가지고 살펴 보다가 정리가 필요해서 정리한 것들… 이런 글들이 올라오게 될 겁니다.

모르고 있다 새롭게 알게 된 것에 감사하는 마음. 그것을 새롭게 적용해 보고 원하는 결과가 나왔을 때의 벅찬 느낌. 이러한 변화를 이끌고 따라가고, 떄로는 역할이 바뀌어서 따라가고 이끄는 과정에서 느끼는 감정들. 이런 것들을 우아한형제들에 있는 사람들과, 또 저희를 관심있게 지켜 봐 주는 분들과 나누고자 합니다.

비단 개발자뿐 아니라, 사람이 가장 밀도있게 성장하는 때는, 잘하는 것을 계속하는 것이 아니라, 어제보다 나은 오늘과 오늘보다 나은 내일이 끊임없이 반복될 때라고 생각합니다.

걸음마를 걷다 보면, 아직 미숙하기 때문에 당연히 많이 넘어질 수밖에 없습니다. 넘어지는 것이 두려워서 발걸음을 내딛지 않는 것이 아니라, 넘어지더라도 씩씩하게 발걸음을 내딛고, 옆에 있는 동료가 힘들어하면 같이 부축해서 걸을 수 있는 조직. 우아한형제들 기술조직이 그런 조직이 될 수 있으리라 믿습니다.

그래서 이 블로그는 작게는 우아한형제들이 기술적으로 발전해 나가는 걸음마의 기록이고, 좀 더 크게는 비슷한 고민을 하던/하시는 분들과 부족한 경험이나마 같이 나눌 수 있는 그런 공간이 되었으면 좋겠습니다.