TinyPilot: Month 11

Michael Lynch

TinyPilot: 11개월 차

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

한 줄 요약

TinyPilot의 수익성을 어떻게 높일 수 있을까?

하이라이트

  • 월 매출 3만 달러에도 불구하고 TinyPilot은 간신히 비용을 충당하는 수준이다.
  • 대기업 고객이 TinyPilot에 더 많은 비용을 지불하도록 하는 방안을 모색 중이다.
  • 사람을 관리하는 것 자체가 하나의 일이라는 사실을 받아들여야 한다.

목표 평가

매달 초에 달성하고 싶은 목표를 정한다. 이번 달 목표 달성 결과는 다음과 같다.

TinyPilot 매출 3만 3천 달러 달성

  • 결과: TinyPilot 매출 3만 9천 달러 달성
  • 평가: A

IT 하드웨어 분야의 대표적인 블로그이자 유튜브 채널인 ServeTheHome의 대규모 리뷰 이후 TinyPilot 판매량이 급증했다.

TinyPilot 운영을 새 사무실로 완전히 이전

  • 결과: TinyPilot 운영이 새 사무실에서 완전히 이루어짐
  • 평가: A

마침내 TinyPilot 운영을 집에서 실제 사무실로 옮겼다. 리눅스에서 프린팅이 아예 작동하지 않을까 봐 조마조마했던 날처럼 스트레스를 받은 날도 있었지만, 전반적으로 이전은 순조로웠다. 들어오는 부품은 사무실로 배송되고, 직원들은 사무실에서 제품을 조립하고 테스트하며, 출고 주문도 사무실에서 발송된다.

Refactoring English 목차에 대한 피드백 수집 및 개선

  • 결과: 피드백은 수집했지만 아직 어떻게 반영할지 확신이 서지 않음
  • 평가: B

Write Useful Books 커뮤니티와 내 메일링 리스트에서 피드백을 받았다. 구독자 202명 중 6명이 응답했는데, 기대보다 적은 수였지만 도움이 되는 피드백을 얻을 수 있었다.

사람들은 동사 사용을 개선하는 방법을 설명하는 챕터보다는 “더 좋은 블로그 글 쓰기” 같은 상위 수준의 작업에 더 관심을 보였다. 흥미로운 부분을 앞쪽에 배치하도록 순서를 바꾸고 싶지만, 뒤쪽 챕터들이 앞쪽 내용에 의존하고 있어 어떻게 해야 할지 모르겠다.

흥미로운 결과물은 당연히 기초보다 더 매력적이다. 비디오 게임 만드는 법에 대한 책을 쓴다면 사람들은 “지능적인 AI를 갖춘 적 캐릭터 만들기” 같은 챕터에는 관심을 갖겠지만 “선형대수의 기초”에는 그리 흥미를 느끼지 않을 것이다. 그렇다고 기초를 그냥 건너뛸 수 있다는 뜻은 아니지만, 어쩌면 기초를 가르치면서도 실용적이고 바로 적용할 수 있게 만드는 방법을 찾아야 한다는 뜻일지도 모른다.

TinyPilot 통계

지표2021년 4월2021년 5월변화
고유 방문자 수5,8807,283+1,403 (+24%)
총 페이지뷰10,48313,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을 키우는 데 겪는 많은 문제들이 사실 쉽게 해결될 수 있는데, 나와 비슷한 사업을 하는 사람들과 교류가 없어서 그 방법을 모르는 것 같다고 토로한 적이 있다. 여자친구는 누구에게 조언을 받고 싶은지 생각해보면 되고, 그냥 떠오르는 사람에게 이메일을 보내면 된다고 했다.

가장 먼저 떠오른 사람은 Sidekiq의 창업자인 Mike Perham이었다. Mike가 Indie Hackers에서 한 인터뷰는 내가 가장 좋아하는 인터뷰 중 하나다. 나는 아직 Google 직원이었을 때 그 인터뷰를 들었는데, 그의 사업은 내내 이상적인 인디 소프트웨어 사업으로 기억에 남았다. 그는 오픈소스 소프트웨어를 만들며 한 달에 약 8만 달러를 벌고 있었다. 무엇보다 고객이 Sidekiq을 자신의 머신에서 직접 실행하기 때문에 긴급하게 Mike가 즉각 대응해야 하는 상황이 생기는 것이 거의 불가능하다는 점이 가장 좋았다.

