부트스트랩 창업가로서의 5년 차
원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기
5년 전, 저는 구글 개발자 직을 그만두고 직접 부트스트랩 소프트웨어 회사를 차렸습니다.
처음 몇 년간 제가 시도한 모든 사업은 실패했습니다. 한 달에 수백 달러 이상의 매출을 올린 사업은 하나도 없었고, 모두 적자였습니다.
3년 차 중반에 저는 TinyPilot이라는 장치를 만들었습니다. 소프트웨어를 설치하지 않고도 컴퓨터를 원격으로 제어할 수 있게 해주는 제품입니다. 제품은 빠르게 인기를 끌었고, 그 이후로 줄곧 제 주력 사업이 되었습니다.
2022년 TinyPilot은 $812k의 매출을 기록했으며, 2021년 대비 76% 증가한 수치입니다.
이번 글에서는 부트스트랩 창업가로서 보낸 5년 차에 배운 것들을 공유하려 합니다.
이전 회고
올해의 하이라이트
TinyPilot 연 매출 $812k 달성
| 수입/지출 | 2021년 | 2022년 | 증감 |
|---|---|---|---|
| 매출 | $459,529 | $807,459 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 신용카드 리워드 | $2,241 | $4,327 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 원자재 | -$224,046 | -$333,656 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 인건비 | -$142,744 | -$206,187 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 전기공학 컨설팅 | -$28,662 | -$124,643 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 광고비 | -$3,873 | -$51,764 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 웹 디자인 / 브랜딩 | -$15,931 | -$30,215 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 배송비 | -$24,227 | -$30,779 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 클라우드 서비스 | -$5,553 | -$7,865 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 사무실 임대료 | -$4,400 | -$6,600 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 장비 | -$2,083 | -$5,915 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 기타 | -$4,902 | -$8,183 | JS를 활성화하면 증감을 볼 수 있습니다 |
| 순이익 | $5,349 | $5,979 | JS를 활성화하면 증감을 볼 수 있습니다 |
매출이 $350k 늘었다는 건 인상적으로 들리지만, 남는 순이익이 $6k에 불과하다는 건 조금 김이 샙니다. 저는 급여를 따로 받지 않기 때문에 이 $6k가 2022년 한 해 동안 사업에서 벌어들인 전부입니다. 그럼에도 이 수치와 2023년에 갖는 의미에 대해서는 기대가 큽니다.
비용이 크게 늘어난 항목 중 하나는 전기공학 분야였습니다. 2021년 내내 TinyPilot의 전기공학 외주 업체는 성장 속도를 따라가지 못했습니다. 2021년 말, 저는 우리 요구에 더 잘 맞는 새 업체로 교체했지만 비용은 세 배나 더 들었습니다.
계속된 칩 공급난 때문에 잦은 재설계를 해야 했고, 이는 엔지니어링 시간과 원자재 비용을 크게 불렸습니다. 기존 버전의 재고가 떨어지기 전에 회로 기판을 재설계해야 하는 경우가 많았고, 그래서 과정을 서두르기 위해 수차례 추가 비용을 지불해야 했습니다.
마침내 9월에 끝없는 재설계 굴레에서 벗어났습니다. 4분기 실적이 내년을 가늠하게 해줄 것이라 기대합니다. 해당 분기 순이익이 $28.6k였으니, 2023년에 월평균 $9.5k만 유지해도 만족할 것 같습니다.
TinyPilot 웹사이트를 새로 단장하다
2020년 TinyPilot을 처음 출시할 때 웹사이트와 로고는 임시 방편이라고 생각했습니다. 그런데 사업이 너무 빠르게 성장하는 바람에 교체할 시간을 내지 못했습니다.
TinyPilot 웹사이트 리디자인 전과 후
디자인 에이전시와 작업하는 과정이 얼마나 답답하고 비용이 많이 들었는지는 이전에 쓴 적이 있지만, 결과물에는 만족합니다. 예전 웹사이트는 취미 프로젝트처럼 보였는데, 새 디자인은 제대로 된 회사처럼 보입니다. 매출 증가 중 적어도 일부는 새 디자인 덕분이라고 생각합니다.
TinyPilot 팀, 6명에서 7명으로 확대
2021년 말 TinyPilot 팀 구성은 다음과 같았습니다:
- 창업자인 저 혼자
- 파트타임 소프트웨어 개발자 3명
- 장치 조립과 주문 처리를 담당하는 파트타임 현지 스태프 2명
- 그중 1명은 고객 응대도 겸임
2022년 말까지 지원 엔지니어 2명을 추가하고 역할을 조정해 팀은 다음과 같이 바뀌었습니다:
- 창업자인 저 혼자
- 파트타임 소프트웨어 개발자 2명
- 장치 조립과 주문 처리를 담당하는 파트타임 현지 스태프 2명
- 이제 두 명 모두 고객 응대를 담당
- 파트타임 지원 엔지니어 2명
지원 엔지니어를 영입한 건 퍼즐의 마지막 조각을 찾은 기분이었습니다. 그들이 합류하기 전에는 기술 지원을 저 혼자 담당했고, 업무 시간의 약 20%를 차지했습니다. 이제는 지원 요청에 쓰는 시간이 5% 미만으로 줄었고, 고객은 더 빠른 지원을 받게 되었습니다.
지원 엔지니어들은 제가 시간이 없어 못 하던 일들, 이를테면 복잡한 버그 조사, 문서 작성, 진단 도구 개선 등도 맡아 하고 있습니다.
팀이 커지면서 매니저로서의 역량도 시험대에 올랐습니다. 2021년 TinyPilot의 업무 흐름은 꽤 단순했습니다. 거의 모두가 1인 단위로 일했고, 결과물은 저나 고객에게 바로 전달됐습니다. 직원 간 협업이 필요한 경우에도 항상 같은 역할끼리만 이뤄졌습니다.
지원 엔지니어를 통합한다는 건 서로 다른 팀이 어떻게 협업할지를 고민하는 일이었습니다. 주문 처리 스태프와 지원 엔지니어의 협력이 필요한 지원 요청은 어떻게 처리해야 할까? 지원 엔지니어와 개발팀 사이의 피드백 루프는 어떻게 만들어야 할까?
PicoShare, 가장 빠르게 성장한 프로젝트가 되다
지난 몇 년간 저를 가장 답답하게 한 것 중 하나는 Google Drive나 Dropbox 같은 클라우드 저장소로 파일 하나를 공유하는 게 얼마나 번거로운가 하는 점입니다. 파일 자체에 대한 직접 링크를 주지 않고, 수신자에게 계정 가입을 종용하는 웹 인터페이스 링크만 줍니다. Google Drive에 영상을 올리면 브라우저에서 재생되도록 이미 최적화돼 있는데도 15분 넘게 재인코딩을 기다리게 합니다.
기존 클라우드 저장소의 대안으로 저는 PicoShare라는 미니멀한 파일 공유 앱을 만들었습니다. 파일을 업로드하면 공유할 수 있는 직접 링크를 바로 받을 수 있습니다. 간단하죠! 재인코딩도 없고, 가입하라는 팝업도 없습니다.

