brunch

You can make anything
by writing

C.S.Lewis

by 김건호 Oct 24. 2022

커리어데이의 개발 조직에 대하여

우리 개발 조직이 나아갈 방향은?

"Tech Lead 가 어떤 사람인지 궁금할 것 같아요."


저는 커리어데이라는 신생 스타트업에서 테크 리드를 하고 있습니다. 이제 개발자를 한 분 더 모시기 위한 준비를 시작하는 참이었는데요, 이를 위해 저는 나름 성심성의껏 쓴 개발자 포지션 JD (Job Description)를 HR을 담당하는 동료에게 넘겨드렸습니다. 그는 제가 쓴 JD를 보고 채워져야 할 곳을 여러 군데 짚어주면서, 저에게 또 한 가지 숙제를 요구했는데 "테크 리드가 어떤 사람인지 그리고 어떤 생각을 가지고 있는지 서술해달라"고 했습니다.

 

  와 이런 어려운 과제를! 하지만 필요성에 대해 완벽하게 이해합니다. 우리는 누구나 이름만 대면 알만한 대기업도 아니고, 하물며 시리즈 B/시리즈 C 투자를 받은 잘 나가는 스타트업도 아니니까요. 여러분과 같이 일할 사람이 최소한 속 터지는 꼰대가 아니라는 보장만이라도 해야 하는 것이 지금 우리의 상황인 것입니다. 그래서 제가 가진 생각들에 대해 간략하게 서술해보도록 하겠습니다.


2022년 10월, 커리어데이의 현재


커리어데이는 2021년 가을에 시작하여 지금까지 총 7억의 시드 투자를 받았습니다.


개발 스택은 특별할 것 없이 남들 다 쓰는 스택 사용 중입니다.

(1) 클라우드는 AWS. 아직은 Elastic Beanstalk 주로 사용 중. S3, Cloudfront, SES 등도 잘 사용 중.  

(2) React (Next.js), Node (Nest.js), MongoDB Atlas, MySQL, Golang 사용 중.

개발 스택 선택을 선택할 때는 '개발자 입장에서 사용하기 편한지'가 제일 중요했습니다. 개발자의 시간은 아주 소중하니까요. 이 개발 스택의 장단점에 대한 이야기는 나중에 좀 더 이야기할 기회가 있을 것 같습니다.


여러분이 JavaScript 혹은 TypeScript 개발을 즐기신다면 좋겠지만 사실 그렇지 않더라도 괜찮습니다. 개발자의 역량은 특정 언어에 대한 이해가 전부는 아니므로, 예컨대 C#이나 Java 등을 잘 이해하고 계시다면 즐겁게 호흡을 맞춰볼 수 있을 것입니다.


그리고 사무실 위치. 커리어데이는 지금 스파크플러스 잠실점에 있지만, 12월부터 선릉으로 이동할 예정에 있습니다! 참고해주세요.


테크 리드의 이력


저의 과거 이력을 간단하게 서술하자면 다음과 같습니다.


- 첫 입사 LG전자 CTO 부문으로 첫 입사. 대기업 문화 체험.

- 야망을 갖고 퇴사하여 아무도 모를 스타트업 합류. 스타트업 씬이 대충 어떻게 돌아가는지 여러모로 경험.

- 좌절하고 퇴사 후 이베이코리아 합류. eCommerce의 결제, 쿠폰, 반품/취소 등 꽤 재미있는 영역들에 대한 개발 경험과 훌륭한 복지 문화 체험.

- Garrett Advancing Motion에 입사. 개발 조직에 한국인이 나 혼자밖에 없는 희귀한 경험. 집에 틀어박혀 매일 온라인으로 해외 팀원들과 소통하면서 마치 NPC들과 게임하듯이 일하다가...

- 커리어데이에 테크 리드 & Co-founder로 합류.


사실 뭐 대단히 자랑할만한 이력은 없습니다. 아쉽습니다 넷플릭스에라도 다녔어야 했는데요. 하지만 세상을 바꾸기에 충분한 경험치를 쌓았다고 생각합니다. 제 링크드인 프로필은 조금 더 있어 보일 수도 있습니다 (그냥 영어로 쓰여 있어서 그런 것 같기도 합니다).





개발 리드로서 제공하고자 하는 3가지 기본 요소


이것은 저의 가치관에 대한 이야기입니다. 기본적으로 아래의 3요소가 잘 충족이 된다면 우리는 회사에서  행복하게 생활할 수 있다고 생각합니다.

 

1. 도전적인 미션

