초기 스타트업은 어떤 개발자를 채용해야 하나


개발자 채용이냐 외주 개발이냐

초기 스타트업이 서비스를 개발하기 위해 할 수 있는 선택지는 크게 개발자 채용과 외주 개발 두 가지가 있습니다. 글을 쓰는 제가 스타트업에게 의뢰받아 서비스를 개발하는 개발 파트너의 입장이기 때문에 채용과 외주 간에 중립적인 비교가 어려울 것이라 생각하시겠지만 저는 의외로 만나는 고객사마다, 창업팀에 합류할 의사가 있는 좋은 개발자가 주변에 있다면 외주보다 채용이 낫다고 말씀드립니다.

개발자 채용을 먼저 시도해보신 후 잘 안 되시거나 채용 성공 후 개발자가 금방 이탈하거나 주니어와 개발을 하는데 너무 오랜 시간 시행착오를 겪고 있으실 때 다시 개발 의뢰를 고민하라고 말씀드리고 있고 더불어 어떤 개발자를 채용해야 하냐고 질문을 받는 경우가 많아 그에 대한 글을 정리해봤습니다.

지금은 15명의 개발팀을 운영하고 있지만 15년의 커리어 동안 스타트업을 하면서 프리랜서 개발자에게 외주 개발을 맡겨보기도 했고 기획과 프로젝트 매니지먼트를 수년간 했었으며 10년 이상 직접 개발을 하고 있고 개발팀을 이끌거나 기획팀/디자인팀/개발팀이 합쳐진 서비스 본부를 맡아보기도 했으므로 여러 가지 선택지를 경험했습니다.

몇 년차 개발자를 채용해야 하나

공동창업자급의 시니어 개발자나 같이 성장할 수 있는 태도와 학습 능력이 좋은 3~5년 차 경력 개발자가 합류한다면 이분들과 팀빌딩을 하여 자체 개발을 하는 것이 가장 좋은 선택지입니다. 처음부터 비개발자인 창업자가 2~3명의 개발자로 구성된 개발팀을 꾸리는 것은 어렵기 때문에 보통 한 명의 개발자를 채용하게 됩니다.

적어도 3~5년 차 이상이고 스타트업 서비스를 주도적으로 개발해 본 개발자를 채용하는 것이 좋습니다. 1~2년 차 이하의 개발자라면 협업 경험이 적어 창업자/기획자의 이야기를 잘 이해하지 못하거나 쉽게 구현할 수 있는 것을 복잡하게 설계하거나 자신이 짠 코드를 자신이 감당하지 못해 오류를 많이 만들고 쉽게 못 고칩니다. 이 단계에서는 아직 스스로 성장하기 어려워 사수가 없으면 좋지 않은 방법을 반복하게 되므로 혼자 개발을 해야 하는 초기 스타트업에서 주니어 개발자와 창업자는 궁합이 안 맞습니다.

그래서 스스로 개발의 방향성을 가지고 학습할 수 있고 자신감이 있으며 소통 능력이 있고 태도가 좋은 3~5년 차 이상의 개발자를 고려하시는 것이 좋습니다. 연봉과 지분을 맞춰줄 수 있고 1년 이상은 같이 할 정도로 신뢰가 형성되어야 하므로 모시고 오기 위해서는 사업에 대한 비전과 오랜 설득 과정, 어느 정도 정리된 보상 기준이 준비되어 있어야 합니다.

개발자가 원래 근무하던 회사를 그만두지 않고 파트타임으로 참여하겠다고 한다면 그만큼 개발 기간이 길어지고 집중도가 낮아지므로 창업자의 시간과 비즈니스 타이밍을 포기해야 한다는 점을 감안해야 합니다. 스타트업 초기에는 기획과 의사결정이 수시로 바뀌고 개발은 이를 발 빠르게 대응해야 하기 때문에 실력이 아주 좋은 개발자가 짬짬이 참여하는 것보다는 그 보다 실력이 좀 떨어져도 창업자 옆에서 붙어서 같이 개발해줄 개발자가 더 낫습니다.

1년 이상이라는 단서를 단 이유는, 서비스 출시 후 성과를 보이기까지는 혼자서 개발을 이어나가야 할 가능성이 높은데 서비스 출시 전에 이탈하는 것은 개발자 채용과 서비스 개발 과정을 처음부터 다시 해야 한다는 이야기이고 많은 시간과 비용이 낭비되게 됩니다.

출시 후에도 운영 과정에서 지속적인 기능 개선과 오류 대응을 해야 하는데 중간에 개발자가 이탈한다면 이를 이어서 개발해줄 개발자를 찾기는 더 어렵고 찾더라도 인수인계도 쉽지 않을뿐더러 새로운 개발자가 기존의 코드에 적응하기까지 서비스가 불안정할 수밖에 없습니다. 그래서 잠깐 개발해주고 떠날 개발자가 아니라 1년 이상 진지하게 합류하려는 개발자라 아니라면 실력이 좋다 하더라도 고민해봐야 합니다.

어떤 경험을 가진 개발자를 채용해야 하나

3~5년 차 이상이더라도 코드를 작성하지 않고 개발 관리만 해왔거나 테스트 코드만 작성해왔거나 커다란 프로젝트의 특정 파트만 담당해서 오랜 기간 발전시켜왔다면 스타트업 서비스 하나를 온전히 개발해내는 데 시행착오를 겪을 수 있습니다. 제한된 비용과 시간 안에서 요구사항을 UI와 기능으로 바꿔 해석하는 능력, 적당한 기술 타협, 그러면서도 기술 부채에 대한 적절한 컨트롤이 필요한데 이런 역량이 길러지려면 서비스 전체 레벨에서 구조를 살펴보고 코드를 직접 작성한 경험이 필요합니다.

몇 년차이냐가 똑같이 적용되지 않고 개발자마다 다르기 때문에 단기간에 빠르게 성장한 개발자와 오랜 기간 동안 평평한 성장을 한 개발자를 연차로 단순 비교하는 것은 어렵습니다. 경험의 양과 경험의 질을 모두 고려해야 하는데 1~2년 안에는 압축성장을 했다 하더라도 혼자 서비스 개발을 하기에는 어려움이 있고 3~5년 이상 개발을 했더라도 스타트업 서비스를 혼자서 만들 수 있는 역량이 쌓여 있는지 확인을 해야 하는데 비개발자인 창업가가 이를 판단하기 어려워 주변에 있는 시니어 개발자의 도움을 받는 것이 좋습니다.

경험의 양인 연차는 정량적인 지표라 그래도 파악이 쉽지만 경험의 질은 정성적인 지표이고 측정이 어렵기 때문에 개발자의 태도, 이해능력, 성장 욕구, 함께 일한 사람들의 평가, 시니어 개발자와의 면접이 필요합니다. 1~3개월의 수습 기간을 두고 협업을 원활하게 하는지 약속한 결과물을 적당한 시점에 만들어내는지, 말만 잘하는 사람인지, 겸손한데 묵묵히 좋은 성과를 내는 사람인지 같이 일해 보면서 파악을 합니다.

어떤 태도를 가진 개발자를 채용해야 하나

저는 요즘 좋은 태도를 가진 개발자들을 많이 만나고 있는데 반대로 좋지 않은 태도의 개발자들도 만나봤습니다. 고백하자면 제 스스로가 좋지 않은 태도의 개발자였던 시기가 있었으므로 좋은 태도와 그렇지 않은 태도가 협업의 난이도와 프로젝트 성공 확률을 얼마나 극과 극으로 바꾸는지 알고 있습니다.