필자는 스타트업에 일해본 경험은 없다. 그러나 스타트업(?) 회사는 아닌데 스타트업 형태의 조직을 추구하려는 조직에 몸담은 경험은 많습니다. 아이러니 하죠. 왜 기업은 스타트업 처럼 일하는 걸 좋아 하고 추구하려할까
“이 기능만 만들면 돼”정말 그렇게만 하면 성공할 수 있을까?
처음 스타트업에 합류한 개발자라면 누구나 겪는 당혹스러운 순간이 있다. 기능은 정해지지 않았고, 돈은 어떻게 벌지도 모르는 상태. 이런 상황은 흔하지만, 대처법을 아는 사람은 드물다. 언제 회사가 문을 닫을 지도 모르고 개발자는 필요해서 투자를 받았으니 개발자를 채용하는 것 같지만 어느정도 네임밸류가 있는 회사에서 이직하는 사람들도 꽤 된다.
지금부터 스타트업에서 개발자로 살아남기 위한 7가지 핵심 통찰을 한 번 정리하고자 한다.
1. 성공한 서비스 모델은 결과이지, 시작이 아니다(?)
“한국형 XXX 만들면 대박날 거야.”
다녔던 회사는 항상 경쟁상대(그들은 경쟁 상대로 생각 안하겠으나)가 항시 있었던 시장에서 1위 사업체지만 이상하게 나는 그런 조직안에서도 1위를 하지 못하는 서비스를 담당하고 있었다. 외국 서비들이 많았는데 진짜 한국인들이 좋아하고 특화된 것을 하면 성공한다는 뒤돌아서 보면 착각에 빠져 살았던 것 같다.
“구글,네이버 보다 나은 검색엔진 개발하면 잘 되겠지.”
이 이야기도 마찬가지 일 것이다. 진짜 그러면 사람들이 쓸까? 요새 1인 개발을 하면서 고객의 반응들을 보며 느끼는게 있다. 구글 보다 더 나은 검색엔진을 만들더라도 사용자는 구글을 쓸것이다라고..
많은 대표들이 이런 말을 하면서 개발자에게 요구한다. 하지만 유튜브, 구글, 페이스북,네이버 등 모두 긴 시간의 시행착오와 축적된 데이터로 완성된 거지 단기간에 가시적임이 나오지 않는 다는 말이다. 기능만 복제한다고 같은 결과가 나오지 않는다. 더군다나 회사의 규모를 서서히 키우면서 능력있는 개발자,기획자,운영자 들을 데려오면서 서서히 안정되고 폭팔적으로 성장하는건 자명한 사실이다.
중요한 건 기능이 아니라, 축적된 사용자와 그들의 행동 데이터라고 생각한다.. 그게 곧 경쟁력이고, 후발주자는 이걸 따라잡기 어렵다. 데이터를 볼 줄 아는 데이터 전문가도 전무하니까..
2. 서비스 모델과 사업 모델은 다르다는 걸 이해해야 해
-
서비스 모델: 서비스 모델은 사용자의 편의성, 즐거움, 다양한 시나리오를 기반으로 사용자에게 해당 도메인의 가치를 제공해 주는것이다.
-
사업 모델: 보통 사업 계획서 구구절절 써서 리포팅 하지만 결국 돈을 버는걸 어떻게 할 꺼야? 그 내용이 핵심이다.
스타트업은 대부분 서비스 모델만으로 시작하지만, 결국 사업 모델이 없으면 살아남기 어려워진다.
3. 개발자는 서비스/사업 모델의 불확실성을 받아들여야 한다.
스타트업의 서비스는 늘 변한다. 물론 이건 모든 사업에서도 마찬가지긴 하지만 말이다. 특히 돈없는 스타트업은 더 민감하게 받아 드릴 수있다. 사용자의 반응도 시시각가 변할 소지가 많다.
그런 상황에서 완벽한 설계를 고집하면(나또한 습관때문에 그렇게 하려한다) 기술 부채만 쌓이고 망하는 지름길이 된다고 생각한다.
때로는 “기본 기능만 되고 사용자가 거부감 느끼지 않을 정도만 하고 일단 만들어서 반응을 보자”가 정답이다.
개발자는 코드의 완벽함보다 비즈니스 변화에 유연하게 대응하는 구조를 고민해야 한다.
4. 단계별 적정 기술이 필요하다.
1단계 – 빠르게 MVP 만들기:
DB 를 처음부터 대용량 디비설계를 하고 UI 툴을 결정하고(확장성 고려한다고) 시작하면 고민만 늘어간다.일단 간단한 아키텍처로 시작해보는게 좋다. 처음부터 정교하게 만들면 리스크가 커질 수밖게 없다. 필자도 요령때문에 플러터로 웹을 개발하다가 망하고 다시 react 로 개발한 케이스도 있다.
2단계 – 규모 성장에 맞춰 리팩토링하자
회원이 늘어나고, 무언가 반응이 오면 언제 부터 갑자기 트래픽이 폭증하면 서비스 최적화 시작하자. 기존 구조는 과감히 버리고 재설계 해야할 수도 있다. 그러나 이건 어쨋거나 미래의 일이라 그때 고민하자.
3단계 – 디펜던시 관리 과 loosely coupled 한 설계로의 전환
사업이 잘되면 기능도, 데이터도 복잡질 수밖에 없다.. 이 시점에서는 완벽한 아키텍처는 없다는 걸 받아들여야 해. 중요한 건 계속 개선하고 적절히 대응해야 살아 남을 수있다.
5. 스타트업에서 개발자는 곧 사업자라는 마인드로 접근 해야 한다.
스타트업 개발자는 사용자 가치를 고민해 주는 공동 창업자라고 생각하고 접근
사업 방향, 데이터 설계, 유저 반응까지 다 관심 가져야 한다.
-
기획서가 불완전하다고 멈추지 말고, 목적을 파악하고 커뮤니케이션 하면서 함께 공동 목표를 가치있게 실행하도록 해야한다.
-
설계는 유연하게, 변경을 전제 열린 생각으로 접근해야한다.
-
데이터는 비즈니스 자산이라는 걸 명심하고 개발자도 데이터들을 보면서 함께 생각을 고류해야한다.
-
서스테이닝은 단순 배포업무가 아니다. 명시적으로 해야할 기능, 고객의 가치를 업그레이드 해줄 수있는 기능이라고 생각하고 운영과 유지보수를 단순 업무로 보지말아야할 자세가 필요하다.
이러한 것들이 “함께 서비스를 만들어가는 태도”**라고 생각해야 한다.
6. 개인 프로젝트도 해보자.
스타트업 환경에 적응하려면 가장 좋은 방법은 개인 프로젝트를 직접 해보는 것이 좋다.
-
요구사항도, 방향도 한번 생각해보고
-
코드뿐 아니라 기획과 마케팅까지 전부 해보고 반응도 봐보고
-
시간 내기 쉽지 않겠지만 생각대로 무언가 해보고 느껴 보는게 좋다.
이 과정 하다보면 개발자를 넘어 사업 마인드를 가진 진정한 서비스 개발자로 가는 길이라고 생각한다.
마무리: 스타트업 개발자 이전의 서비스 개발자가 되어 보자
기술만 잘한다고 스타트업에서 살아남는 게 아니다.서비스 모델, 사업 모델, 사용자 반응에 모두 관심을 가지고
유연하게 대응할 수 있어야 진짜 살아있는 개발자라고 생각한다.
코드보다 중요한 건 태도와 진정성이고 그것이 개발자로서 성장시키는 마중물이 될 것이다.
댓글 쓰기