우리 개발자에게 주어지는 과제들이 적절하게 도전적이어야 합니다. 너무 쉽고 재미없는 과제를 계속 반복하는 것은 하루하루 삶을 지루하게 만듭니다. 적절하게 도전적이어서 제대로 완수했을 때의 성취감을 느낄 수 있어야 합니다. 적절한 난이도의 미션들은 우리를 그 일에 몰입하게 만듭니다.

  물론 난이도가 너무 갑작스럽게 높아지는 일 또한 피해야 합니다. 우리 상태와 장비가 레벨 2인데 갑자기 디아블로가 나오면 행복도가 급감하겠죠. 손도 못쓰고 리타이어 할 테니까요.

  그래서 제가 개발자분들과 업무를 분담할 때 기본적으로 신경을 계속 쓸 부분은 업무의 난이도입니다. 쉽고 지루한 태스크를 우리 반복적으로 수행하지 않도록 적절히 분배하는 것이 저의 임무입니다.

  물론 그러려면 회사의 성장 또한 뒷받침되어야 합니다. 점점 더 높은 난이도의 태스크를 계속 수행할 수밖에 없는 상황은 회사의 성장에서 비롯되기 때문이지요.


2. 자율성

마이크로 매니징이 얼마나 좋지 않은지는 구글에 한 번만 검색해도 단박에 알 수 있습니다. 미션을 부여받으면 그 미션을 어떻게 해결할지 스스로 계획하고 설계하여 진행하도록 자율성을 부여받는 것이 우리가 행복하게 일하는 길이죠.

  다만 여기서 중요한 것이, 자율성을 부여받는다는 것이 '처음부터 끝까지 내 마음대로 하겠다'라는 것이 되어서는 안 됩니다. 우리는 조직적으로 일을 진행하므로, 내가 무엇을 어떻게 어떤 방식으로 작업할 것인지 중간중간 팀원들에게 알려주는 것이 매우 중요합니다. 자율성은 주어졌으나 우리 스스로 완벽하다고 믿어서도 안됩니다. 내 계획을 잘 알려줌으로써 팀원들로부터 피드백을 받고 팀원들도 대비할 수 있도록 도와주세요. 큰 힘에는 커다란 책임이 따릅니다.


3. 성과에 따른 보상

우리들의 성과 그리고 장단점은 지속적으로 파악되고 관리되어야 합니다. 성과 평가는 일 년에 한 번 이런 식으로 간헐적으로 이루어져서는 안 됩니다. 수시로 성과와 강점/약점에 대해 이야기하여 매니저와 컨센서스가 이루어져 있어야 합니다.

  또한 우리들의 성과는 다른 회사에 있는 개발자분들보다 비교적 높은 보상으로 돌아올 수 있어야 합니다. 같은 성과로 우리 회사에 5년 다닌 것과 다른 회사에 5년 달랐을 때의 보상의 결과는 아주 달라야 합니다. 남들과 같은 수준의 보상으로는 우리 회사에 오래 다니고 싶은 욕심이 생기지 않을 것이기 때문이죠.

  이를 위해선 당연하겠지만 회사의 성장이 뒷받침되어야 합니다.




개발 리드로서 제공하고자 하는 커리어 관리



1. One-On-One

원온원(1:1) 미팅은 항상 주기적으로 이루어질 것입니다. 지금은 한 달에 한 번 이루어지고 있습니다. 조직 구성원들이 생각하는 현재 본인의 상태와 회사의 상태, 그리고 본인의 고민거리와 자랑거리에 대해 아무 방해 없이 공유할 수 있는 기회입니다.

  이것은 구성원이 회사에 대한 피드백을 하는 자리이고, 구성원에 대한 회사의 피드백 또한 받을 것입니다. 이런 주기적인 상호 피드백이 회사와 구성원 간의 발전적인 논의를 하면서도 감정적 동요를 최소화하는 가장 좋은 방법이라고 믿습니다.


2. 교육 및 트레이닝

완성형이 되어 회사를 다니는 사람은 없습니다 (본인이 완성형이라고 생각한다면 그것보다 큰 비극은 없을 겁니다). 회사를 다니면서도 회사와 구성원은 같이 성장해 나가야 합니다. 이를 위해 받고 싶은 교육이 있다면 회사는 이를 지원해줘야 합니다. 구성원의 성장이 회사의 성장이기 때문입니다. 대기업에서 끊임없이 교육 세션을 가지는 것은 돈과 시간이 남아돌아서가 절대 아니죠.

  받고 싶은 교육이 있다면 말씀해주시고, 또한 지금 받고 싶은 교육이 없다면 어떤 교육을 받을지 저와 상담해볼 수 있을 것입니다.



개발 리드로서의 개발 철학


개발 리드로서의 철학은 현재로서는 딱 하나입니다.


"단순함이 최고의 디자인이다."