나는 Mike를 개인적으로 알지 못해서 자기소개 이메일을 보내고 TinyPilot에 대해 조언을 구했다. 그는 다음 날 여러 가지 아낌없는 제안을 담아 답장을 보내왔다. 그중 가장 인상 깊었던 부분은 내 재무 상황에 대한 그의 반응이었다.

수익을 올려야 합니다. 5% 이익률은 건전한 사업을 할 수 있는 수치가 아닙니다. 비용을 낮추든, 가격을 조금 조정하든, 순수익에 가까운 소프트웨어 전용 애드온을 찾든 해야 합니다.

정신을 차리게 해주는 조언이었다. 내 수익이 낮다는 건 알고 있었지만, 여전히 월 3만 달러면 꽤 괜찮은 위치에 있다고 느껴졌다. 하지만 5% 이익률이라는 관점에서 생각하니 상황이 훨씬 명확해졌다.

Mike의 조언을 바탕으로 비용을 더 자세히 살펴봤다. 5월 장부는 아직 정리하지 않아 4월을 예시로 들겠다.

카테고리별 TinyPilot 비용 파이 차트

카테고리별 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달러 차이에 불과하다. 비싼 부품들은 라즈베리 파이나 HDMI 캡처 칩처럼 더 저렴한 대안이 없는 것들이다.

두 번째로 큰 지출은 소프트웨어 개발인데, 내가 직접 소프트웨어를 쓸 수 있는데도 이 비용이 든다는 게 이상하게 보일 수도 있다. 문제는 소프트웨어를 잘 쓰려면 방해받지 않는 집중 시간이 필요한데, TinyPilot에는 소프트웨어 외적인 요소가 너무 많아 그럴 여유가 없다는 것이다. 2020년 말에는 내가 유일한 개발자였고 새로운 제품을 추가하는 물류 업무에 바빠 TinyPilot의 소프트웨어 개발이 거의 멈춰버렸다.

더 저렴한 개발자를 고용할 수도 있지만, 그러면 금방 재앙이 될 것이다. 지금 함께 일하는 개발자들은 특히 뛰어나다. 코드베이스의 품질을 높게 유지해서 소프트웨어가 계속 유지보수하기 쉽고 버그가 적도록 해준다.

나는 시간당 약 30달러 정도의 저렴한 개발자들과 일해본 적이 있는데, 그들은 아예 일을 어떻게 해야 할지 못 알아내거나, 순진한 방식으로 구현해서 나중에 버그와 유지보수 문제로 이어지곤 했다. 프로젝트를 저가 개발자들로 채운다면 코드베이스는 몇 달 안에 유지보수 불가능한 악몽이 될 것이다.

이 외에는 의미 있게 줄일 수 있는 비용이 없다. 세 번째로 큰 지출은 현지 주문 처리 스태프인데, 여기서 비용을 50%나 줄인다고 해도 전체 비용은 2.4%밖에 줄어들지 않으니 잘 작동하는 시스템을 굳이 건드릴 필요가 없다.

Mike Perham의 조언을 따를 수 있는 또 다른 방법은 매출을 늘리는 것이다.

대기업 고객으로부터 가치 확보하기

올해 초 한 대기업의 IT 매니저와 이야기를 나눴다. 그는 TinyPilot을 마음에 들어 했고, 기존의 2천 달러짜리 엔터프라이즈 장비를 대체하기 위해 사내에서 TinyPilot 도입을 추진했다. 그리고 성공했다! 그 회사는 한 부서에 TinyPilot 40대를 배포했고 더 추가할 계획이었다.

이 배포로 TinyPilot이 얼마를 벌었을 것 같은가? 0원이다.

그들은 내게서 하드웨어를 구매하는 대신 단순히 자체적으로 기기를 만들었다. 그리고 소프트웨어가 허용적인 오픈소스 라이선스였기 때문에 아무런 비용도 지불하지 않고 회사에서 자유롭게 사용할 수 있었다.

이는 오픈소스에서 극히 흔한 문제다. 개방적인 라이선스는 사람들이 제품을 발견하고 사용하도록 돕지만, 동시에 대기업이 아무런 대가 없이 당신의 작업 성과를 활용해 이익을 얻도록 허용하기도 한다.

이 문제에 대해서도 Mike Perham에게 물어봤다. 그의 답변은 다음과 같았다.

