TinyPilot: 11개월 차
한 줄 요약
TinyPilot의 이익률을 어떻게 높일 수 있을까?
하이라이트
- 월 매출 3만 달러에도 불구하고 TinyPilot은 간신히 비용을 충당하고 있습니다.
- 대기업 고객이 TinyPilot에 더 많은 비용을 지불하도록 하는 방안을 모색하고 있습니다.
- 사람을 관리하는 일 자체가 하나의 본격적인 업무라는 사실을 받아들여야 합니다.
목표 평가
매달 초에 달성하고 싶은 목표를 정합니다. 이번 달 결과는 다음과 같습니다.
TinyPilot 매출 3만 3천 달러 달성
- 결과: TinyPilot 매출을 3만 9천 달러까지 늘렸습니다
- 평가: A
IT 하드웨어 분야의 대표 블로그/유튜브 채널 중 하나인 ServeTheHome의 대형 리뷰 이후 TinyPilot 판매량이 급증했습니다.
TinyPilot 운영을 새 사무실로 완전히 이전
- 결과: TinyPilot 운영을 새 사무실에서 완전히 진행합니다
- 평가: A
마침내 TinyPilot 운영 공간을 집에서 제대로 된 사무실로 옮겼습니다. Linux에서 프린터가 도무지 작동하지 않을까 봐 조마조마했던 날도 있었지만 전반적으로 이전은 순조로웠습니다. 입고되는 부품은 사무실로 배송되고, 직원들이 사무실에서 제품을 조립하고 테스트하며, 출고 주문도 사무실에서 발송됩니다.
Refactoring English 목차에 대한 피드백을 수집하고 개선하기
- 결과: 피드백은 수집했지만 아직 어떻게 반영해야 할지 모르겠습니다
- 평가: B
Write Useful Books 커뮤니티와 메일링 리스트에서 피드백을 받았습니다. 구독자 202명 중 6명이 응답해 기대보다는 적었지만 도움이 되는 피드백이었습니다.
사람들은 “더 나은 블로그 글 쓰기” 같은 큰 주제에는 관심이 많았지만, 동사 사용을 개선하는 방법을 설명하는 챕터에는 상대적으로 관심이 적었습니다. 흥미로운 내용을 앞쪽에 배치하도록 순서를 바꾸고 싶지만, 뒤쪽 챕터들이 앞쪽 내용에 의존하고 있어 어떻게 해야 할지 고민입니다.
흥미로운 결과는 당연히 기초보다 더 매력적으로 느껴집니다. 비디오 게임을 만드는 법에 대한 책을 쓴다면, 사람들은 “지능적인 AI를 가진 적 캐릭터 만들기” 같은 챕터에는 흥미를 느끼겠지만 “선형대수의 기초”에는 별로 관심이 없을 겁니다. 그렇다고 기초를 건너뛰어도 된다는 뜻은 아니지만, 기초를 가르치면서도 실용적이고 바로 적용할 수 있게 만드는 방법을 찾아야 할 것 같습니다.
TinyPilot 통계
| 지표 | 2021년 4월 | 2021년 5월 | 변동 |
|---|---|---|---|
| 순 방문자 수 | 5,880 | 7,283 | +1,403 (+24%) |
| 총 페이지뷰 | 10,483 | 13,267 | +2,784 (+27%) |
| 판매 매출 | $28,880.65 | $38,767.77 | +$9,887.12 (+34%) |
| 이익 | $843.56 | $6,858.72 | +$6,015.16 (+713%) |
TinyPilot은 역대 두 번째로 좋은 한 달을 보냈습니다. 이번 판매량에서도 모든 것이 원활하게 돌아간 점이 고무적이었습니다. 지난 1월에 비슷한 주문 폭증이 있었을 때는 감당하지 못해 어려움을 겪었지만, 다행히 주문 처리 프로세스를 개선한 덕분에 이번에는 모든 시스템이 정상적으로 작동했습니다.
나는 그저 관리자일 뿐이다
2012년부터 2014년까지 저는 iSEC Partners라는 회사에서 소프트웨어 보안 컨설턴트로 일했습니다. 당시 제 매니저였던 Peter는 뉴욕 팀 전체를 이끌고 있었습니다. 그는 종종 스스로를 깎아내리며 “나는 그냥 관리자일 뿐이야. 나는 간접비(오버헤드)나 다름없어”라고 말하곤 했습니다. 팀원들이 모두 생산적인 일을 하는 동안 자신은 회사 관료 조직의 일부일 뿐이라는 의미였습니다.
하지만 Peter는 정말 뛰어난 매니저였고, 모두가 그 사실을 알고 있었습니다. 그가 자신의 역할을 하찮게 농담한 이유는, 관리 업무 때문에 보안 연구나 도구 개발 같은 회사 내의 더 재미있는 일들에 쓸 시간이 줄어들었기 때문이라고 생각합니다.
이제는 Peter의 심정에 공감합니다. 하루가 끝나면 이메일만 쓴 것 같은 기분이 들 때가 많습니다. 하지만 한 발짝 물러서서 보면 왜 그런 날이 생기는지 이해가 갑니다. 현재 TinyPilot에는 함께 일하는 사람이 많습니다.
- 원격 소프트웨어 개발자 3명
- 재고 관리, 조립, 주문 처리를 담당하는 현장 직원 3명
- 3D 프린팅과 전기 공학 분야에서 긴밀하게 협업하는 협력업체 2곳
그러니까 최소 일주일에 한 번 이상 소통하는 사람이 총 8명입니다. 그 외에도 사무실 건물주, 인사·급여 서비스 업체, 지식 베이스, 재고 추적 도구 등 함께 일하는 사람과 서비스가 더 있습니다. 그리고 고객 지원과 영업은 제가 혼자 담당하고 있습니다.
이런 상황을 고려하면, 하루 대부분을 이메일을 쓰는 데 보내는 것이 그리 이상하게 느껴지지 않습니다. 관리를 더 적극적으로 받아들이도록 전략을 조정해야 합니다.
팀원이 할 수 있는 일은 내가 하지 않기
요즘 제가 하는 가장 어리석은 일 중 하나는 팀원이 충분히 할 수 있는 일을 제가 대신 떠맡는 것입니다. 지난달에 하루에 코드를 작성할 수 있는 시간이 한 시간뿐이라고 이야기했는데, 다시 생각해 보니 그 한 시간조차 쓰지 말아야 합니다. 팀원들도 코드를 작성할 수 있는데, 정작 저만 할 수 있는 일을 미루고 있기 때문입니다.
나만 할 수 있는 업무 나누기
이론적으로는 다른 사람도 할 수 있지만, 현재로서는 필요한 권한이나 지식을 저만 가지고 있어 실제로는 할 수 없는 업무가 몇 가지 있습니다.
이런 업무는 주로 여러 영역이나 역할에 걸쳐 있으며, 현장 직원만 사용하는 도구를 관리하는 일이 대표적입니다. 제가 위임해야 할 일은 다음과 같으며, 저에게서 떼어내는 난이도가 낮은 순으로 나열했습니다.
- Shopify와 재고 스프레드시트를 연결하는 글루 코드 관리
- TinyPilot 프로덕션 이미지를 빌드하는 스크립트 관리
- 재고 스프레드시트 내 수식 관리
- 고객 지원 문의 응대
- TinyPilot 릴리스 최종 QA 테스트 수행
월 3만 달러인데 왜 수익이 남지 않을까?
최근 여자친구에게 TinyPilot을 키우는 데 겪는 많은 문제에 분명 쉬운 해결책이 있을 텐데, 나와 비슷한 비즈니스를 운영하는 사람들과 교류가 없어서 그 방법을 모른다고 하소연했습니다. 여자친구는 조언을 듣고 싶은 사람이 누구냐고 물으며, 떠오르는 사람이 있으면 그냥 이메일을 보내 보면 되지 않느냐고 했습니다.
가장 먼저 떠오른 사람은 Mike Perham, Sidekiq의 창업자였습니다. Mike가 Indie Hackers 팟캐스트에서 한 인터뷰는 제가 가장 좋아하는 인터뷰 중 하나입니다. 아직 Google 직원이었을 때 그 인터뷰를 들었는데, 그의 비즈니스는 제가 생각하는 이상적인 인디 소프트웨어 비즈니스로 계속 기억에 남아 있습니다. 그는 오픈소스 소프트웨어를 만들며 한 달에 약 8만 달러를 벌고 있었습니다. 무엇보다 고객이 Sidekiq을 각자의 머신에서 직접 실행하기 때문에, Mike가 당장 대응해야 하는 긴급 상황이 생기는 것 자체가 거의 불가능하다는 점이 가장 좋았습니다.
Mike와 아는 사이는 아니었지만, 자기소개와 함께 TinyPilot에 대한 조언을 구하는 이메일을 보냈습니다. 그는 다음 날 여러 가지 아낌없는 조언을 답장으로 보내 주었습니다. 그중 가장 기억에 남는 부분은 제 재무 상황에 대한 그의 반응이었습니다.
이익을 올려야 합니다. 5% 이익률은 건강한 비즈니스가 아닙니다. 비용을 낮추든, 가격을 조금 조정하든, 아니면 거의 순수 이익에 가까운 소프트웨어 전용 애드온을 찾으세요.
도움이 되는 경종이었습니다. 이익이 낮다는 건 알고 있었지만, 월 3만 달러면 그래도 꽤 괜찮은 위치에 있다고 느껴왔습니다. 하지만 5% 이익률이라는 관점에서 보니 상황이 훨씬 명확해졌습니다.
Mike의 조언을 바탕으로 비용을 좀 더 자세히 살펴보았습니다. 5월 장부는 아직 정리하지 않아 4월을 예시로 들었습니다.

