My Fourth Year as a Bootstrapped Founder

Michael Lynch

부트스트랩 창업자로 보낸 4년 차

원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기

4년 전, 나는 Google 개발자 일을 그만두고 자본 없이 내 소프트웨어 회사를 차렸다.

처음 몇 년 동안 내가 시도한 사업은 모두 실패했다. 전부 적자였고, 월 매출이 몇백 달러를 넘긴 사업은 하나도 없었다.

3년 차 중반에 나는 TinyPilot이라는 네트워크 관리 장치를 만들었다. 제품은 빠르게 입소문을 탔고, 그 이후로 줄곧 나의 주력 사업이 되었다. TinyPilot은 정식으로 운영한 첫해인 2021년에 46만 달러의 매출을 올렸다.

이번 글에서는 TinyPilot을 운영하며 부트스트랩 창업자로서 배운 점들을 공유하려 한다.

첫 흑자의 해

몇 년간 적자를 이어오다 올해 처음으로 현금 흐름이 플러스로 돌아섰다. 2021년 한 해 동안 총 1만 4천 달러의 순이익을 냈다. 매출의 대부분은 TinyPilot에서 나왔지만, 정작 이익의 큰 부분은 백그라운드에서 돌아가고 있던 예전 프로젝트들에서 나왔다.

지표20202021변화
매출$63,477$478,638JS를 활성화하면 변동 확인 가능
지출-$67,441-$464,071JS를 활성화하면 변동 확인 가능
순이익-$3,964$14,518JS를 활성화하면 변동 확인 가능

이렇게 적은 돈으로 어떻게 생활할 수 있었나?

더 자세한 이야기는 2년 차 회고에서 다뤘지만, 간단히 답하자면 생활비가 적게 들고, Google 재직 시절 모아둔 목돈이 있었으며, 투자로 얻는 불로소득이 있었기 때문이다.

TinyPilot의 두 번째 해

TinyPilot은 Raspberry Pi를 기반으로 만든 오픈소스 KVM over IP 장치다

TinyPilot은 Raspberry Pi를 기반으로 한 오픈소스 KVM over IP 장치다. 별도의 소프트웨어를 설치할 필요 없이 브라우저만으로 다른 컴퓨터를 제어할 수 있으며, 대상 컴퓨터에 운영체제가 없거나 네트워크에 연결되어 있지 않아도 동작한다.

2021년 초, 나는 TinyPilot의 유일한 개발자이자 고객 지원 담당자, 영업이자 마케터였다. 다른 직원은 여자친구 한 명뿐이었고, 그가 재고를 관리하고 주문을 발송했다. 우리는 매사추세츠 서부에 있는 집에서 TinyPilot을 운영했는데, 집은 서서히 TinyPilot 창고로 변해가고 있었다.

지금 TinyPilot은 제대로 된 사무실을 갖추고, 주문 처리를 담당하는 직원 두 명, 세 명의 개발자로 구성된 팀을 운영하며, 유럽에는 유통사까지 두고 있다.

TinyPilot은 이제 제품을 조립하고 주문을 발송하는 전용 사무실을 갖추었다.

TinyPilot 재무 현황

연중 대부분 TinyPilot의 매출은 불안정했다. 유명 테크 리뷰어들이 TinyPilot을 소개하면 매출이 급등했지만, 곧 다시 가라앉기를 반복했다.

9월부터 유럽 유통사와 파트너십을 맺고 웹사이트를 재정비했다(자세한 내용은 아래에서 다루겠다). 그 변화 덕분에 매출이 안정되었고, 운이나 외부 이벤트에 대한 의존도가 낮아졌다.

수입/지출20202021변화
매출$53,742$459,529JS를 활성화하면 변동 확인 가능
신용카드 리워드$0$1,139JS를 활성화하면 변동 확인 가능
원자재-$46,143-$248,273JS를 활성화하면 변동 확인 가능
소프트웨어 개발-$1,321-$119,015JS를 활성화하면 변동 확인 가능
전기공학 컨설팅-$7,130-$28,662JS를 활성화하면 변동 확인 가능
주문 처리 인력-$2,570-$25,893JS를 활성화하면 변동 확인 가능
웹 디자인 / 브랜딩-$250-$15,931JS를 활성화하면 변동 확인 가능
클라우드 서비스-$64-$5,554JS를 활성화하면 변동 확인 가능
사무실 임대료$0-$4,400JS를 활성화하면 변동 확인 가능
광고-$675-$3,633JS를 활성화하면 변동 확인 가능
사무용품$0-$2,083JS를 활성화하면 변동 확인 가능
기타$0-$2,738JS를 활성화하면 변동 확인 가능
순이익-$5,681$4,247JS를 활성화하면 변동 확인 가능

참고: 순이익 수치는 다소 오해의 소지가 있다. 보유 중인 5만 9천 달러 상당의 재고 자산이 반영되지 않았기 때문이다.