라이선스 때문에 대기업 고객들이 당신을 깔보고 마음대로 하는 것 같군요. 이건 당신의 코드 맞죠? 라이선스를 바꾸세요. 예를 들어 취미 사용자들은 개인 용도로 한 인스턴스만 사용할 수 있도록 하는 거죠. MIT나 BSD 라이선스는 코드를 공짜로 나눠주는 데는 좋지만, 사업을 기반으로 삼기에는 좋지 않습니다.

내 코드이긴 하다… 어느 정도는. TinyPilot에서 일하는 프리랜서들은 기여한 코드의 지적 재산권이 내게 있다는 계약에 서명하지만, 자원봉사 개발자들로부터 받은 소수의 기여도 있다. 내 이해로는 무료로 코드를 기여한 개발자들이 기술적으로는 나와 함께 TinyPilot 코드의 저작권을 공동 소유한다는 것이다.

나는 MIT 라이선스 하에 TinyPilot을 공개했는데, 나에게도 유연성을 주기 때문이다. 나는 코드를 직접 다른 라이선스로 포크해서 MIT 라이선스 코드를 함께 사용한다고 말할 수 있다고 생각하지만, 그게 어떻게 작동하는지는 잘 모르겠다.

대기업, 즉 엔터프라이즈 고객으로부터 더 많은 가치를 확보할 방법에 대해 생각해봤고, 다음과 같은 아이디어를 떠올렸다.

TinyPilot 엔터프라이즈 기능 제공

대기업 고객만 요청하고 다른 고객은 요청하지 않는 기능 중 하나가 TinyPilot에 대한 프로그래매틱 액세스다. 예를 들어 “원격 화면을 모니터링해서 대상 장치가 다운되었을 때 감지하고 알림을 생성하고 싶다”는 식이다.

이 기능을 포함한 엔터프라이즈 버전 TinyPilot을 대기업 고객들과 논의할 예정이다. 대당 월 50달러 정도면 일반 가정 사용자에게는 터무니없이 비싸겠지만, 자체 솔루션을 만드는 데 몇 주를 들이지 않아도 된다면 포춘 500대 기업에게는 전혀 부담스럽지 않은 금액이다.

SaaS 애드온 제공

TinyPilot은 기기와 같은 로컬 네트워크에 있을 때는 사용하기 쉽지만, 인터넷을 통해 TinyPilot에 접속하고 싶어하는 고객은 현재 서드파티 솔루션에 의존해야 한다. 나는 몇몇 고객에게 “TinyPilot Cloud Portal”, 즉 인터넷 어디서나 TinyPilot 장치에 원격으로 접속할 수 있는 안전한 웹 인터페이스에 대한 아이디어를 제안해봤다.

이는 TinyPilot의 하드웨어 제품을 보완하면서 더 높은 이익률을 제공할 수 있는 좋은 SaaS 구독 기회가 될 것이다.

그래도 나는 대기 상태로 있어야 하는 서비스를 직접 호스팅하는 것은 피하고 싶다. 서비스 운영을 담당해줄 수 있는 협력 업체와 일할 가능성을 모색 중이다.

오픈소스 라이선스 전문 변호사와 상담하기

오픈소스 라이선스에 대해 아직 이해하지 못한 부분이 많기 때문에 변호사와 상담해 어떤 선택지가 있는지 알아봐야 한다. 이상적인 라이선스는 Sidekiq과 유사하게 개인 사용자가 집에서 써보고 이후 직장에 더 비싼 상업용 라이선스로 도입할 수 있도록, 개인 사용자에게는 TinyPilot을 저렴하게 유지하면서 상업적 환경에서는 더 비싸게 하는 방식일 것이다.

기존 프로젝트

아직 유지보수는 하고 있지만 주력 개발 대상은 아닌 프로젝트들에 대한 간단한 업데이트는 다음과 같다.

Is It Keto

지표2021년 4월2021년 5월변화
고유 방문자 수56,09449,085-7,009 (-12%)
총 페이지뷰123,723108,862-14,861 (-12%)
도메인 등급 (Ahrefs)11.011.00
AdSense 수익$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월변화
고유 방문자 수114191+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월변화
고유 방문자 수892659-233 (-26%)
총 페이지뷰2,1321,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 프로토타입 제작하기

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

댓글