요즘 사람들은 가끔 Kubernetes 가 없으면 웹서비스가 존재하지 않을 것처럼 말하기도 하고, Serverless를 쓰지 않으면 시대에 뒤떨어진 것처럼 말하기도 합니다. MSA를 하지 않는 회사에 다니는 것은 창피한 일이라고 생각하는 분들도 있는 듯합니다.

  그러나 제 철학은 "소프트웨어 디자인은 가능한 한 간단한 상태를 유지하는 것이 개발자도 행복하고 유저도 행복한 일이다"라는 것입니다. 트렌디한 기술들을 무작정 도입함으로써 간단할 수 있는 디자인이 쓸데없이 복잡해지는 일을 너무 많이 봐왔습니다.

  커리어데이는 지금 인력이 적고 서비스가 만들어진지 얼마 되지 않았습니다. 그래서 특히 지금 스테이지에서 디자인을 아주 심플하게 유지하여 앞으로의 변화에 대응하기 쉽도록 하며 유지보수 또한 용이하게 할 것입니다. 다만 최신 기술들이 심플한 디자인을 더 도와준다면 두 팔 벌려 환영합니다. (MongoDB Atlas Search 가 여기에 딱 부합하는 예라고 생각하는데 나중에 풀어볼 기회가 있을 것 같습니다.)





개발 리드로서 하지 않겠다고 약속드릴 수 있는 것들


여기에는 너무 당연한 이야기들도 포함되어 있습니다. 그래도 굳이 다시 명문화하면 좋을 것 같아서 적습니다.


1. 야근 강요

이건 제가 잘 몰라서 그런데 요즘 야근 강요하는 곳이 있나요? 어쨌든 저희도 그런 건 없습니다. 우리가 기본적으로 정해둔 출근 시간은 오전 8시부터 11시 사이에 출근하고 9시간 후 퇴근하는 것입니다. 아침에 더 일찍 출근하지 않는다고, 저녁에 더 늦게 퇴근하지 않는다고 불이익이 가는 일은 결코 없을 것입니다. (그런 상황을 드라마에서만 봐서 실존하는지 잘 모르겠네요)

  다만 프로젝트에 필요한 경우, 어쩔 수 없이 다 같이 주말에 출근하거나 하는 일이 아주 가아아끔 있을 수는 있을 것 같습니다. 지난 1년간 개발팀이 주말에 출근했던 적이 한 번 있었습니다.


2. 연차 사용 사유 설명 요구

연차는 주어진 만큼 그냥 쓰시면 되고 사유 설명은 불필요합니다.


3. 정치적 가치관 설명 요구

정치 이야기는 사내에서 금지입니다. 정치 이야기가 허용되었을 시 잃을 것은 너무 많고 얻을 것은 하나도 없다는 결론을 내렸습니다.


4. 식사 동석 강요

저는 점심 먹으러 갈 것이냐고 매일 팀원들에게 물어봅니다. 그때 그냥 Yes or No로 대답해주시면 됩니다.


5. 코드 작성자에 대한 사후 비난

코드에 관련하여 사건이 터지고 나면 코드 작성자를 비난하거나 하는 일은 없습니다. 코드를 merge 할 때 저희는 항상 리뷰를 거칩니다. 팀의 리뷰를 거친다는 것은 작성된 코드가 팀 공동의 관리 책임으로 넘어간다는 것을 의미합니다. 다만 반성과 회고는 항상 있어야겠지요.





테크 리드가 생각하는 좋은 동료



제가 생각하는 좋은 동료상도 물론 빠질 수 없겠죠. 간단하게 풀어보도록 하겠습니다.


1. 커뮤니케이션 역량이 좋은 사람: 긍정적이고 솔직하며 자주 공유하는 사람.


최근 모든 회사들이 JD를 작성할 때 커뮤니케이션을 잘하는 사람을 기본 요건으로 넣고 있는 것 같습니다. 그런데 커뮤니케이션 역량이라는 말이 좀 모호할 수도 있다고 생각해서, 저는 여기에 '긍정적이고 솔직하며 자주 공유하는 사람'이라는 단서를 추가하려고 합니다.


  제가 말하는 긍정적인 사람은 동료를 신뢰하는 사람입니다. 동료가 의견을 냈을 때 '내가 그거 해봤는데 그거 안돼요'라고 한다거나 '그게 말이 되나요?'라고 공격적인 태도의 발언을 한다면 저는 그를 동료에 대한 신뢰가 없는, 조직을 해치는 사람으로 인식하게 될 것입니다.


 솔직하다는 것 일을 잘하고 있는 것처럼 지나치게 스스로를 포장하려 들지 않는 것입니다. 포장지를 잘 씌워 역량이 좋아 보이면 물론 좋겠지만 결국 본질은 항상 보이게 마련입니다. 그보다는 항상 솔직하고 빠르게 본인의 업무 상황을 공유하는 것이 팀원의 피드백을 받아 개선하기도 좋고, 팀원들도 이 업무에 대해 지식을 전달받고 대비할 수 있어서 팀 전체에 이롭습니다.


  자주 공유하는 것은 팀이 팀답게 활동하기 위한 기본입니다. 아키텍처 디자인이나, 업무 계획이나, 코드 작성이나 어떤 것이라도 좋습니다. 진행하는 일이 완벽하지 않더라도 현재의 진척도를 자주 공유해주는 것이 매니저도 팀 동료들도 보다 안심하고 현재 상황을 파악할 수 있고, 이는 팀 프로젝트의 실패율을 현저하게 낮춥니다. 반면에 팀에서 개인이 빛나기 위해 무언가를 숨기기 시작하는 순간부터 팀의 역량은 크게 훼손된다는 사실을 이해하는 분이었으면 합니다.