TinyPilot 소프트웨어 개발

재미 삼아 2021년 1월 버전의 TinyPilot을 설치해 현재 버전과 비교해 봤다. 지난 1년간 얼마나 많은 것이 바뀌었는지 보고 놀랐다.

TinyPilot을 통해 Proxmox를 설치하는 화면 캡처 TinyPilot을 통해 Proxmox를 설치하는 화면 캡처

UI 개선 외에도 다음과 같은 주요 기능들을 추가했다:

  • 가상 USB 드라이브 및 CD-ROM 마운트
  • Wake on LAN
  • 비밀번호 기반 인증
  • 웹 UI를 통한 소프트웨어 업데이트
  • 비디오 대역폭 조절

다른 프로젝트들

Refactoring English

지난 5년간 이 블로그를 운영하면서 글을 더 명확하고 흥미롭게 만들고 독자를 더 잘 끌어모으는 여러 기법을 배웠다. 2021년 목표 중 하나는 그 배움을 Refactoring English라는 책으로 엮어 공유하는 것이었다. 이 책은 소프트웨어 개발자를 위한 글쓰기 기술을 다룰 예정이었다.

올해 가장 부끄러운 점은 책 집필이 거의 진척되지 않았다는 것이다.

지난 3년간 나는 매일 아침 한 시간씩 글을 쓰는 루틴을 유지해 왔다. 덕분에 1년에 열 편 정도 블로그 글을 쓸 수 있었다. 그 시간을 책에 투자하면 1년 안에 책을 완성할 수 있을 거라 생각했다.

하지만 TinyPilot은 내가 온전히 통제할 수 없는 자신만의 속도로 움직였다. 2021년 초 몇 달간은 글쓰기 습관을 유지하려 애썼지만, 매일 TinyPilot 업무에 밀리기 일쑤였다. 결국 TinyPilot 운영에 손이 덜 갈 때까지 글쓰기를 잠시 미루기로 했지만, 아직 그 단계에 이르지 못했다.

책에 대한 열정은 여전히 크며, 올해는 더 많은 시간을 낼 수 있기를 바란다.

mtlynch.io (이 블로그)

책을 쓸 시간이 없었던 것처럼 블로그에 쓸 시간도 거의 없었다. 올해 새로 발행한 글은 세 편뿐으로, 5년간 블로그를 하며 가장 적은 수였다.

아이러니하게도 가장 글을 쓰고 싶을 때가 가장 시간이 없는 때였다. TinyPilot을 하며 배운 것 중 기억이 생생할 때 기록해 두고 싶은 것들이 많지만, 도저히 시간이 나지 않았다.

다만 매달 회고록을 쓰는 습관은 유지했다. 이는 사업에 분명히 도움이 되기 때문에 시간을 따로 확보해 둔다. 앉아서 생각을 정리하다 보면 전략의 허점이나 계획의 약점이 어김없이 드러나는데, 그냥 지나쳤다면 절대 알아차리지 못했을 것들이다.

지표20202021변화
페이지뷰719,899479,666JS를 활성화하면 변동 확인 가능
제휴 수익*$1,599$0JS를 활성화하면 변동 확인 가능
일러스트-$964-$384JS를 활성화하면 변동 확인 가능
호스팅 / 도메인-$534-$306JS를 활성화하면 변동 확인 가능
교정 + Grammarly-$222-$140JS를 활성화하면 변동 확인 가능
순이익-$121-$830JS를 활성화하면 변동 확인 가능

* 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이 그렇게 바쁘지 않았다면 강의 마케팅에 더 많은 시간을 쏟을 수 있었을 것이다. 그래도 교육 상품을 만드는 법에 대해 많은 것을 배웠고, 앞으로도 이런 시도를 이어가고 싶다.

지표20202021변화
구매 수29230JS를 활성화하면 변동 확인 가능
매출$0$7,483JS를 활성화하면 변동 확인 가능
지출-$983-$148JS를 활성화하면 변동 확인 가능
순이익-$983$7,335JS를 활성화하면 변동 확인 가능

Is It Keto

Is It Keto 웹사이트 스크린샷

Is It Keto는 어떤 음식이 키토 식단에 맞는지 알려주는 사이트다.

Is It Keto는 2018년에 시작한 사이트다. 특정 음식이 키토 식단에 맞는지 여부를 알려주는 단순한 사이트로, Amazon 제휴 링크와 Google AdSense로 수익을 낸다.

TinyPilot을 시작하면서 이 사이트는 뒷전으로 미뤄뒀지만, 2021년에도 스스로 성장하며 월 500~1,000달러의 쏠쏠한 부수입을 안겨줬다. 그러다 6월쯤 다른 사이트들이 유사한 콘텐츠를 내놓으며 검색 결과에서 Is It Keto를 밀어내자 성장세가 둔화됐다.

