조직이 성장하는 법 – 문화와 시스템

🦦 hoonyland
9 min readMar 11, 2018

--

김지민앤컴퍼니의 직원이 3명에서 14명으로 늘어나면서 3명이 겨우 들어가는 작은 공간에서 어느새 2층짜리 사무 공간이 생겼고, 3명이서 때론 밤도 새가며 맡던 4~5개의 프로젝트가 어느새 2~3명씩 담당자가 생기고 기획자/디자이너가 참여하는 10여개 이상의 프로젝트로 늘어났다.

이 과정에서 필요한 것은 첫번째 채용을 위한 급여, 그리고 문화와 시스템이었다. 고개만 들어 이름만 부르면 들리던 공간에서 이제는 층이 달라지고, 재택근무가 생겨 공간의 의미가 사라졌다. 부분만 말해도 줄줄이 꿰던 프로젝트 현황에서 누군가는 이름을 처음 들어보는 프로젝트가 생길만큼 프로젝트의 가지 수는 다양하고 많아졌다. 변수명, 커밋메시지만 봐도 누가 올린 커밋인지 파악할 수 있었지만 이제는 커밋 기록을 전부 다 살펴보기도 불가능할 만큼 많은 사람들이 수많은 소스코드를 생산해내고 있다.

출처: http://market-entry-romania.blogspot.kr/2015/10/video-games-development-in-romania-five.html

이렇게 급격하게 변화된 환경에서 더 나아가기 위해 즉, 함께 성장하기 위해서는 문화와 시스템을 갖춰 나가는 것은 필수적이다. 애초에 1년동안 빠르게 인원을 늘리게 된 목적도 회사의 성장에 있었기 때문이기도 하고. 이런 시기 동안에 이런 문제는 이렇게 풀어볼까, 이 목표는 이런 방식으로 달성해볼까라는 고민을 하는 과정에서 이슈에 따라 문화적으로 혹은 시스템적으로 접근할까라는 결정은 본능적이었다.

개인과 조직이 함께 성장하기

`뛰어남`의 기준은 가지각색이겠지만 프로그래머의 실력만을 본다면 뛰어난 개인들이 모인다고 해서 훌륭한 조직이 만들어진다고는 생각하지 않는다. 반대로 훌륭한 조직에서는 평범한 개인들이 프로그래머로서 뛰어난 성장을 이룰 수 있다고 믿는다. 물론 훌륭한 조직에서 성장하는 개인들은 조직이 더욱 성장하도록 기여하는 선순환을 가질 것이고.

김지민앤컴퍼니는 조직으로서 성장하기 위한 전략의 첫 단계로 인원을 늘리는 것을 선택했다. 첫 단계에서 소규모 에이전시로서는 자연스럽고 어쩔 수 없는 채용 전략으로 대부분이 주니어 레벨의 프로그래머였고 그 중 많은 인원이 전공이나 직종을 변경하여 프로그래밍을 접한 시간이 그리 길지 않은 상태였다.

3명이 14명으로 늘어나는 이 과정에서 나는 프리랜서로서 절반, 그리고 정직원으로서 절반의 시간을 함께 보냈다. 그동안의 가장 큰 고민은 프로그래머라는 경력의 초반을 보내고 있는 직원들이 함께 성장하는 것이었고, 개인들이 성장하는데 밑거름이 될 수 있는 더 나은 팀, 더 나은 조직을 만들어 나가는 것이었다. 즉, 개인과 조직이 함께 성장하기 위해, 그리고 그 과도기에서 발생하는 문제를 해결하기 위해 우리 나름의 조직문화 시스템을 갖추어 나가야 했다.

김지민앤컴퍼니의 시도

긍정의 성장 — 문화

우리가 문화적으로 접근한 것들은 한결같이 개발에 대한 태도였다. 어떻게하면 개발을 즐길 수 있을까? 어떻게 하면 더 나은 개발자가 될 수 있을까? 어떻게 하면 즐겁고 함께 성장할 수 있을까? 생각해보면 이러한 고민들은 조직의 성장보다는 개인의 성장을 위한 고민이고, 직접적인 해결책 이라기보다는 간접적이지만 스스로가 성장할 수 있는 분위기를 만들어 주는 것이다.

출처: 천재학습백과

새마을운동

  • 기록: https://www.notion.so/kimjiminandco/af1007cddc204d33b1a1699cb0b23283
  • 원래는 (역시 나라는 사람답게) 참 재미없게 “아침 일찍 일어나서 공부할 사람~”으로 시작했던 것이 “저도 내일 새나라 어린이 같이 할게요”라는 샘의 언급에서 `새나라의 어린이` 가 됐다가 첫 출근이 일주일도 안 된 허수정(~~false-crystal~~)님이 “저도 새마을 같이 하겠습니다!”에서 결국 `새마을 운동` 이 되었다.
  • 10시라는 명시적인 출근 시간이 있지만 우리는 기본적으로 자율 출근, 8시간 근무의 문화를 가지고 있다. 일반적으로 9시 30분에서 10시 30분( ~~12시~~)에서 출근하고 있는데 아침 8시 30분 정도에 나와 1시간 정도 스스로 도움이 되는 분야에 대해 공부하는 시간을 갖는다. 각자 공부한 내용들은 Notion에 공유하여 지식도 공유하고 의지도 공유하고 (눈치도 공유하고)

Lunch & Learn

  • 기록: https://www.notion.so/kimjiminandco/Lunch-Learn-9f83e32b9716409ba922322390120527
  • 점심 식사 직후 자발적인 개인이 나머지 직원들에게 지식 공유 시간을 갖는 문화이다. 인원이 늘어나는 과정에서 대부분 주니어 레벨이다 보니 RESTful API 작성법, Callback과 Promise 등 서로 간의 지식 공유보다는 웹프로젝트를 함께 할 때 최소한으로 알아야 할 수준을 끌어올리기 위한 수단으로 시작했다.
  • 현재는 프로젝트를 진행하면서 혹은 개인적으로 공부하면서 동료가 알면 좋을 내용들을 자발적으로 공유하는 시간으로 사용하고 있다. 주기나 횟수를 정해놓고 있지는 않으며 진행하려는 동료가 있다면 사전에 진행할 일정을 공유하고 비정기적으로 진행하고 있다.

주코야독

출처: 김지민앤컴퍼니 슬랙 대화창
  • 새마을운동과 같은 목적으로 시작되었지만 저녁형 인간인 직원들을 위하여 시작되었고 새마을운동의 경쟁(?) 문화로 떠오르고 있다. 23시부터 24시까지라고 정해놓았지만 자율적으로 저녁에 공부하고 내용은 역시 Notion에 공유한다.

월요만담회

  • 페이스북에서 마크 주커버그가 일주일에 한 번 정도 직원들과 허물없는 대화의 시간을 갖는 것을 참고하여 시작했다(참고: QA with Mark).
  • 앞의 세 가지와는 조금 다른 성격의 문화이다. 프로그래머로서 개인의 성장을 위한다기보다는 한 팀, 한 조직의 일원으로서 조직이 성장하고 나아가는데 모두 함께하고 있다는 것을 놓치지 않기 위한 것이다. 아직은 대화의 주제나 화자가 다양하진 않지만 아직 시작 단계에 있다고 생각한다.

부정의 해결 — 시스템

협업 원칙: 품질관리

Github 이슈 관리 시 Label 원칙

  • 기록: https://www.notion.so/kimjiminandco/Github-Label-Guide-27d5d0db059d461d9acb9d3eeba11f2f
  • 협업의 기본이 되는 이슈 관리에서 Label을 정책적으로 활용하기 위한 목적은 두가지이다. 협업의 효율성과 현황 파악. 프로젝트 개발에 참여하는 개발자, 디자이너, 기획자들이 약속된 정책에 따라 레이블을 활용한다. 이로 인해 각 이슈 단위로 내용과 개발/해결 현황을 파악하여 놓치는 부분을 최소화 하며 후에 발생할 버그에 대비하고, 프로젝트 관리자 혹은 대표는 프로젝트 단위로 개발 현황을 파악할 수 있다.
  • Github API를 기준으로 가볍게 레이블을 원하는대로 초기화 할 수 있는 Script 파일을 공유합니다: https://github.com/edkimco/scripts

Github Commit Message 원칙

  • 기록: https://www.notion.so/kimjiminandco/Commit-Message-Rules-748afe8deb6c44e9be062e811ccd6c29
  • Label 원칙의 목적과 비슷하지만 오직 개발팀에 해당한다. 2명에서 많으면 4~5명이 함께 프로젝트 개발에 참여하게 되는 경우 그 결과물은 장기적으로 개인의 역량보다 협업의 수준에 달려있다. 짝프로그래밍이나 코드리뷰를 실제 개발 단계에서 실천하기는 아직 이르다고 판단하였고 그 전 단계에서 실천할 수 있는 개발자간의 협업 원칙이다. 원칙을 정하는데 참고한 문서는 위 링크에 포함되어 있으며 초안 작성은 화니가 담당하였다.

문화와 시스템을 선택하는 기준

앞서 언급했던 것처럼 어떤 문화와 시스템을 시도하고 갖추는 과정에서 ‘음 이 문제는 어떻게 해결하는게 좋을까? 라는 고민보다는 ‘이렇게 해보자’하는 본능에 가까웠다. 돌이켜 생각해보고 이렇게 글로 정리해보면서 두 방식의 차이점을 따져 본 결과 다음과 같았다.

  • 문화로 접근하는 문제: 긍정적인 성장을 위한, 개인적, 자율적, 선택적
  • 시스템으로 접근하는 문제: 부정적 문제의 해결을 위한, 조직적, 필수적

만약 같은 성격의 문제를 반대로 접근한다면 어떻게 될까?

문화로 접근하는 문제를 시스템으로 해결하려는 경우
꼰대다. 강제할 수 없는 개인의 선택을 강제하게 되면서 개인의 자발적인 의지가 상실되고 성장에 대한 태도와 개발에 대한 흥미에 역효과를 불러올 것이다. 즉? 퇴근하면 개발의 ‘개’자도 듣기싫겠지.

시스템으로 접근하는 문제를 문화로 해결하려는 경우
개인과 조직 모두의 성장에 실패할 것이다. 성장 과정에서 생기는 부정적인 문제는 ‘반드시’ 해결해야 할 문제이다. 해결하면 좋고 아니면 말고가 아니다. ‘같이 해볼까요?’라는 식의 접근은 조직 단위의 일관성과 자발적인 참여를 지속적으로 이어나가는 것을 기대하기 어렵다. 조직으로서 반드시 지켜야 할 것들이지만 `반드시`에 대한 공감을 이끌어 내기도 어려울 뿐만 아니라 결과물이 개개인의 능력에 좌지우지 될 확률이 높다.

출처: http://www.pt-elite.com/blog/resolution

성장의 과도기

김지민앤컴퍼니는 이제 막 성장을 위한 출발점에서 출발을 알리는 총성을 들은 지점에 있다. 계획된 채용을 마무리 하였고, 손발을 맞추고 서로의 역할을 서로가 이해하기 시작했다. 자기 자리에서 자기가 해결하고 나아가야 할 것을 알아가고 있다. 성장을 위한 첫 단계가 마무리 되었고 이제 다음 단계로 나아가야 할 때이다. 우리가 얼마나 훌륭한 조직을 이루게 될 지, 그 과정에서 얼마나 뛰어난 개인들이 성장을 이루어 나갈 지는 모르지만, 나는 지금 우리가 매우 흥미로운 시작을 하고 있다고 믿는다.

--

--