2. 여가 시간을 즐겁게 보내는 사람

스타트업은, 비유하자면, 어떤 사람(예컨대 대표)이 세상에 대해 이런저런 실험을 하여 어떤 방법이 잘 통하는지 알아보는 과정입니다. 그러나 혼자의 힘은 미약하므로 여러 사람이 합체하여 덩치를 키워 보다 더 큰 힘으로 실험을 이것저것 계속합니다. 여기서 포인트는 '이것저것 실험해야 한다'는 것입니다. 실험과 실패를 반복해야 는 것은 힘들고 지난한 일일 수 있습니다, 아니 아마 반드시 그럴 것입니다. 저번 달에 한 일이 이번 달에 연속성을 가지지 못하고 폐기될 수도 있는 것입니다.

  따라서 여가시간에 리프레시가 확실하게 되는 편이 좋습니다. 회사에서는 일에 몰입하고, 회사를 벗어났을 때에는 완벽하게 일을 잊어버릴 수 있는 친구나 취미 활동을 만드세요. 누군가는 이렇게 질문할지도 모릅니다. "스타트업은 대기업과 달라서 직원들이 모든 것을 쏟아부어야 하는 것 아닌가요?" 그렇지 않습니다. 일은 일이죠. 저는 회사 일을 할 때와 그렇지 않을 때를 분리하는 법을 아는 동료를 오히려 선호합니다. 여가를 확실하게 보내는 사람들이 일에 대해서도 몰입도가 높은 경우를 많이 봐왔습니다. 그리고 지난한 과정을 견뎌내는 능력도 높습니다. 스타트업이 단거리 질주가 아니라는 점을 생각했을 때 이 부분은 매우 중요합니다.


3. 친절한 사람

우리는 가끔 드라마에서 이런 캐릭터를 보곤 합니다. 주변 사람을 대하는 태도가 아주 끔찍하고, 안하무인에 말버릇이 고약하며 자기 내키는 대로 행동합니다. 하지만 주위에서 그 사람을 누구도 건드릴 수 없습니다. 왜냐하면 그는 능력이 무지막지 뛰어나고 그가 없으면 회사가 도무지 돌아가질 않기 때문이지요! 그래서 주위 사람들이 도저히 그 사람을 포기할 수가 없습니다.

  왜 드라마에 이런 매력적인 캐릭터가 등장할까요? 그건 아마 실제로는 좀처럼 있을 수 없는 사람이기 때문입니다. 아무에게도 도움받지 않고 조직 전체의 방향을 이끌어나갈 수 있는 사람은 많지 않습니다. 물론 엄청난 천재들이 가끔 그럴 수도 있겠죠. 하지만 여러분이 그 엄청난 천재일 가능성은 상당히 작고 (죄송합니다), 제가 지금까지 봐왔던 많은 천재들도 결국 회사나 학교에 속해 조직생활을 하고 있습니다. 결국 여러분이 천재이든 아니든 주변이 여러분을 돕게 만들어야 하는 것은 똑같다는 것이죠.

  저는 여러분이 항상 친절한 사람이면 좋겠습니다. 저도 여러분에게 친절하겠습니다.


제가 생각하는 좋은 동료에 대해 서술하다 보니 생각보다 길어졌네요. 사실 잔소리꾼일지도 모르겠습니다.














커리어데이에 합류하세요!



저를 간단히 소개하고 회사관과 동료관에 대해 간단히 말씀드렸습니다. 이 글을 읽는 것이 커리어데이에 대한 궁금증을 불러일으키는지 잘 모르겠네요. 일단 최대한 솔직하게 써봤으니 궁금한 점이 있다면 언제든지 메일이나 링크드인으로 문의해주세요!


또한 저는 커리어데이 테크 리드로서, 테크 조직의 현재와 앞으로에 대해서만 이야기했습니다. '커리어데이' 라는 회사 전체의 비전과 미래에 대해서는 이야기하지 않았습니다. 커리어데이라는 회사는 어떤 회사인지, 그리고 CEO & Co-founder의 비전은 무엇인지를 보고 싶다면 여기를 클릭해주세요.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari