이 영상은 기술 창업가가 스타트업 초기 단계에서 어떻게 제품을 만들고 성공할 수 있는지에 대한 상세한 가이드입니다. 아이디어 구상부터 최소 기능 제품(MVP) 개발, 출시, 그리고 제품-시장 적합성을 찾는 과정에서 기술 선택, 기술 부채 관리, 팀 빌딩 등 기술 창업가가 직면하는 다양한 문제에 대한 실용적인 조언을 제공합니다. 특히, Y Combinator(YC) 그룹 파트너인 Diana Hu의 경험과 다양한 YC 출신 스타트업 사례를 통해 '빠른 실행'과 '사용자 중심'의 중요성을 강조합니다.
1. 기술 창업가는 무엇을 하는 사람인가요?
Diana Hu는 YC 그룹 파트너이자 증강 현실 SDK 스타트업 'Escher Reality'의 공동 창업자이자 CTO로, Niantic에 인수된 경험을 바탕으로 기술 창업가의 역할에 대해 설명합니다. 그녀는 아이디어 단계부터 프로토타입, MVP(최소 기능 제품) 출시, 그리고 수백만 명의 사용자를 위한 시스템 확장까지 다양한 경험을 가지고 있어요. 이 강연에서는 다음 세 가지 핵심 단계를 다룹니다. 첫째, 기술 창업가의 역할과 그들이 누구인지, 둘째, 각 스타트업 단계(아이디어 구상, MVP 구축, 출시 후 제품-시장 적합성 찾기)에서 어떻게 제품을 개발해야 하는지, 셋째, 제품-시장 적합성 이후 기술 창업가의 역할이 어떻게 변화하는지에 대해 알아봅니다.
기술 창업가는 단순히 앱을 만들어주는 개발자가 아니라, 스타트업 여정의 핵심적인 파트너입니다. 제품 개발을 주도하고, 사용자들과 끊임없이 소통하며 제품에 대한 통찰력을 얻는 것이 중요해요. 초기 단계에서는 마치 리드 개발자처럼 모든 기술적인 부분을 담당하게 됩니다. 프런트엔드, 백엔드, 데브옵스, 웹사이트, UX, 심지어 IT 업무까지 모든 것을 직접 처리해야 할 수도 있어요. 하드웨어 스타트업이라면 전기 회로 작업뿐만 아니라 기계적인 부분까지도 익숙해져야 할 수 있죠.
가장 중요한 것은 '충분히 좋은(good enough)' 아키텍처를 추구하는 것입니다. 대기업에서는 완벽한 아키텍처가 높이 평가받을 수 있지만, 스타트업에서는 빠른 실행과 신속한 의사 결정이 훨씬 중요해요.
"스타트업에서는 완벽한 아키텍처가 아닌 '충분히 좋은' 아키텍처를 추구해야 합니다. 불완전한 정보 속에서도 신속하게 결정을 내리고 빠르게 움직여야 해요."
따라서 기술 부채(technical debt), 비효율적인 프로세스, 심지어 보기 좋지 않은 코드까지도 감수할 줄 알아야 합니다. 이 모든 것은 회사의 성공을 위해 무엇이든 할 수 있다는 의지를 보여주는 것이에요. "이건 내 담당이 아니야"라는 생각은 스타트업에서는 통하지 않습니다. 💪
2. 제품은 어떻게 만들어야 할까요?
2.1. 아이디어 구상 단계 (Ideating Stage): 빠른 프로토타입 제작 💡
아이디어 단계의 목표는 최대한 빨리 프로토타입을 만들어 사용자에게 보여주고 시연하는 것입니다. 심지어 완벽하게 작동하지 않아도 괜찮아요. CEO 공동 창업자는 이 프로토타입을 보여줄 사용자를 찾는 데 집중해야 합니다. 핵심 원칙은 '며칠 안에' 아주 빠르게 만드는 것입니다.
"며칠 안에 프로토타입을 만드는 것이 불가능해 보일 수도 있지만, 이는 많은 프로토타입 제작 소프트웨어를 활용하고, 기능을 극도로 단순화하면 가능합니다."
- 소프트웨어 회사: Figma나 Invision 같은 도구를 사용해 클릭 가능한 프로토타입을 만들 수 있어요.
- 개발 도구 회사: 오후에 작성한 간단한 스크립트를 터미널에서 실행하는 것으로도 충분합니다.
- 하드웨어 회사: 3D 렌더링을 활용하여 제품의 가능성을 보여줄 수 있습니다. Remora라는 회사가 트럭에 부착하여 탄소를 포집하는 제품의 3D 렌더링으로 사용자들의 관심을 얻은 사례가 있습니다.
Optimizely는 YC에 전혀 다른 아이디어로 지원했지만, 실패를 깨닫고 며칠 만에 시각적 편집기 프로토타입을 만들었습니다. 이는 S3에 있는 간단한 JavaScript 파일로 A/B 테스트를 수동으로 실행하는 방식이었죠. 창업자들 외에는 아무도 사용할 수 없었지만, 마케터들에게 제품의 가능성을 보여주기에는 충분했습니다. Diana의 스타트업 Escher Reality는 AR 기술 시연을 위해 몇 주 만에 컴퓨터 비전 알고리즘을 폰에서 실행하는 프로토타입을 만들었습니다. 말로 설명하는 것보다 시연이 훨씬 효과적이었죠.
흔한 실수:
- 과도한 개발: 이 단계에서 완벽한 MVP를 만들려 하지 마세요. "사용자들이 우리의 비전을 다 볼 수 없을까 봐" 걱정하여 너무 많은 것을 만들려다 시간을 낭비하는 경우가 많습니다.
- 사용자와 소통 부족: 불편함을 감수하고라도 빨리 사용자에게 프로토타입을 보여주고 피드백을 들어야 합니다.
- 아이디어에 대한 집착: 사용자 피드백이 좋지 않다면 과감히 아이디어를 포기할 줄 알아야 합니다.
2.2. MVP 구축 단계 (Building an MVP Stage): 작동하는 제품으로 출시하기 🚀
프로토타입으로 사용자들의 관심을 얻었다면, 이제 실제로 작동하는 MVP를 만들어 출시할 차례입니다. 목표는 역시 매우 빠르게 출시하는 것인데, 이상적으로는 '몇 주' 안에 이루어져야 합니다. 하드웨어 및 딥테크 회사는 예외적으로 더 오래 걸릴 수 있어요. 이 단계의 목표는 사용자들이 제품을 사용하겠다고 약속하게 만들고, 이상적으로는 비용을 지불하게 만드는 것입니다.
이 단계에서 사람을 고용하는 것이 좋을까요? 🤔 초기 단계에서 팀원을 고용하는 것은 오히려 출시를 늦출 수 있습니다. 좋은 개발자를 찾는 데 한 달 이상 걸릴 수 있고, 불확실한 초기 단계에서 사람을 찾는 것도 어렵습니다. 게다가 창업자가 직접 제품을 만들지 않으면, 제품에 대한 중요한 통찰력을 놓칠 수 있습니다.
"초기 단계에서 사람을 고용하는 것은 출시 속도를 늦추고, 제품에 대한 중요한 학습 기회를 놓치게 할 수 있습니다."
Justin TV와 Twitch의 사례처럼, 초기 MVP는 오직 네 명의 창업자들이 직접 소프트웨어 엔지니어로서 각자의 역할을 분담하여 개발했습니다. 비디오 스트리밍, 데이터베이스, 웹 개발 등 각자의 전문 분야를 맡아 빠르게 출시할 수 있었죠. 물론 출시 후에는 좋은 엔지니어를 고용했지만, 그들은 이력서보다는 '아웃사이더' 같은 사람들을 찾아냈고, 이들이 놀라운 성과를 보여주었습니다.
MVP 구축을 위한 원칙:
-
확장 불가능한 일을 하라 (Do things that don't scale): Paul Graham의 유명한 에세이처럼, 영리한 방법으로 빠르게 출시해야 합니다.
- 피해야 할 것: 자동화된 온보딩, 확장 가능한 백엔드, 자동화된 스크립트 등 (나중에는 필요하지만, 지금은 아님).
- 핵심 핵(Hack): 수동으로 사용자 온보딩, 데이터베이스 직접 편집, 고객 지원을 창업자가 직접 담당하기.
- Stripe의 초기 버전은 개발자가 결제를 보낼 수 있는 API를 제공했지만, 백엔드에서는 창업자들이 모든 요청을 수동으로 처리하고 은행 양식을 작성하여 결제를 처리했습니다. 이것이 빠른 출시에 충분했던 거죠.
-
90/10 솔루션을 만들어라: YC 파트너이자 Gmail 개발자인 Paul Buchheit가 고안한 용어로, 처음부터 완벽할 필요는 없다는 의미입니다. 코드는 나중에 다시 작성될 가능성이 높으니 괜찮습니다. 출시 후로 최대한 많은 기능을 미루세요.
- 버그가 많은 제품을 만들라는 뜻이 아니라, 제한된 범위 내에서만 작동하도록 제품을 제약하라는 것입니다. (예: 특정 상황, 데이터 유형, 기능, 사용자 유형, 기기 수, 지리적 위치 등으로 제한)
- DoorDash의 초기 버전은 오후에 만들어졌고, 단순히 PDF 메뉴와 창업자 중 한 명의 전화번호가 적힌 정적인 HTML/CSS 웹사이트였습니다. 백엔드는 Google Forms와 Google Docs로 주문을 조율했으며, 드라이버 추적은 '내 친구 찾기' 앱을 활용했어요. 특히 스탠포드 학생이었기 때문에 팔로 알토 지역으로만 서비스를 제한한 것이 주효했습니다. 이 덕분에 배달 및 단위 경제(unit economics)를 정확히 파악하고 나중에 크게 확장할 수 있었습니다. 대조적으로 경쟁사 GrubHub은 대도시부터 시작하여 운영이 더 어려웠습니다.
2.3. 기술 스택 선택: 반복 속도가 핵심 ⚙️
기술 스택을 선택할 때는 제품의 특성과 창업자의 전문성을 균형 있게 고려하여 최대한 빨리 출시할 수 있는 것을 선택해야 합니다. 단순히 '멋진' 새로운 프로그래밍 언어를 배우기 위해 선택하지 마세요. 익숙하고 빠르게 개발할 수 있는 것이 중요합니다.
"기술 스택 선택의 핵심은 반복 속도(iteration speed)입니다. 지금 당장 가장 빠르고 효율적으로 제품을 만들 수 있는 기술을 선택하세요."
요즘은 다양한 타사 프레임워크와 API 도구를 활용하여 MVP를 매우 빠르게 만들 수 있습니다.
- 인증: Auth0
- 결제: Stripe
- 크로스 플랫폼: React Native
- 클라우드 인프라: AWS, GCP
- 랜딩 페이지: Webflow
- 백엔드 서버리스: Lambda, Firebase
- 호스팅 데이터베이스
과거에는 모든 것을 처음부터 구축하느라 출시하기도 전에 자금이 바닥나는 경우가 많았습니다. 지금은 그럴 필요가 없어요. "타사 API가 너무 비싸거나 느리다"는 주장은 스타트업 초기 단계에서는 고려할 사항이 아닙니다.
Sean Wang이 공유한 재미있는 밈처럼, 'PHP'나 'JavaScript'처럼 '누구나 사용하는' 기술을 선택하는 것이 현명한 선택일 수 있습니다. 😅 중간 수준의 개발자들은 Google처럼 Kafka, Kubernetes, 수백 개의 마이크로서비스 등 복잡하고 확장 가능한 시스템을 구축하려 하지만, 평균적인 스타트업은 그렇게 하다가 망합니다. 반면 '제다이 마스터' 같은 개발자들은 신속한 개발과 반복 속도를 위해 일부러 단순한 기술 스택을 선택합니다.
"만약 당신의 회사가 성공하고 사용자를 확보한다면, 어떤 기술 스택을 선택했는지는 그리 중요하지 않습니다. 문제는 나중에 해결할 수 있습니다."
Facebook은 Mark Zuckerberg가 익숙했던 PHP로 만들어졌습니다. PHP가 확장성이 높거나 성능이 뛰어나지 않다는 평이 있지만, Facebook처럼 규모가 커지면 HipHop이라는 맞춤형 트랜스파일러를 만들어 PHP를 C++로 컴파일하여 성능을 최적화했습니다. WayUp의 CTO JJ는 컴퓨터 과학을 정식으로 공부하지 않았지만, Django와 Python을 선택하여 빠르게 개발할 수 있었습니다. 2015년 당시 Ruby on Rails가 더 인기 있었지만, 그에게는 Django와 Python이 반복 속도에 유리한 선택이었고, 이것이 회사의 성공에 전혀 방해가 되지 않았습니다.
결론적으로, 기술 선택은 고객과의 약속에 직접적으로 연결된 부분만 중요합니다. Escher Reality의 경우 API 수준에서 Unity 및 게임 엔진과의 호환성은 유지했지만, 그 외의 대부분의 코드는 스케일링 과정에서 여러 번 다시 작성하고 버려졌습니다. 중요한 것은 핵심 고객 가치를 제공하는 것이었습니다.
3. 출시 단계 (Launch Stage): 제품-시장 적합성을 향한 반복
MVP를 만들고 출시했다면, 이제 제품-시장 적합성(product-market fit)을 찾기 위해 반복적으로 개선하는 것이 목표입니다.
3.1. 하드 데이터와 소프트 데이터를 활용한 빠른 반복 📊💬
- 하드 데이터: 기술 창업가로서 핵심 KPI(핵심 성과 지표)를 추적하는 대시보드와 분석 시스템을 구축해야 합니다. Google Analytics, Amplitude, Mixpanel처럼 간단한 분석 도구를 사용하여 빠르게 시작하세요. Logstash, Prometheus처럼 복잡한 시스템은 대기업에 적합하며, 스타트업 초기 단계에는 과도합니다.
- 소프트 데이터: 출시 후에도 계속해서 사용자들과 대화해야 합니다. 하드 데이터와 소프트 데이터를 결합하여 사용자들이 제품에 머무르거나 이탈하는 이유를 파악하고, 새로운 문제점을 발견하여 제품을 개선해야 합니다.
WePay는 초기에 B2C 결제 제품으로 출시했지만 성공하지 못했습니다. 분석 데이터를 통해 사용자 대부분이 GoFundMe였고, 메시징 같은 기능은 아무도 사용하지 않는다는 것을 발견했죠. GoFundMe와의 대화를 통해 그들이 B2C UI에는 관심이 없고 결제 API만 필요하다는 것을 알게 되었고, B2B API로 피벗했습니다. 이들은 스케일링 불가능한 원칙을 적용하여 기술 문서조차 없이 GoFundMe와 협력해 첫 API 버전을 출시했고, 이것이 제품-시장 적합성을 찾게 된 계기가 되었습니다.
3.2. 지속적인 출시 🔄
Segment는 초기에 교실 분석이라는 전혀 다른 제품으로 시작했지만 실패했습니다. 그들은 백엔드 기능만 추출하여 'Segment'라는 이름으로 다시 출시했고, 이것이 엄청난 반응을 얻었습니다. 첫 출시 게시글이 Hacker News에서 매우 높은 참여를 보였고, 이는 제품-시장 적합성의 힌트였습니다. 그들은 흥분하여 이 아이디어에 집중했고, 매주 새로운 기능을 추가하며 지속적으로 출시했습니다. 출시 초기에는 Google Analytics, Mixpanel, Intercom만 지원했지만, 사용자 의견을 듣고 Node, PHP, WordPress 지원을 추가하는 등 끊임없이 개선했습니다. 그 결과 Segment는 30억 달러 이상에 Twilio에 인수되는 유니콘 기업으로 성장했습니다.
3.3. 개발과 수정의 균형 유지 (Balance Building vs. Fixing) 🛠️🐛
출시 단계에서는 새로운 기능을 추가하는 것과 버그를 수정하거나 기술 부채를 해결하는 것 사이에서 현명한 균형을 유지해야 합니다.
"기술 부채(Tech debt)는 완전히 괜찮습니다. 당신의 기술이 불타고 있다는 불편함에 익숙해져야 해요. 중요한 것은 제품-시장 적합성을 향해 나아가는 것입니다."
작은 렌더링 버그 같은 것은 당장 고칠 필요가 없을 수도 있습니다. 초기 제품들은 종종 매우 불안정하죠. Pokemon Go는 2016년 출시 당시 로그인 문제가 심각했지만, 이는 회사에 치명타가 되지 않았습니다. 오히려 출시 후 한 달 만에 Twitter가 10년 걸려 달성한 활성 사용자 수를 달성했고, 지난해도 수십억 달러의 매출을 올렸습니다. 당시 기술적인 문제는 예상치 못한 엄청난 사용자 트래픽으로 인한 것이었습니다.
출시 후 흔한 실수:
- 'Google이라면 어떻게 했을까?'라는 생각으로 개발: 이는 함정입니다. 대기업처럼 구축하려 하지 마세요.
- 빠른 움직임을 위한 채용: 초기 단계에서 사람을 고용하는 것은 오히려 속도를 늦출 수 있습니다.
- 너무 많은 리팩토링 및 버그 수정: 제품-시장 적합성을 위한 기능 개발보다 리팩토링에 집중하지 마세요.
- 사용자 통찰력 무시: 출시 후에도 기술 창업가는 계속해서 사용자와 소통하며 왜 사용자들이 제품을 사용하거나 이탈하는지 이해해야 합니다.
- 제품 기능 개발에만 집중: 성장을 위한 기술 개발도 중요합니다. 엔지니어가 비기술직인 영업 및 성장 팀과 협력하여 성장 핵(growth hacks)을 만드는 것이 좋습니다.
4. 제품-시장 적합성 이후 기술 창업가의 역할 변화 🧑💻➡️👨💼
제품-시장 적합성을 달성했다면, 이제 비로소 '진정한' 엔지니어링 역량을 발휘할 때입니다.
- 기술이 과도한 수요로 인해 '망가지기 시작'할 것입니다. 이것은 좋은 신호이며, Pokemon Go의 사례처럼 괜찮습니다.
- 이때 비로소 기술 스택의 어떤 부분을 재작업하고 리팩토링해야 할지 결정하고 실행할 수 있습니다. 제품-시장 적합성을 달성하기 전에는 하지 마세요.
- 엔지니어링 문화를 만들어나갈 수 있습니다.
- 채용이 활발해지는 시기입니다. 처음에는 지인을 중심으로 채용하고, 점차 소규모 엔지니어 팀을 이끌다가 더 많은 인력을 고용하게 됩니다.
- 역할은 크게 변화합니다. 초기에는 코딩에 70% 이상을 할애하지만, 팀이 5~10명으로 늘어나면 50% 미만으로 줄어들고, 10명 이상이 되면 거의 코딩할 시간이 없게 됩니다. 이때는 아키텍트 역할을 유지할지, 아니면 리더십 역할(VP of Engineering 등)을 맡을지 결정해야 합니다.
결론
기술 창업가로서의 성공은 빠른 실행과 반복에 달려 있습니다. 아이디어 단계에서는 며칠 만에 프로토타입을 만들고, MVP 단계에서는 몇 주 안에 작동하는 제품을 출시하는 것이 중요합니다. 이 과정에서 '확장 불가능한 일'을 하고, '90/10 솔루션'을 만들며, '반복 속도'를 우선하는 기술 스택을 선택해야 합니다. 출시 후에는 하드 데이터와 소프트 데이터를 결합하여 제품-시장 적합성을 찾아 끊임없이 개선하고, 기술 부채를 두려워하지 않으며 개발과 수정 사이의 균형을 유지해야 합니다. 궁극적으로 스타트업은 '빠르게 움직이는' 것이 핵심입니다. 🚀