My Fifth Year as a Bootstrapped Founder

Michael Lynch

ブートストラップ起業家としての5年目

5年前、私はGoogleの開発者の仕事を辞め、自己資金でソフトウェア会社を立ち上げました。

最初の数年間は、立ち上げたビジネスがことごとく失敗しました。どれも月の売上は数百ドルを超えず、利益は常にマイナスでした。

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を有効にしてください
Webデザイン/ブランディング-$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の電気回路設計の外注先はTinyPilotの成長についていけなくなっていました。2021年後半により適した新しい外注先に切り替えましたが、コストは3倍になりました。

続く半導体不足の影響で頻繁な再設計を強いられ、工数と原材料費の両方が膨らみました。既存バージョンの在庫が尽きる前に回路基板を再設計するための競争が続き、そのたびに工程を早めるために割増料金を支払いました。

9月にようやく再設計の連続から抜け出すことができました。2023年については第4四半期の結果に期待しています。第4四半期の利益は$28.6kでしたので、2023年に月平均$9.5kを達成できれば満足です。

TinyPilotのウェブサイトをリニューアルしました

2020年にTinyPilotを立ち上げたとき、ウェブサイトとロゴは仮のものだと自分に言い聞かせていました。しかし、すぐに事業が急拡大したため、置き換える時間がありませんでした。

2022年になってようやくデザイン会社に依頼し、新しいロゴの作成とウェブサイトのデザイン刷新を行いました。

旧ランディングページのスクリーンショット
新ランディングページのスクリーンショット

TinyPilotのウェブサイトリニューアルのビフォーアフター

デザイン会社との仕事がどれほどフラストレーションが溜まり、費用がかさんだかは以前にも書きましたが、結果には満足しています。以前のウェブサイトは趣味のプロジェクトのように見えましたが、新しいデザインはきちんとした会社らしく見えます。売上の増加の少なくとも一部は、新しいデザインの効果だと思っています。

TinyPilotのチームが6人から7人に増えました

2021年末時点のTinyPilotのチームは次のとおりでした。

  • 私、唯一の創業者
  • パートタイムのソフトウェア開発者3名
  • デバイスの組み立てと発送を担当するパートタイムの現地スタッフ2名
    • そのうち1名はカスタマーサポートも担当

2022年末までにサポートエンジニア2名を加え、役割を調整した結果、チームは次のようになりました。

  • 私、唯一の創業者
  • パートタイムのソフトウェア開発者2名
  • デバイスの組み立てと発送を担当するパートタイムの現地スタッフ2名
    • 2名ともカスタマーサポートを担当
  • パートタイムのサポートエンジニア2名

サポートエンジニアの加入は、欠けていたピースが見つかったような感覚でした。彼らが加わる前は、私一人でテクニカルサポートを担当しており、時間の約20%を費やしていました。今ではサポート対応にかける時間は5%未満になり、お客様により迅速なサポートを提供できています。

サポートエンジニアは、私に時間がなくてできなかったこと、例えば複雑なバグの調査、ドキュメントの執筆、診断ツールの改善なども担ってくれています。

チームが拡大したことで、マネージャーとしての私のスキルも試されました。2021年のTinyPilotの業務フローはかなりシンプルでした。ほぼ全員が一人で完結する単位で仕事をし、成果物は直接私かお客様に届けられました。従業員同士が連携する必要がある場合も、同じ役割のメンバー間に限られていました。

サポートエンジニアを統合することは、異なるチームがどのように連携するかを考えることでした。発送担当スタッフとサポートエンジニアの協力が必要なサポート依頼はどのように進めるのか。サポートエンジニアと開発チームの間のフィードバックループはどうあるべきか。

PicoShareが最も急速に成長したプロジェクトになりました

ここ数年、私がずっと不満に思っていたことの一つに、GoogleドライブやDropboxのようなクラウドストレージでファイルを1つ共有するのがいかに面倒かという点があります。ファイルへの直接リンクは提供されず、ウェブ画面へのリンクしか渡されず、そこでは受取人にアカウント登録を促されます。Googleドライブに動画をアップロードすると、すでにブラウザでの再生に最適化されているにもかかわらず、15分以上かけて再エンコードされてしまいます。

既存のクラウドストレージの代替として、PicoShareというミニマルなファイル共有アプリを作りました。ファイルをアップロードするだけで、共有できる直接リンクが取得できます。とても簡単です。再エンコードも、何かへの登録を促すこともありません。

PicoShareに動画ファイルをアップロードし、別のブラウザウィンドウでストリーミング再生するデモのアニメーション
PicoShareのデモ

同様の機能を提供するオープンソースツールはいくつかありますが、PicoShareはデータベースサーバーを必要としない点で独自性があります。つまり、単一のDockerコンテナで実行できるのに対し、他のソリューションではより複雑なオーケストレーションが必要です。

