부트스트랩 창업자로 보낸 4년차
4년 전, 저는 구글 개발자 직을 그만두고 자기자본으로 소프트웨어 회사를 창업했습니다.
처음 몇 년 동안 제가 시도한 사업은 모두 실패했습니다. 모두 적자를 냈고, 월 매출이 수백 달러를 넘긴 경우도 없었습니다.
3년 차 중반에 TinyPilot이라는 네트워크 관리 장치를 만들었습니다. 제품은 빠르게 입소문을 탔고, 그 이후로 제 주력 사업이 되었습니다. TinyPilot은 정식 운영 첫해인 2021년에 46만 달러의 매출을 올렸습니다.
이 글에서는 TinyPilot을 운영하며 부트스트랩 창업자로서 배운 점을 공유하려 합니다.
첫 흑자의 해
처음 몇 년간 적자를 이어가다 드디어 올해 처음으로 현금 흐름이 플러스로 돌아섰습니다. 2021년 총 순이익은 1만 4,518달러였습니다. 매출의 대부분은 TinyPilot에서 나왔지만, 이익의 상당 부분은 예전부터 조용히 운영해 온 프로젝트들에서 발생했습니다.
| 지표 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 매출 | $63,477 | $478,638 | JS를 활성화하면 변동 확인 가능 |
| 지출 | -$67,441 | -$464,071 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | -$3,964 | $14,518 | JS를 활성화하면 변동 확인 가능 |
그렇게 적은 돈으로 어떻게 생활할 수 있었나요?
2년 차 회고에서 더 자세히 다룬 바 있지만, 짧게 답하자면 생활비가 낮고, 구글 재직 시절 모아 둔 저축이 상당하며, 투자로 얻는 수동 소득이 있었기 때문입니다.
TinyPilot의 두 번째 해

TinyPilot은 Raspberry Pi 기반의 오픈소스 KVM over IP 장치입니다
TinyPilot은 Raspberry Pi로 만든 오픈소스 KVM over IP 장치입니다. 별도 소프트웨어를 설치하지 않고도 브라우저에서 다른 컴퓨터를 제어할 수 있으며, 대상 컴퓨터에 운영체제가 없거나 네트워크에 연결되어 있지 않아도 동작합니다.
2021년 초, 저는 TinyPilot의 유일한 개발자이자 고객 지원, 영업, 마케팅 담당자였습니다. 다른 직원은 재고를 관리하고 주문을 처리하던 여자친구뿐이었습니다. 우리는 매사추세츠 서부에 있는 집에서 TinyPilot을 운영했는데, 집은 점점 TinyPilot 창고로 변해 가고 있었습니다.
현재 TinyPilot은 정식 사무실을 갖추고, 주문 처리를 담당하는 직원 두 명, 개발자 세 명, 그리고 유럽 유통 파트너를 두고 있습니다.