카테고리별 TinyPilot 지출
| 카테고리 | 합계 |
|---|---|
| 원자재 | $15,637.68 |
| 소프트웨어 외주 개발자 | $9,331.79 |
| 현장 주문 처리 인력 | $1,460.12 |
| 배송비 | $1,262.53 |
| 전기 공학 컨설팅 | $901.25 |
| 사무실 임대료 | $550.00 |
| 광고비 | $370.00 |
| 법무 비용 | $270.00 |
| 사무용품 및 장비 | $233.72 |
| 그래픽 디자인 | $169.00 |
| 스티커 | $163.63 |
| 클라우드 서비스 | $176.33 |
| 기타 | $161.21 |
원자재 비용은 그리 놀랍지 않습니다. 실물 제품의 마진은 보통 50~60% 정도이므로, 약 3만 달러 매출에 1만 5천 달러 정도는 예상했던 수준입니다. 여기서 비용을 줄일 여지는 거의 없습니다. 제가 구매하는 자재에 더 저렴한 대체품이 없기 때문입니다. 케이블처럼 품질을 위해 프리미엄을 지불하는 품목도 있지만, 그 차이는 300달러에 판매하는 제품 기준으로 개당 1~2달러에 불과합니다. 비싼 부품은 Raspberry Pi나 HDMI 캡처 칩처럼 더 저렴한 대체품 자체가 없는 것들입니다.
두 번째로 큰 지출은 소프트웨어 개발인데, 제가 직접 소프트웨어를 작성할 수 있는데도 이런 비용이 들어간다는 것이 이상하게 보일 수 있습니다. 문제는 소프트웨어를 잘 작성하려면 끊김 없는 집중 시간이 필요한데, TinyPilot에는 소프트웨어 외적인 업무가 너무 많아 그런 시간을 확보하기 어렵다는 점입니다. 2020년 말에는 제가 유일한 개발자였고, 새로운 제품을 추가하는 데 따른 여러 실무에 바빠 TinyPilot의 소프트웨어 개발 속도가 거의 멈추다시피 했습니다.
더 저렴한 개발자를 고용할 수도 있지만, 그러면 금방 재앙이 될 겁니다. 함께 일하는 개발자들은 특히 뛰어난 분들이라 코드베이스의 품질을 높게 유지해 소프트웨어가 계속 유지보수하기 쉽고 버그가 적도록 합니다.
시간당 약 30달러 수준의 저렴한 개발자들과 일해 본 적이 있는데, 그들은 아예 일을 어떻게 해야 할지 파악조차 못하거나, 순진한 방식으로 구현해 나중에 버그와 유지보수 문제를 일으키곤 했습니다. 저가 개발자들로 팀을 꾸리면 몇 달 안에 코드베이스가 유지보수 불가능한 악몽이 될 것입니다.
그 외에는 의미 있게 줄일 수 있는 지출이 없습니다. 세 번째로 큰 지출은 현장 주문 처리 인력이지만, 비용을 50%나 삭감한다고 해도 전체 지출은 2.4%밖에 줄어들지 않으므로, 잘 돌아가는 시스템을 굳이 건드릴 이유가 없습니다.
Mike Perham의 조언을 따르는 다른 방법은 매출을 늘리는 것입니다.
대기업 고객으로부터 가치 확보하기
올해 초, 저는 한 대기업의 IT 매니저와 이야기를 나눴습니다. 그는 TinyPilot을 마음에 들어 했고, 기존에 쓰던 2천 달러짜리 엔터프라이즈 장비를 대체하기 위해 사내에 TinyPilot을 도입하자고 적극 추진했습니다. 그리고 실제로 성공했습니다! 그 회사는 한 부서에만 40대의 TinyPilot을 배치하고 더 추가할 계획까지 세웠습니다.
그 도입으로 TinyPilot이 얼마를 벌었을지 맞춰 보세요. 0원입니다.
그들은 제 하드웨어를 구매하는 대신 직접 기기를 만들어 버렸습니다. 그리고 소프트웨어가 관대한 오픈소스 라이선스로 배포되고 있었기 때문에, 회사에서 아무런 비용을 지불하지 않고도 자유롭게 사용할 수 있었습니다.
이는 오픈소스에서 극히 흔한 문제입니다. 개방적인 라이선스는 사람들이 제품을 발견하고 사용하도록 장려하지만, 동시에 대기업이 아무 대가 없이 당신의 작업물로 이익을 얻도록 허용하기도 합니다.
이 문제에 대해서도 Mike Perham에게 물어보았습니다. 그의 답변은 다음과 같았습니다.
라이선스 때문에 대기업 고객들이 당신을 깔보고 마음대로 하는 것 같네요. 그건 당신 코드 맞죠? 라이선스를 바꾸세요. 예를 들어 취미 사용자에 한해 개인용으로 한 인스턴스만 허용하는 식으로요. MIT나 BSD 라이선스는 코드를 공짜로 나눠주는 데는 좋지만, 비즈니스의 기반으로 삼기에는 좋지 않습니다.
내 코드이긴 합니다... 어느 정도는요. TinyPilot에서 일하는 프리랜서들은 자신이 기여한 코드의 지적 재산권이 저에게 있다는 계약에 서명하지만, 자원봉사 개발자들의 기여도 몇 건 받아들인 적이 있습니다. 제 이해로는, 무료로 코드를 기여한 개발자들도 기술적으로는 저와 함께 TinyPilot 코드의 저작권을 공동 소유하고 있다는 것입니다.
저는 MIT 라이선스로 TinyPilot을 공개했습니다. 저에게도 유연성을 주기 때문입니다. 저는 코드를 제 스스로 다른 라이선스로 ‘포크’하고, 그 코드가 MIT 라이선스 코드도 사용한다고 말하면 될 것 같기는 한데, 그게 어떻게 작동하는지는 정확히 모르겠습니다.
대기업 고객으로부터 더 많은 가치를 확보할 방법에 대해 고민해 봤고, 다음과 같은 아이디어를 떠올렸습니다.
TinyPilot용 엔터프라이즈 기능 제공
대기업 고객만 요청하고 다른 고객은 요청하지 않는 기능 중 하나는 TinyPilot에 대한 프로그래밍 방식 접근입니다. 예를 들어 “원격 화면을 모니터링해서 대상 기기가 다운된 것을 감지하면 알림을 생성하고 싶다” 같은 요구입니다.
대형 고객들과 이런 기능을 갖춘 TinyPilot 엔터프라이즈 버전을 비싼 프리미엄을 받고 제공하는 방안에 대해 이야기해 볼 생각입니다. 기기당 월 50달러 같은 가격은 가정용 사용자에게는 터무니없게 느껴지겠지만, 자체 솔루션을 만드는 데 몇 주를 들이지 않아도 된다면 Fortune 500 기업에게는 아무렇지도 않은 금액일 겁니다.
SaaS 애드온 제공
TinyPilot은 기기와 같은 로컬 네트워크에 있으면 사용하기 쉽지만, 고객이 인터넷을 통해 외부에서 TinyPilot에 접속하려면 현재는 서드파티 솔루션에 의존해야 합니다. 저는 여러 고객에게 “TinyPilot 클라우드 포털”, 즉 인터넷상의 어디서든 TinyPilot 기기에 원격으로 접속할 수 있는 안전한 웹 인터페이스 아이디어를 언급한 적이 있습니다.
이는 TinyPilot의 하드웨어 제품군을 보완하면서 더 높은 이익률을 제공할 수 있는 좋은 SaaS 구독 기회가 될 것입니다.
다만, 제가 상시 대기해야 하는 서비스를 호스팅하는 것은 피하고 싶습니다. 서비스 운영을 맡아줄 수 있는 업체와 협업하는 방안을 모색 중입니다.
오픈소스 라이선스 전문 변호사와 상담하기
오픈소스 라이선스에 대해 아직 모르는 것이 많기 때문에, 제 선택지가 무엇인지 변호사와 상담해야 합니다. 이상적인 라이선스는 개인 사용자가 집에서 저렴하게 TinyPilot을 체험해 보고, 이후 직장에 가져가 더 비싼 상업용 라이선스로 사용할 수 있게 하는 것, 즉 Sidekiq과 유사한 방식일 것입니다.
레거시 프로젝트
아직 유지보수하고 있지만 주력 개발 대상은 아닌 프로젝트들에 대한 간단한 업데이트입니다.
Is It Keto
| 지표 | 2021년 4월 | 2021년 5월 | 변동 |
|---|---|---|---|
| 순 방문자 수 | 56,094 | 49,085 | -7,009 (-12%) |
| 총 페이지뷰 | 123,723 | 108,862 | -14,861 (-12%) |
| 도메인 등급 (Ahrefs) | 11.0 | 11.0 | 0 |
| 애드센스 수익 | $560.20 | $466.84 | -$93.36 (-17%) |
| Amazon 어필리에이트 수익 | $116.78 | $138.99 | +$22.21 (+19%) |
| 총수익 | $676.98 | $605.83 | -$71.15 (-11%) |
Is It Keto는 계속 백그라운드에서 운영되고 있지만, 이번 달에는 오랜만에 약간의 작업을 했습니다. 많은 Amazon 어필리에이트 링크가 오래되어 더 이상 존재하지 않는 제품을 가리키고 있어, 몇 시간을 들여 이를 수정했습니다.
몇 달 만에 코드를 다시 꺼내 보니 이것저것 만지고 싶은 유혹이 정말 큽니다. 하지만 TinyPilot에 최대한 집중하는 것이 더 낫기 때문에 스스로를 자제해야 합니다.
Hit the Front Page of Hacker News
| 지표 | 2021년 4월 | 2021년 5월 | 변동 |
|---|---|---|---|
| 순 방문자 수 | 114 | 191 | +77 (+68%) |
| Gumroad 수익 | $341.61 | $417.85 | +$76.24 (+22%) |
| Blogging for Devs 수익 | $109.20 | $0.00 | -$109.20 (-100%) |
| 총수익 | $450.81 | $417.85 | -$32.96 (-7%) |
이 강좌는 여전히 한 달에 몇 건씩 판매되고 있지만, 홍보에 많은 시간을 쓰지는 않았습니다.
한 가지 하이라이트는 Dan Willoughby가 이 강좌의 교훈을 적용해 글을 쓰고 Hacker News에서 2위까지 올랐다는 점입니다. 그가 시스템을 속이는 ‘성장 핵’을 쓴 것도 아니었습니다. 그냥 시간을 들여 수준 높은 글을 썼고, 그에 걸맞은 반응을 얻은 것입니다. 정말 뿌듯했습니다.
Zestful
| 지표 | 2021년 4월 | 2021년 5월 | 변동 |
|---|---|---|---|
| 순 방문자 수 | 892 | 659 | -233 (-26%) |
| 총 페이지뷰 | 2,132 | 1,784 | -348 (-16%) |
| RapidAPI 수익 | $40.82 | $32.85 | -$7.97 (-20%) |
| 총수익 | $40.82 | $32.85 | -$7.97 (-20%) |
Zestful은 여전히 유지보수 모드이지만, 지난 주말에 공식 Python 패키지를 배포했습니다. 예전부터 꼭 있어야 한다고 생각했던 것이었는데, PyPI 패키지를 배포하는 방법을 몰라 계속 미뤄왔습니다. 지난 3월에 Restic을 만지작거리면서 배포 방법을 배우게 되어, 그 지식을 활용해 Zestful용 패키지를 만들었습니다.
이제 사용자는 몇 분 만에 Zestful을 바로 사용할 수 있습니다. 패키지는 이렇게 설치합니다.
pip install zestful-parse-ingredient
그런 다음 parse_ingredient 모듈을 임포트하고 재료 문자열을 전달합니다.
import json
import parse_ingredient
ingredient = parse_ingredient.parse('2 1/2 tablespoons finely chopped parsley')
print(json.dumps(ingredient.as_dict()))
그러면 다음과 같은 JSON 출력이 표시됩니다.
{
"quantity": 2.5,
"unit": "tablespoon",
"product": "parsley",
"productSizeModifier": null,
"preparationNotes": "finely chopped",
"usdaInfo": {
"category": "Vegetables and Vegetable Products",
"description": "Parsley, fresh",
"fdcId": "170416",
"matchMethod": "exact"
},
"confidence": 0.9858154,
}
마무리
무엇을 해냈나?
- TinyPilot 운영을 집에서 실제 사무실로 이전했습니다
- 재고 관리자와 함께 모든 업무 프로세스를 Notion에 문서화했습니다.
- Notion에도 분명 단점과 까다로운 부분이 있지만, 이전에 내부 프로세스를 문서화하던 Google Docs보다는 큰 발전입니다.
- TinyPilot의 초기 재고 관리자(제 여자친구)로부터 새 현장 직원에게 업무를 성공적으로 인계했습니다.
- 여자친구는 다음 주에 대학원 수업이 재개되어 더 이상 TinyPilot 일을 할 시간이 없습니다.
배운 점
- 신입 직원 교육은 “보여주지 말고 글로 알려주기”
- 첫 번째 현장 직원은 실시간 논의보다는 거의 전적으로 문서화된 지침을 통해 교육했습니다.
- 모두가 얼마나 쉽게 적응했는지에 만족했고, 이는 새 직원에게 업무를 원활하게 인계하는 결과로 이어졌습니다.
- 두 번째 현장 직원은 5월 중순에 합류했으며, 이미 모든 것이 문서화되어 있어 적응이 더욱 쉬울 것으로 기대합니다.
- 관리에도 시간이 필요하다.
- 잘 관리하고 싶다면 팀원이 대신할 수 있는 일은 놓아야 합니다.
- TinyPilot은 더 높은 이익률이 필요하다.
- 비용을 줄이는 것보다 매출을 늘리는 것이 더 쉬울 것입니다.
다음 달 목표
- TinyPilot 신규 버전을 출시합니다.
- TinyPilot 매출 3만 5천 달러를 달성합니다.
- 내장 Power over Ethernet이 탑재된 TinyPilot Voyager 2 프로토타입을 제작합니다.
글을 무작위로 읽기