비슷한 기능을 제공하는 오픈소스 도구가 몇 가지 있지만(유사 기능), PicoShare는 데이터베이스 서버가 필요 없다는 점에서 독특합니다. 단일 Docker 컨테이너로 실행할 수 있다는 뜻이며, 다른 솔루션들은 더 복잡한 오케스트레이션이 필요합니다.
PicoShare는 제가 공개한 오픈소스 프로젝트 중 가장 빠르게 성장한 프로젝트가 되었습니다. 출시 후 2주 만에 GitHub 스타 600개를 받았습니다. 이 글을 쓰는 시점 기준으로 PicoShare는 10만 건 이상의 설치 수를 기록했습니다.
배운 점
누구의 가장 작은 고객이 되지 말 것
저는 TinyPilot 웹사이트 리디자인 소동 전반에 걸쳐 많은 실수를 했지만, 핵심 문제는 디자인 에이전시가 TinyPilot과 근본적으로 맞지 않았다는 점이었습니다.
에이전시의 다른 고객들은 TinyPilot보다 예산이 5~20배나 많았습니다. 처음에는 그게 행운이라고 생각했습니다. 고가의 고객을 상대하는 멋진 에이전시가 저 같은 작은 회사에 베팅해주다니 말이죠.
현실은 TinyPilot이 에이전시에서 가장 낮은 우선순위였다는 것입니다. 그들은 프로젝트를 엉망으로 관리했고, 그 결과 비용이 늘고 범위가 부풀려지며 일정이 늘어졌습니다.
이제는 새로운 외주 업체와 일할 때 우리 회사가 그들의 다른 고객들과 비교해 어떤 위치인지 묻습니다. 규모, 매출, 업종 등 중요한 측면에서 제가 튀는 경우라면 다른 곳을 알아봅니다.
50% 용량으로 운영하라
비즈니스 역량이 고객의 수요와 완벽하게 일치한다면 얼마나 좋을까요? 직원들은 정확히 주 40시간을 일하면서 모든 주문을 처리하고 모든 지원 요청을 해결할 것입니다. 과로하지도, 일이 없어 한가하지도 않으며, 유휴 시간도 없을 테니까요.
하지만 실제로는 그건 끔찍한 시스템입니다. 100% 가동률로 운영한다는 건 오류를 감안할 여유가 없다는 뜻입니다. 매출이 살짝 늘거나 직원이 휴가를 가는 같은 일상적인 일에도 즉시 감당할 수 없게 됩니다.
저는 TinyPilot의 모든 인원이 약 50% 용량으로 일하도록 하는 것을 목표로 합니다. 즉, 50%는 수동적 업무, 50%는 능동적 업무의 균형입니다. 일부 역할에서는 비율이 정확히 50대50은 아니지만, 좋은 경험칙이 됩니다.
기술 지원팀이 50대50 분할의 가장 명확한 예입니다. 절반의 시간은 지원 요청에 대응하고, 나머지 절반은 사용자가 애초에 지원을 필요로 하지 않도록 만드는 방법을 찾는 데 씁니다. 능동적인 업무에는 제품 버그 수정, 문서 작성, 진단 도구 개선 등이 포함됩니다.
TinyPilot의 모든 팀은 2명으로 구성됩니다. 한 명이 자리를 비우면 다른 한 명이 능동적 업무를 잠시 멈추고 시급한 일을 부담 없이 처리할 수 있습니다. 인기 유튜브 채널이 우리를 언급해서 주문이 몰려도 흡수할 여력이 있습니다.
| 팀 | 수동적 업무 | 능동적 업무 |
|---|---|---|
| 창업자 | 팀 관리 외주 업체 관리 작업 검토 빈 역할 메우기 | 마케팅 영업 전략 재점검 채용 및 교육 |
| 지원 엔지니어 | 기술 지원 문의 응대 | 문서 작성 튜토리얼 작성 까다로운 버그 조사 |
| 소프트웨어 개발자 | 긴급 버그 수정 신규 기능 출시 | 개발 경험 개선 자동화 테스트 작성 긴급하지 않은 버그 수정 |
| 주문 처리 스태프 | 장치 조립 주문 처리 고객 응대 | 지원 플레이북 작성 마케팅 지원 |
Ansible과 git은 소프트웨어 배포 도구가 아니다
TinyPilot 작업을 시작했을 때 저는 Linux 소프트웨어를 어떻게 배포해야 하는지 몰랐습니다.
TinyPilot 프로토타입을 배포하기 위해 저는 제가 아는 도구인 bash 스크립트, Ansible, git을 사용했습니다. bash 스크립트가 Ansible 환경을 부트스트랩하고 Ansible 플레이북을 실행했습니다. Ansible은 의존성을 설치하고 운영체제에 필요한 변경을 가한 뒤 TinyPilot git 리포지토리를 클론했습니다.
설치 과정은 훌륭하진 않아도 괜찮은 수준이었습니다. 느리지만 안정적이었고 사용자가 수동으로 설정할 필요가 없었습니다.
2년 후 TinyPilot의 업데이트 과정은 엉망이 됐습니다. 여전히 프로토타입 때의 불안한 기반에 의존하고 있었는데, 이제는 복잡하게 얽힌 상호 의존성까지 더해진 상태였습니다. Ansible 롤이 Git 리포지토리에 의존하고, 그 리포지토리는 다시 다른 Ansible 롤에 의존하며, 그 롤은 여러 YAML 파일의 파라미터에 의존했습니다. 사소한 변경에도 몇 주씩 개발 시간이 소요됐습니다.
이 모든 건 제가 표준 Linux 패키징 도구를 배울 노력을 하지 않았기 때문입니다.
올해 TinyPilot 팀은 Debian 패키지를 사용하는 법을 배웠습니다. 제가 우려했던 것보다 훨씬 덜 고통스러웠습니다. 온갖 패키지 서버와 키 서버를 구축해야 할 줄 알았는데, 알고 보니 그런 건 전혀 필요하지 않았습니다. 올바른 가이드를 찾고 나니 과정은 비교적 쉬웠습니다(올바른 가이드).
Debian 패키지는 개발 속도를 높여줬습니다. 툴링이 비용이 큰 실수를 더 일찍 잡아내고, 테스트 장치에 사전 릴리스 버전을 쉽게 배포할 수 있게 됐습니다. 이전 설치 시스템에서는 그 과정이 엄청나게 복잡했거든요.
작년 목표 평가
작년에는 한 해 동안 달성하고 싶은 큰 목표 세 가지를 세웠습니다(세 가지 큰 목표). 결과는 다음과 같습니다:
TinyPilot 연 매출 100만 달러 달성
- 결과: TinyPilot 매출을 76% 성장시켜 $812k 달성
- 학점: B
100만 달러는 처음부터 공격적인 목표라는 걸 알고 있었습니다. 달성에는 실패했지만, 그에 근접했다는 것만으로도 인상적이라고 생각합니다.
주 20시간으로 TinyPilot 운영하기
- 결과: 2021년보다 2022년에 TinyPilot 관리에 더 많은 시간을 썼음
- 학점: D
제 업무 중 충분히 많은 부분을 자동화하고 위임해서 관리 시간을 주 20시간으로 줄이려 했지만, 실현되지 않았습니다. 매출 증가, 지원 엔지니어링 팀 출범, 칩 공급난으로 인한 긴급 대응 등으로 오히려 관리 시간은 늘어났습니다.
TinyPilot Voyager 3 출시
- 결과: 설계 단계조차 완료하지 못함
- 학점: F
TinyPilot은 항상 Raspberry Pi 4B를 핵심 하드웨어로 사용해 왔습니다. Pi 4B 주변에는 훌륭한 생태계가 있지만, 하드웨어 자체가 비교적 비싸고 커스텀 칩과 통합하기가 어렵습니다.
2022년 계획은 더 슬림하고 저렴한 Raspberry Pi Compute Module 4용 커스텀 회로 기판을 만드는 것이었습니다. 그렇게 하면 제조 비용을 최대 60%까지 줄이고 하드웨어 설계를 단순화할 수 있었습니다.
대신 하드웨어 엔지니어링 시간을 모두 제조 이슈와 공급 부족을 쫓는 데 쏟느라 신제품에서는 아무 진전도 이루지 못했습니다.
6년 차 목표
주 20시간으로 TinyPilot 운영하기
작년에는 업무 시간 단축에 처참히 실패했지만, 이제는 최우선 과제가 되었습니다. 올해는 가능성이 있다고 봅니다. 2022년에 한 많은 일들이 2023년에 제가 크리티컬 패스에서 빠질 수 있는 기반을 마련했기 때문입니다.
10만 달러 순이익 달성
TinyPilot의 첫 2년 반 동안 저는 성장에 집중했습니다. 한 달에 20대를 팔든 2,000대를 팔든 하드웨어와 소프트웨어 엔지니어링 비용은 동일하게 들기 때문에, 사업을 지속 가능하게 하려면 일정 규모에 도달해야 했습니다.
2023년 대부분 TinyPilot의 생산은 공급에 의해 제한될 것입니다. 매출을 성장시킬 기회가 없다는 걸 알게 됐을 때는 실망했지만, 다행인 점은 속도를 늦추고 성장 대신 수익성에 집중할 수 있다는 것입니다.
TinyPilot은 지금까지 대략 손익분기점 수준을 유지해 왔지만, 추가 하드웨어 재설계만 피한다면 올해 $100k 순이익을 달성할 수 있을 것 같습니다. 2022년에 하드웨어 재설계가 없었다면 엔지니어링 비용에서 약 $100k, 자재비에서 $20k를 아낄 수 있었을 겁니다. 매출을 안정적으로 유지하면서 하드웨어 쪽을 더 날씬하게 운영한다면 2023년은 수익성 있는 한 해가 될 것입니다.
TinyPilot 사무실 닫기
저는 2021년 초부터 TinyPilot 사무실을 임대해 왔습니다. 그곳에서 장치를 조립하고 주문을 처리하며 재고를 보관합니다.
자체 현지 사무실을 둔 덕분에 하드웨어와 공정 변화에 빠르게 적응할 수 있었지만, 추가 부담도 컸습니다. 올해는 모든 부품이 생산되는 중국으로 조립을 이전하고 싶습니다. 주문 처리 역시 제3자 물류 창고로 이전하는 중입니다.
TinyPilot 사무실을 없애면 물리적 공간을 유지하고, 재고를 관리하며, 대면 근무 일정을 챙기는 수고를 덜 수 있습니다. 제조와 주문 처리를 외주화하면 팀에게 시간과 장소 면에서 더 큰 유연성도 생길 것입니다.
여전히 이 일이 좋은가?
매년 이런 회고 글을 쓸 때마다 저는 지금 하는 일이 여전히 좋은지 스스로에게 물어봅니다.
2022년은 힘든 한 해였습니다. 독립한 이후로 확실히 가장 힘든 해였습니다. 비참할 정도는 아니었지만, 좋았다고 말할 수는 없습니다.
글로벌 칩 공급난 때문에 같은 방식으로 제품을 두 번 연속 생산할 수가 없었습니다. 항상 어딘가 부족한 부품이나 제조 문제가 있었고, 그래서 재고가 떨어지기 전에 문제를 해결하고 공정을 조정하느라 끊임없이 쫓겨야 했습니다. 어떻게든 넘기긴 했고 제품을 품절로 표시해야 했던 날도 며칠에 불과했지만, 스트레스가 컸습니다.
그럼에도 불구하고 감사할 점도 분명 많았습니다. 글쓰기와 소프트웨어 개발에 쓸 수 있는 시간은 비교적 적었지만, 만들어낸 결과물에 대해서는 자랑스럽게 생각합니다. TinyPilot 조직을 확장하고 팀들이 함께 일하는 방식을 고민하면서 매니저로서의 역량도 성장했습니다. 회사가 발전함에 따라 팀원들이 각자의 역할에서 성장하고 역량을 넓혀가는 모습을 보는 것도 보람 있었습니다.
저는 여전히 고용주를 위해 일하는 것보다 스스로 일하는 게 좋습니다. 여전히 내 회사를 가질 수 있는 자유에 감사합니다. 그리고 앞으로도 계속 이렇게 하고 싶습니다.
커버 이미지: Loraine Yow. 사랑하는 약혼자와 Blogging for Devs 커뮤니티에 이 글에 대한 초기 피드백을 주셔서 감사드립니다.
글을 무작위로 읽기



댓글
로그인하고 댓글 남기기