TinyPilot은 이제 제품을 조립하고 주문을 발송하는 정식 사무실을 갖추었습니다.
TinyPilot 재무 현황
한 해의 대부분 동안 TinyPilot의 매출은 들쭉날쭉했습니다. 유명 테크 리뷰어들이 TinyPilot을 소개하면 매출이 급등했지만, 그 이후에는 항상 다시 줄어들었습니다.
9월부터는 유럽 유통사와 파트너십을 맺고 웹사이트를 다시 정비했습니다(자세한 내용은 아래에서 설명합니다). 그 변화 덕분에 매출이 안정되었고, 운이나 외부 이벤트에 대한 의존도도 줄어들었습니다.
| 수입/지출 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 매출 | $53,742 | $459,529 | JS를 활성화하면 변동 확인 가능 |
| 신용카드 리워드 | $0 | $1,139 | JS를 활성화하면 변동 확인 가능 |
| 원자재 | -$46,143 | -$248,273 | JS를 활성화하면 변동 확인 가능 |
| 소프트웨어 개발 | -$1,321 | -$119,015 | JS를 활성화하면 변동 확인 가능 |
| 전기 엔지니어링 컨설팅 | -$7,130 | -$28,662 | JS를 활성화하면 변동 확인 가능 |
| 주문 처리 인력 | -$2,570 | -$25,893 | JS를 활성화하면 변동 확인 가능 |
| 웹 디자인 / 브랜딩 | -$250 | -$15,931 | JS를 활성화하면 변동 확인 가능 |
| 클라우드 서비스 | -$64 | -$5,554 | JS를 활성화하면 변동 확인 가능 |
| 사무실 임대 | $0 | -$4,400 | JS를 활성화하면 변동 확인 가능 |
| 광고 | -$675 | -$3,633 | JS를 활성화하면 변동 확인 가능 |
| 사무실 장비 | $0 | -$2,083 | JS를 활성화하면 변동 확인 가능 |
| 기타 | $0 | -$2,738 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | -$5,681 | $4,247 | JS를 활성화하면 변동 확인 가능 |
참고: 순이익 수치는 다소 오해의 소지가 있습니다. 보유 중인 5만 9천 달러 규모의 재고 자산이 반영되어 있지 않기 때문입니다.
TinyPilot 소프트웨어 개발
재미 삼아 TinyPilot의 2021년 1월 릴리스를 설치해 현재 버전과 비교해 보았습니다. 지난 1년 사이에 얼마나 많은 것이 바뀌었는지 보고 놀랐습니다.
UI 개선 외에도 다음과 같은 주요 기능들을 추가했습니다.
- 가상 USB 드라이브 및 CD-ROM 마운트
- Wake on LAN
- 비밀번호 기반 인증
- 웹 UI를 통한 소프트웨어 업데이트
- 영상 대역폭 조절
그 밖의 프로젝트
Refactoring English
지난 5년간 이 블로그를 운영하며 글을 더 명확하고 흥미롭게 만들고 독자를 끌어모으는 여러 기법을 배웠습니다. 2021년 목표 중 하나는 그 배움을 Refactoring English라는 책으로 정리해 공유하는 것이었습니다(2021년 목표). 이 책은 특히 소프트웨어 개발자를 위한 글쓰기 기술을 다룰 예정이었습니다.
올해 가장 부끄러운 점은 이 책 집필이 거의 진전되지 않았다는 것입니다.
지난 3년간 매일 아침 한 시간씩 글을 쓰는 습관을 유지해 왔습니다. 덕분에 1년에 열 편 정도의 블로그 글을 쓸 수 있었습니다. 그 시간을 책 집필에 쏟으면 1년 안에 책을 완성할 수 있을 거라 생각했습니다.
하지만 TinyPilot은 제가 완전히 통제할 수 없는 자체 속도로 움직였습니다. 2021년 초 몇 달 동안은 글쓰기 습관을 유지하려 했지만, 매일 TinyPilot 업무가 뒤처진 채 하루를 마무리하게 되었습니다. 결국 TinyPilot 운영에 손이 덜 갈 때까지 글쓰기를 잠시 멈추기로 했지만, 아직 그 단계에 이르지 못했습니다.
여전히 책을 쓰고 싶은 마음은 크며, 올해는 더 많은 시간을 낼 수 있기를 바랍니다.
mtlynch.io (이 블로그)
책을 쓸 시간이 부족했던 것처럼 블로그에 쓸 시간도 거의 없었습니다. 새로 발행한 글은 세 편뿐으로, 5년간 블로그를 운영하며 가장 적은 수입니다.
아이러니하게도 가장 쓰고 싶을 때가 가장 쓸 시간이 없는 때입니다. TinyPilot을 운영하며 배운 것 중 기억이 생생할 때 기록해 두고 싶은 내용이 많지만, 시간이 충분하지 않습니다.
다만 월간 회고 작성 습관은 계속 유지했습니다. 이 작업은 분명 사업에 도움이 되기 때문에 시간을 따로 확보합니다. 생각을 정리하기 위해 앉다 보면 전략의 허점이나 계획의 약점을 거의 항상 발견하게 됩니다.
| 지표 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 페이지뷰 | 719,899 | 479,666 | JS를 활성화하면 변동 확인 가능 |
| 제휴 수익* | $1,599 | $0 | JS를 활성화하면 변동 확인 가능 |
| 일러스트 | -$964 | -$384 | JS를 활성화하면 변동 확인 가능 |
| 호스팅 / 도메인 | -$534 | -$306 | JS를 활성화하면 변동 확인 가능 |
| 에디팅 + Grammarly | -$222 | -$140 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | -$121 | -$830 | JS를 활성화하면 변동 확인 가능 |
* 2020년 말에 이 블로그의 모든 제휴 파트너십을 종료했습니다.
Hit the Front Page of Hacker News