PicoShareは、私がこれまでに公開したオープンソースプロジェクトの中で最も急速に成長したプロジェクトになりました。リリースから2週間でGitHubスターを600件獲得しました。執筆時点で、PicoShareは10万回以上インストールされています。

PicoShareの成長グラフ

学んだこと

誰の「一番小さなクライアント」にもなるな

TinyPilotのウェブサイトリニューアルの騒動では多くの失敗をしましたが、根本的な問題は、デザイン会社がTinyPilotにとって根本的にミスマッチだったことでした。

その会社の他のクライアントの予算は、TinyPilotの5〜20倍でした。当初は、そんな高額なクライアントを抱える立派な会社が私のような小さな会社に賭けてくれるなんて、ありがたいことだと思っていました。

現実には、TinyPilotはその会社にとって最も優先度の低いクライアントでした。彼らはプロジェクト管理がずさんで、その結果コストが膨らみ、スコープが肥大化し、スケジュールが大幅に延びました。

今では、新しい外注先と仕事をするときは、自分の会社が他のクライアントと比べてどの位置にいるかを尋ねるようにしています。規模や売上、業種など、重要な観点で自分が外れ値になる場合は、別の相手を探します。

50%の稼働率で回す

もし事業の処理能力が顧客の需要とぴったり一致したら素晴らしいと思いませんか。従業員はすべての注文を処理し、すべてのサポート依頼に応えながら、きっちり週40時間働きます。働きすぎることも、仕事がなさすぎることもなく、アイドルタイムもありません。

実際には、それはひどい仕組みです。稼働率100%で回すということは、ミスを許容する余裕がまったくないということです。売上のちょっとした増加や従業員の休暇といった日常的な出来事ですぐに手一杯になってしまいます。

私はTinyPilotの全員が約50%の稼働率で働くことを目指しています。つまり、50%を受動的な業務、50%を能動的な業務に充てるバランスです。役割によっては50対50にぴったりとはいきませんが、良い目安になります。

テクニカルサポートチームは50対50の最も分かりやすい例です。時間の半分をサポート依頼への対応に、残りの半分をユーザーがサポートを必要としないようにするための取り組みに使います。能動的な業務には、製品のバグ修正、ドキュメントの執筆、診断ツールの改善などが含まれます。

TinyPilotの各チームは2人で構成されています。一人が不在のときは、もう一人が能動的な業務を一時停止し、緊急性の高いタスクを負担を感じずに処理できます。人気のYouTubeチャンネルで紹介されて注文が急増したときも、余力を活かして対応できます。

チーム受動的な業務能動的な業務
創業者チームマネジメント
外注先マネジメント
成果物のレビュー
役割の隙間を埋めること
マーケティング
営業
戦略の見直し
採用とトレーニング
サポートエンジニアテクニカルサポートの質問への回答ドキュメントの執筆
チュートリアルの執筆
難しいバグの調査
ソフトウェア開発者緊急のバグ修正
新機能のリリース
開発体験の改善
自動テストの作成
緊急でないバグの修正
発送担当スタッフデバイスの組み立て
注文の発送
カスタマーサービス
サポート用プレイブックの作成
マーケティングの補助

Ansibleとgitはソフトウェア配布ツールではない

TinyPilotを始めたとき、Linuxソフトウェアをどう配布すればよいか分かりませんでした。

TinyPilotのプロトタイプを公開するために、私は知っているツールを使いました。bashスクリプト、Ansible、そしてgitです。bashスクリプトがAnsible環境をセットアップし、Ansibleプレイブックを実行しました。Ansibleが依存関係をインストールし、OSに必要な変更を加え、TinyPilotのgitリポジトリをクローンしました。

インストールプロセスは可もなく不可もなく、といったところでした。遅いものの信頼性はあり、ユーザーが手動で設定する必要もありませんでした。

2年後、TinyPilotのアップデートプロセスは混乱していました。依然としてプロトタイプ時代の不安定な基盤に依存していましたが、今では複雑な相互依存の網ができていました。AnsibleロールはGitリポジトリに依存し、それがまた別のAnsibleロールに依存し、さらに大量のYAMLファイル内のパラメーターに依存していました。ちょっとした変更でも何週間もの開発時間を飲み込みました。

すべては、標準的なLinuxパッケージングツールを学ぶことを怠ったせいでした。

今年、TinyPilotチームはDebianパッケージの使い方を学びました。恐れていたほど大変ではありませんでした。パッケージサーバーやキーサーバーなどをあれこれ用意しなければならないと思っていましたが、実際にはそうしたものは一切不要でした。適切なガイドを見つければ、プロセスは比較的簡単でした。

Debianパッケージによって開発は加速しました。ツールが高額なミスをより早い段階で検出してくれますし、以前のインストールシステムでは極めて複雑だったテストデバイスへのプレリリース版のデプロイも、簡単にできるようになりました。

去年の目標の採点