사이트 매각을 고려해 보기도 했지만, 가치가 5천~1만 달러 정도에 불과할 것 같다. 매각 과정에만 30~60시간이 걸릴 텐데, 그 시간에 TinyPilot에 집중하는 편이 낫다고 판단했다.

지표20202021변화
페이지뷰1,314,5831,163,745JS를 활성화하면 변동 확인 가능
광고 수익$2,934$5,252JS를 활성화하면 변동 확인 가능
제휴 수익$2,147$2,022JS를 활성화하면 변동 확인 가능
프리랜서 디자이너 및 콘텐츠 작가-$105$0JS를 활성화하면 변동 확인 가능
호스팅 / 도메인-$241-$240JS를 활성화하면 변동 확인 가능
순이익$4,753$7,034JS를 활성화하면 변동 확인 가능

Zestful

Zestful 웹사이트 스크린샷

Zestful은 레시피 재료를 구조화된 데이터로 파싱해 주는 API다.

Zestful은 레시피 재료를 구조화된 데이터로 파싱해 주는 유료 서비스다. 예를 들어, "2 1/2 tablespoons finely chopped parsley"라는 문자열을 입력하면 수량은 2.5, 재료는 parsley, 손질 방법은 finely chopped 등으로 분석해 준다.

Zestful은 2019년에 만들어 몇 달간 작업하다 실패작으로 결론짓고 손을 뗐던 서비스다. 몇 달에 한 번씩 일회성 대량 파싱을 의뢰하는 고객은 있었지만, 꾸준한 수익을 내지는 못했다.

2021년은 Zestful에게 보람 있는 재기의 해였다. 연중반부터 수익이 점차 안정되기 시작했다. 새로운 고객들이 Zestful을 기반으로 서비스를 구축하기 시작했고, 기존 고객들도 사용량을 늘렸다. 이제 매달 꾸준히 수백 달러를 벌어들이며, 12월에는 종량제 사용자 매출만으로 처음으로 1천 달러를 돌파했다.

지표20202021변화
매출$1,889$2,495JS를 활성화하면 변동 확인 가능
호스팅 / 도메인-$112-$113JS를 활성화하면 변동 확인 가능
순이익$1,777$2,382JS를 활성화하면 변동 확인 가능

교훈

단 한 가지 제품만 팔아라

연중 대부분 TinyPilot의 월 매출은 2만~3만 달러 선이었다. 매출이 급증한 달은 주로 YouTube에서 호평 리뷰가 나왔을 때였다.

10월부터 매출이 월 4만~6만 달러로 두 배가 되었는데, 그 기간 동안 새로운 리뷰는 하나도 없었다. 사실 마케팅도 전혀 하지 않았다.

그렇다면 무엇이 매출을 두 배로 만들었을까? 제품 페이지를 없앤 것이다.

Voyager와 Hobbyist 키트를 나란히 보여주던 과거 TinyPilot 제품 페이지 스크린샷

TinyPilot은 과거에 다양한 제품을 판매했다.

대신 웹사이트를 대표 제품인 TinyPilot Voyager 하나에만 집중하도록 바꿨다.

제품 카탈로그가 제거된 TinyPilot 웹사이트 스크린샷

10월에는 TinyPilot 웹사이트에서 제품 카탈로그 페이지를 없애고 대표 제품에만 집중했다.

매출은 즉시 뛰어올랐다. 처음에는 우연일지도 모른다고 생각했지만, 몇 달째 새로운 수준을 유지하고 있다.

단일 제품 판매로 단순화한 직후 매출이 증가한 것을 보여주는 TinyPilot 주간 매출 그래프

웹사이트를 단일 제품 판매로 단순화하기 전후의 TinyPilot 주간 매출

이 변화가 구매 과정의 마찰과 고민을 없앴다고 생각한다. 고객들은 종종 제품 간 차이점이나 액세서리를 별도로 구매해야 하는지조차 제대로 이해하지 못했다. 이제 선택지가 하나뿐이니 구매 결정은 ‘이 제품이 필요한가?’라는 단순한 질문으로 축소된다.

참고: 이 전략을 한 단계 더 밀어붙여 제품을 아예 팔지 않는 것도 고려해 봤다. 논리적으로는 매출이 무한대로 늘어나겠지만, 너무 욕심부리고 싶지는 않았다.

좋은 리더십은 팀원의 성장을 돕는 것이다

팟캐스트 The Usual Saaspects에서 인터뷰 중인 Jason Cohen의 스크린샷

팟캐스트 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만 달러에 도달했을지도 모르지만, 특별히 크게 잘못한 결정이 있었다고는 생각하지 않는다.

블로그 글 6개와 책 한 권 출판하기

  • 결과: 블로그 글 3개 발행, 책 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의 개발자로 일하던 때와는 전혀 다른 경험이다.

전반적으로 나는 여전히 스스로 일하는 지금이 행복하며, 남은 직장 생활 동안 이를 계속 이어가고 싶다.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글