Hit the Front Page of Hacker News는 기술에 정통한 독자를 위한 블로그 글쓰기를 다루는 제 강좌입니다.
연초에 처음으로 유료 강좌를 출시했습니다. Hacker News나 reddit 같은 기술 중심 사이트에서 주목받는 블로그 글을 쓰는 제 접근법을 담았습니다.
콘텐츠에 자부심을 느끼며, 수강생들로부터 긍정적인 피드백도 들었습니다. 몇몇 분은 이 강좌 덕분에 Hacker News에서 1위를 차지하는 글을 쓸 수 있었다고 말해 주었습니다.
강좌 매출은 7,500달러로, 목표였던 2만 달러에는 아쉽게 미치지 못했습니다. TinyPilot이 그토록 바쁘지 않았다면 강좌 마케팅에 더 많은 시간을 쏟을 수 있었을 것입니다. 그래도 교육용 콘텐츠를 만드는 데 대해 많은 것을 배웠고, 앞으로도 이런 시도를 더 해 보고 싶습니다.
| 지표 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 구매 수 | 29 | 230 | JS를 활성화하면 변동 확인 가능 |
| 매출 | $0 | $7,483 | JS를 활성화하면 변동 확인 가능 |
| 지출 | -$983 | -$148 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | -$983 | $7,335 | JS를 활성화하면 변동 확인 가능 |
Is It Keto

Is It Keto는 어떤 음식이 키토 식단에 적합한지 알려주는 사이트입니다.
2018년에 Is It Keto를 시작했습니다. 특정 음식이 키토 식단에 맞는지 알려주는 단순한 사이트로, Amazon 제휴 링크와 Google AdSense로 수익을 냅니다.
TinyPilot을 시작하며 이 사이트는 뒷전으로 미뤄 두었지만, 2021년에도 스스로 성장하며 월 500~1,000달러의 쏠쏠한 부수입을 가져다주었습니다. 그러다 6월 무렵부터 유사한 콘텐츠를 제공하는 다른 사이트들이 검색 결과에서 Is It Keto를 밀어내면서 성장세가 둔화되었습니다.
사이트 매각도 고려했지만, 가치가 5천~1만 달러 정도에 불과할 것으로 보입니다. 매각 과정에만 30~60시간이 걸릴 텐데, 그 시간에 TinyPilot에 집중하는 편이 낫다고 판단했습니다.
| 지표 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 페이지뷰 | 1,314,583 | 1,163,745 | JS를 활성화하면 변동 확인 가능 |
| 광고 수익 | $2,934 | $5,252 | JS를 활성화하면 변동 확인 가능 |
| 제휴 수익 | $2,147 | $2,022 | JS를 활성화하면 변동 확인 가능 |
| 프리랜서 디자이너 및 콘텐츠 작가 | -$105 | $0 | JS를 활성화하면 변동 확인 가능 |
| 호스팅 / 도메인 | -$241 | -$240 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | $4,753 | $7,034 | JS를 활성화하면 변동 확인 가능 |
Zestful