昨年、私は1年間で達成したい3つの大きな目標を立てました。その結果は次のとおりです。

TinyPilotの年間売上を$1Mに伸ばす

  • 結果: TinyPilotの売上を76%伸ばし、$812kに成長させました
  • 評価: B

$1Mは常に野心的な目標だと分かっていました。目標には届きませんでしたが、これだけ近づけたことは依然として立派だと思っています。

TinyPilotの運営を週20時間で回す

  • 結果: 2022年は2021年よりもTinyPilotの運営により多くの時間を費やしました。
  • 評価: D

業務を自動化・委任して運営時間を週20時間まで減らすことを期待していましたが、実現しませんでした。売上の増加、サポートエンジニアチームの立ち上げ、そして半導体不足によるトラブル対応の間で、管理時間はむしろ増加しました。

TinyPilot Voyager 3を出荷する

  • 結果: 設計フェーズすら完了しませんでした
  • 評価: F

TinyPilotはこれまで常にRaspberry Pi 4Bを中核ハードウェアとして使ってきました。Pi 4Bのエコシステムは素晴らしいのですが、ハードウェア自体は比較的高価で、カスタムチップとの統合も困難です。

2022年の計画は、よりスリムで安価なRaspberry Pi Compute Module 4向けのカスタム基板を作ることでした。これにより製造コストを最大60%削減し、ハードウェア設計を簡素化できるはずでした。

しかし、ハードウェアエンジニアリングの時間はすべて製造上の問題や供給不足への対応に費やされ、新製品については何も進展がありませんでした。

6年目の目標

TinyPilotの運営を週20時間で回す

昨年は運営時間の削減に惨敗しましたが、今は最優先事項にしています。今年は達成できる見込みがあると期待しています。2022年の取り組みの多くが、2023年に私がクリティカルパスから外れるための土台になりました。

利益$100kを稼ぐ

TinyPilotの最初の2年半は、成長に焦点を当てていました。ハードウェアやソフトウェアのエンジニアリングコストは、月に20台売っても2,000台売っても同じだけかかるので、事業を成り立たせるには一定の規模に到達する必要がありました。

2023年の大半は、TinyPilotの生産が供給によって制約されます。売上の成長が見込めないと知ってがっかりしましたが、裏を返せば成長ではなく利益に集中してペースを落とせるということです。

TinyPilotはこれまでほぼ収支トントンでやってきましたが、さらなるハードウェアの再設計を避けられれば、今年は$100kの利益を達成できると思います。2022年にハードウェアの再設計がなければ、エンジニアリングで約$100k、材料費で約$20kを節約できていました。売上を安定させ、ハードウェア関連をスリムに運営できれば、2023年は黒字の年にできるはずです。

TinyPilotのオフィスを閉鎖する

2021年初頭からTinyPilotのオフィスを借りています。デバイスの組み立てや注文の発送、在庫の保管に使っています。

自前の現地オフィスがあることで、ハードウェアやプロセスの変化に素早く適応できましたが、余計なオーバーヘッドも大きくなっています。今年は、すべての部品の調達元である中国へ組み立てを移管したいと考えています。発送についても、外部の物流倉庫への移行を進めています。

TinyPilotのオフィスをなくせば、物理的なスペースの維持や在庫管理、対面シフトの管理といった業務から解放されます。製造と発送をアウトソースすることで、チームの時間や働く場所の柔軟性も高まります。

今でもこの仕事が好きですか?

毎年、このブログ記事を書くときに、自分は今でもこの仕事が好きかどうか自問します。

2022年は大変な1年でした。独立してから間違いなく最も厳しい年でした。惨めだったわけではありませんが、心から「大好きだ」とは言えませんでした。

世界的な半導体不足のせいで、同じ作り方で製品を製造できることは一度もありませんでした。常に何かの部品が不足したり製造上の問題があったりして、在庫が尽きる前に問題を修正し、プロセスを適応させるために走り回っていました。なんとか乗り切り、製品を売り切れとして表示しなければならなかったのは数日だけでしたが、ストレスの多い日々でした。

とはいえ、評価すべきことも確かにたくさんありました。執筆やソフトウェア開発に充てられる時間は比較的少なかったものの、作り上げたものには誇りを持っています。TinyPilotの組織を拡大し、チームがどのように連携するかを考えたことで、マネージャーとしてのスキルも成長しました。会社が発展するにつれて、チームのメンバーがそれぞれの役割で成長し、スキルを広げていく姿を見るのはやりがいがありました。

私は今でも誰かに雇われるより自分で働く方が好きです。自分の会社を持てる自由に今でも感謝しています。そして、これからもずっと続けていきたいと思っています。


カバー画像提供: Loraine Yow氏。素敵な婚約者とBlogging for Devsコミュニティの皆様に、この記事への初期フィードバックをいただいたことに感謝します。

原文は Michael Lynch により に公開されました。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。