Zestful은 레시피 재료를 구조화된 데이터로 파싱해 주는 API입니다.
Zestful은 레시피 재료를 구조화된 데이터로 파싱해 주는 유료 서비스입니다. 예를 들어 "2 1/2 tablespoons finely chopped parsley"라는 문자열을 입력하면 수량은 2.5, 재료는 parsley, 손질 방법은 finely chopped 등으로 분석해 줍니다.
2019년에 Zestful을 만들어 몇 달간 작업하다 실패작으로 여기고 손을 뗐습니다. 몇 달에 한 번씩 일회성 대량 파싱을 원하는 고객이 찾아오긴 했지만, 꾸준한 수익을 내지는 못했습니다.
2021년은 Zestful이 기분 좋은 재기를 이룬 해였습니다. 연중반부터 수익이 점차 안정되었고, 신규 고객이 Zestful을 기반으로 서비스를 구축하기 시작했으며 기존 고객의 사용량도 늘었습니다. 이제 매달 수백 달러를 꾸준히 벌어들이고 있으며, 12월에는 종량제 사용자로부터의 수익이 처음으로 1천 달러를 넘었습니다.
| 지표 | 2020 | 2021 | 변동 |
|---|---|---|---|
| 매출 | $1,889 | $2,495 | JS를 활성화하면 변동 확인 가능 |
| 호스팅 / 도메인 | -$112 | -$113 | JS를 활성화하면 변동 확인 가능 |
| 순이익 | $1,777 | $2,382 | JS를 활성화하면 변동 확인 가능 |
배운 점
단 하나만 팔아라
한 해 대부분 TinyPilot의 월 매출은 2만~3만 달러 사이였습니다. 매출이 뛰었던 달은 주로 YouTube의 호평 덕분이었습니다.
10월부터는 매출이 월 4만~6만 달러로 두 배가 되었지만, 그 기간 동안 TinyPilot에 대한 새로운 리뷰는 없었습니다. 사실 마케팅도 전혀 하지 않았습니다.
그렇다면 무엇이 매출을 두 배로 만들었을까요? 제품 페이지를 없앤 것이었습니다.

예전의 TinyPilot은 다양한 제품을 판매했습니다.
대신 웹사이트를 대표 제품인 TinyPilot Voyager 하나에만 집중하도록 바꾸었습니다.

10월에 TinyPilot 웹사이트에서 제품 카탈로그 페이지를 없애고 대표 제품에만 집중했습니다.
매출은 즉시 뛰었고, 처음에는 우연일지도 모른다고 생각했지만, 몇 달째 새로운 수준을 유지하고 있습니다.

웹사이트를 단일 제품 판매로 단순화하기 전후의 TinyPilot 주간 매출
이 변화가 구매 과정의 마찰과 고민을 없앤 것 같습니다. 고객들은 종종 제품 간 차이를 이해하지 못하거나 액세서리를 별도로 구매해야 하는지 헷갈려 했습니다. 이제 선택지가 하나뿐이니, 구매 결정은 이 제품을 원하는지 아닌지라는 단순한 질문으로 축소됩니다.
참고: 이 전략을 한 단계 더 밀어붙여 제품을 0개 판매하는 방안도 고려했습니다. 논리적으로는 수익이 무한대가 되겠지만, 너무 욕심부리고 싶지 않았습니다.
좋은 리더십은 팀원의 성장을 돕는 것이다

The Usual Saaspects 팟캐스트에서 Ch Daniel(오른쪽)과 대화하는 Jason Cohen(왼쪽)
최근 인터뷰에서 WPEngine 창업자 Jason Cohen은 리더십을 이렇게 설명해 제 마음에 남았습니다.
리더십이란, 물론 올바른 답과 목표, 결정을 찾는 것이기도 합니다. 하지만 더 스마트하고 더 뛰어난 팀을 만드는 것이기도 합니다. 팀원 스스로 더 나은 결정을 내리고, 더 나은 답을 찾아내며, 더 나은 맥락을 갖추도록 하는 것이죠.
만약 방 안에서 그런 일을 할 수 있는 사람이 당신뿐이라면, 당신은 형편없는 리더입니다. 팀이 성장하지 않고 있다는 뜻이니까요.
조직이 성공하는 유일한 방법은 팀이 더 나아지는 것입니다. 그리고 그것이 바로 당신의 역할입니다. 훌륭한 팀을 만드는 것이죠.
TinyPilot을 처음 시작했을 때, 저는 좋은 관리란 직원들을 직무 기술서 밖의 일로부터 보호하는 것이라고 생각했습니다. 직원들이 일관되고 집중된 업무를 할 수 있도록 역할 사이의 빈틈을 메우기 위해 애썼습니다.
시간이 지나면서 그런 보호가 오히려 성장을 가로막는다는 것을 깨달았습니다. 사람들은 배우고 커리어에서 성장하는 것을 즐깁니다. 직원이 원래 맡은 일 너머의 일을 하지 못하게 막으면 그들의 발전을 방해하게 됩니다.
10월에 주문 처리 담당 직원인 Eric이 근무 시간을 늘리고 싶어 했습니다. 그래서 제가 혼자 맡고 있던 고객 지원 업무를 나누기로 했습니다. 이전에도 지원 업무 위임을 고민했지만, 저만 가진 기술 지식이 필요하다고 걱정했습니다.
Eric이 지원 큐를 맡기 시작하자마자 더 진작에 했어야 했다는 것을 깨달았습니다. 저는 고객의 기술적 질문 난이도를 과대평가했습니다. Eric은 도움말 포럼과 이메일 기록을 참고해 대부분의 문제를 해결할 수 있었고, 해결이 어려울 때는 저에게 넘겼습니다. 이제 Eric은 지원 이메일의 약 70%를 저 없이 처리합니다.
Eric은 고객 서비스를 맡게 된 것을 의외로 크게 즐겼습니다. 고객과 대화하면서 사업에 더 깊이 관여하고 있다는 느낌을 받고, 자신의 일이 고객에게 어떤 도움이 되는지 더 잘 이해하게 되었다고 합니다.
그리고 TinyPilot을 단일 제품으로 통합한 제 큰 깨달음을 기억하시나요? 그 일은 Eric이 고객 지원을 나누기 시작한 바로 그 달에 일어났습니다. 우연이 아닙니다. 그 업무를 넘기면서 매주 몇 시간의 여유가 생겼고, 덕분에 고객이 TinyPilot을 어떻게 바라보는지 비판적으로 고민할 수 있었습니다.
작년 목표 성적표
작년 초에 크게 세 가지 목표를 세웠습니다.
TinyPilot 연 매출 60만 달러 달성
- 결과: TinyPilot 월 매출을 네 배로 늘려 연간 총 46만 8천 달러 달성
- 성적: B
솔직히 60만 달러 목표는 다소 낙관적이었습니다. 1월에 목표를 세울 당시에는 직전 5개월 동안 매출이 매달 20~200%씩 성장하고 있었습니다. 목표를 발표한 뒤 두 달 동안 TinyPilot 매출은 50%나 급감했습니다. 이후 회복은 했지만 초기의 가파른 성장세로 되돌아가지는 못했습니다.
그래도 46만 8천 달러는 결코 적은 금액이 아닙니다. 다른 결정을 했다면 60만 달러에 도달했을지도 모르지만, 특별히 심각한 실수를 했다고 할 만한 것은 없습니다.
블로그 글 여섯 편과 책 한 권 출간
- 결과: 블로그 글 세 편 발행, 책은 0권
- 성적: D
글쓰기는 제가 가장 즐기는 일 중 하나라, 시간이 그토록 부족했던 것이 아쉽습니다.
돌이켜보면 글쓰기 우선순위를 낮춘 것이 여전히 옳은 결정이었다고 생각하지만, 세운 목표에는 미치지 못했습니다.
TinyPilot 운영 자동화
- 결과: 일주일 휴가를 갈 수 있을 정도로 TinyPilot을 시스템화
- 성적: B-
TinyPilot의 일상 운영에서 제가 반드시 거쳐야 하는 부분을 없애는 데 큰 진전을 이루었습니다.
목표는 2주간 휴가를 갈 수 있는 상태가 되는 것이었지만, 아직 거기까지는 이르지 못했습니다. 연휴에 일주일간 휴가를 다녀오면서 업무 이메일도 확인하지 않고 매출도 모니터링하지 않았습니다. 대체로 잘 진행되었지만, 수천 달러어치 장비가 중국으로 반송되는 것을 막기 위해 FedEx로부터 걸려 온 전화는 받아야 했습니다.
4년 차 목표
TinyPilot 연 매출 100만 달러 달성
TinyPilot 마케팅에는 해야 할 만큼 투자하지 못했습니다. 사업이 거의 전적으로 입소문과 자연 검색에만 의존해 유지되어 온 것은 행운이었습니다. 지금까지 한 마케팅이라곤 YouTube 크리에이터들에게 무료 제품을 보낸 것이 전부였습니다. 효과는 있었지만, 전혀 시도해 보지 않은 마케팅 채널이 무수히 많습니다.
올바른 마케팅 채널을 찾으면 현재 매출을 두 배로 늘릴 수 있다고 생각합니다. 두 배로 늘려 90만 달러가 된다면, 깔끔하게 100만 달러를 목표로 해 보는 것도 좋지 않을까요?
주 20시간으로 TinyPilot 운영하기
TinyPilot이 가장 즐거울 때는 운영이 원활하게 돌아가 성장에 대해 고민할 여유가 있을 때입니다. 가장 힘든 때는 단기적인 일이 산더미처럼 쌓여 있고, 너무 급하거나 흩어져 있어 위임하기도 어려울 때입니다.
올해는 TinyPilot을 계속 시스템화해서 제가 관리에 주당 20시간만 쏟더라도 모든 것이 원활하게 돌아가도록 만들고 싶습니다. 그렇게 되면 지금은 거의 하지 못하는 글쓰기와 코딩에도 시간을 쓸 수 있을 것입니다.
새로운 TinyPilot 하드웨어 제품 출시
TinyPilot은 Raspberry Pi 싱글보드 컴퓨터 위에서 동작합니다. Pi는 TinyPilot을 빠르게 시작하는 데 큰 도움이 되었지만, 사업이 성장하면서 한계를 느끼기 시작했습니다.
전기 엔지니어링 외주 업체와 협력해 새로운 TinyPilot 제품을 개발할 계획입니다. Raspberry Pi를 없애고 고객의 요구에 맞춰 최적화할 수 있는 맞춤형 보드를 사용할 예정입니다.
여전히 이 일이 좋은가?
이런 연간 회고를 쓸 때마다 부트스트랩 창업자로서의 삶이 여전히 좋은지 되돌아봅니다. 올해는 처음으로 선뜻 그렇다고 말하기 어려운 해였습니다. 여전히 제 일을 좋아하지만, 그저 잘 안 되는 소프트웨어 제품을 만들며 블로그를 쓰던 때만큼 재미있고 쉽지는 않습니다.
진짜 사업을 운영하고 있다는 느낌은 즐겁습니다. TinyPilot 이전에는 제 사업들의 월 수익이 보통 500달러 미만이었습니다. 그 규모에서는 자본의 한계를 크게 느꼈습니다. 500달러로는 숙련된 인력을 고용하거나 전문가의 조언을 살 수 없습니다. 수익이 너무 적어 더 나은 해결책을 쓸 명분이 없어, 재미없는 문제들을 직접 해결해야 하는 경우가 많았습니다.
TinyPilot은 필요한 곳에 팀원을 고용할 만큼 충분한 수익을 냅니다. 3년간 혼자 코딩한 뒤 다시 재능 있는 개발팀과 함께 일하는 것이 반갑습니다. 단순 반복 작업을 없애는 것이 분명 이득이기에 개발 도구와 지속적 통합에 매달 200달러를 지불합니다. 이전 사업에서는 그 비용만으로도 수익 대부분이 사라졌을 것입니다.
제가 고용주에게 바랐던 모습과 일치하는 회사 문화를 갖게 되어 기쁩니다. 모두가 유연한 근무 시간을 갖고, 촉박한 마감도 없어 품질을 타협할 필요가 없습니다. 거의 모든 업무가 비동기로 이루어지기에 모두가 깊고 몰입된 작업을 할 여유가 있습니다.
수천 명의 실제 고객을 둔 사업을 운영하면서 가장 힘든 점은 실패에 대한 책임을 져야 한다는 것입니다. 우리는 팀으로 일하지만, 최종 책임은 결국 저에게 있습니다. 심각한 버그를 배포하거나 예고한 날짜에 신제품을 출시하지 못했을 때, 고통스럽고 개인적으로 부끄럽게 느껴집니다. 이는 Microsoft나 Google에서 개발자로 일하던 때와는 전혀 다른 경험입니다. 그때는 팀원들이 제 코드를 리뷰하며 책임을 나누었고, 실제 고객과는 여덟 단계나 떨어져 있었습니다.
전반적으로 저는 여전히 스스로 일하는 지금이 행복하며, 남은 직장 생활 동안 이 일을 계속 이어가고 싶습니다.
글을 무작위로 읽기


