My Third Year as a Solo Developer

Michael Lynch

個人開発者としての3年目

原文は Michael Lynch により に公開されました。 このブログを購読する

今日で、Googleを退職して自分のソフトウェアビジネスを立ち上げてから、ちょうど3年が経ちました。1年目2年目の終わりにも進捗を報告してきたので、今年もこの1年の歩みを共有したいと思います。

すべてが噛み合った一年

独立して最初の2年間、収入は合計でも1万ドルに届きませんでした。3年目の目標は、売上2万ドルを達成することでした。

年の半ば時点では、目標達成は難しそうに見えました。事業全体の売上は月300ドルほどで、新しく試したアイデアはどれもうまくいっていなかったからです。

奇跡的に、5月に始めた新しいプロダクトが流れを一変させました。年末までに売上は6万3千ドルに達し、目標を大きく上回ることができました。

正直、収支はまだ赤字です。でも今回はちゃんとした言い訳があるんです!

今は物理的な製品を販売しているので、支出が先行し、売上が計上されるまでに2〜3か月のタイムラグがあります。1件あたりの利益率は30〜50%なので、数字はそのうち追いついてくるはずです。

ちょっと待って、赤字が続いてどうやってやりくりしてるの?

この件については昨年の振り返りで詳しく書いていますが、簡単に言うと、生活費が安いこと、Google時代に貯めた十分な貯蓄、そして投資による不労所得のおかげです。

プロジェクトごとの振り返り

TinyPilot

TinyPilotは、サーバーを遠隔で管理するために私が作った手頃な価格のデバイスです。

ここ数年、ソフトウェア開発はすべて自宅サーバーで行っています。とても快適なのですが、ネットワーク設定を間違えたり、新しいOSをインストールしたいときには困ります。サーバーにはモニターもキーボードもつながっていないので、机まで本体を運び、ワークステーションのケーブルを差し替え、作業が終わったらまた元に戻さなければなりません。

Raspberry PiがUSBキーボードとして振る舞えること、そして映像をキャプチャできることは知っていました。この2つの機能をウェブアプリで組み合わせれば、Piを小さなリモート管理デバイスに変えられるのではないか、と考えたのです。

数か月いじくり回した末、動くプロトタイプが完成しました。

2台のコンピュータを接続するTinyPilotの写真

オープンソースのKVM over IPデバイス、TinyPilotのプロトタイプ

当初、これに市場があるのか疑問でした。所詮、ありふれたハードウェア部品の寄せ集めです。誰がわざわざ私から買うだろうか。週に1、2件売れて、1キットあたり80ドルの利益が出れば、梱包や発送の手間を考えても割に合うかな、くらいに思っていました。

そんな中、ブログ記事を公開しました。

すぐに、このビジネスがこれまでやってきたこととはまったく違うと気づきました。記事を公開して4時間も経たないうちに、在庫の9キットはすべて売り切れ、バックオーダー(入荷待ち)になっても注文は途切れませんでした。

1週間で、その記事経由の売上は8,800ドルに達しました。Hacker Newsのトップページに掲載され、歴代の「Show HN」投稿の中でもトップクラスの人気を集めたのです。

Hacker NewsとredditでのTinyPilotへの反応

最初の急増のあとは売上が少し落ち着きましたが、その後もTinyPilotは着実に成長を続けています。物理的な製品を売るのは初めてだったので、在庫管理や受注・発送の仕組み作り、基板3Dプリントケースの製造で業者と連携する方法などを、急ピッチで学びました。

TinyPilotは年末までに約5万4千ドルの売上を記録しました。収支はまだ赤字ですが、これはコストが先行しているためです。2020年の経費には、2021年2月まで持つ分の在庫が含まれています。

収支項目2020年
売上$53,362
寄付$380
材料費-$46,143
電気回路設計のコンサルティング-$7,130
受注・発送業務-$2,570
ソフトウェア開発*-$1,321
オープンソースへの貢献-$1,270
広告費-$675
グラフィックデザイン-$250
ホスティング / ドメイン-$64
純利益-$5,681

* ほとんどのコードは自分で書いていますが、販売ページについては開発者に手伝ってもらいました。

Hit the Front Page of Hacker News

Hit the Front Page of Hacker Newsは、私のブログ運営についてまとめた講座です。

5月に、仲間内のメンタリンググループで「そこそこ成功するソフトウェア・ブロガーになる方法」という非公式なプレゼンをしました。自分の文章がHacker Newsやredditでなぜ読まれるのか、そのテクニックを分解して説明しようとしたのです。自分のプロセスを共有するのは楽しかったのですが、その素材をどう活かせばいいのかは分からずにいました。

その後1年を通して、開発者が自分の知識を有料コースとして教える姿をよく目にするようになりました。TinyPilotを通じて、ブログとビジネスを結びつけることの強力さも実感していました。もし読者が私のブログを気に入ってくれているなら、文章術のコースにも興味を持ってくれるかもしれません。

コースの収録は想像以上に大変でした。30〜40時間で終わるつもりが、結局200時間近くかかってしまったのです。

コースは2021年1月にリリースされたため、下の数字にはリリース後の売上は含まれていません。今のところ売上は控えめですが、長期的な収益を判断するにはまだ早すぎます。いずれにせよ、内容には自信を持っていますし、受講生からも「文章が大きく変わった」という嬉しい声をいくつももらっています。

指標2020年
予約注文数29
予約注文の売上$1,431
カバーデザイン-$293
収録機材-$584
純利益$554

mtlynch.io(このブログ)

今年のブログ運営で大きく変えたのは、記事のテーマをより戦略的に考えるようになったことです。2020年以前は、「今ちょうど気になっているトピックだから書いてみよう。どうなるか様子を見よう」といった感覚で書いていました。たまに読者に届くこともありましたが、多くの場合はそうなりませんでした。

今年は、新しい記事を書き始める前に、必ず2つのことを自問するようにしました。

  1. このトピックに興味を持つ読者はどれくらいいるだろうか?
  2. その読者に届ける手段はあるだろうか?

このちょっとした計画が、読者数に大きな違いをもたらしました。2019年は、公開後1週間の平均読者数が5,000人でしたが、2020年には25,000人に跳ね上がりました。新たに公開した9本の記事のうち、1本を除くすべてがHacker Newsのトップページに掲載され、そのうち4本は1位を獲得しました。

指標2019年2020年増減
ページビュー273,817719,899+446,082 (+163%)
アフィリエイト収益*$374$1,599+$1,225 (+328%)
開発費-$460$0-$460 (-100%)
イラスト-$769-$964+$195 (+25%)
ホスティング / ドメイン-$150-$534+$384 (+256%)
編集 + Grammarly-$200-$222+$22 (+11%)
純利益-$3,835-$121+$3,714

* 2020年末に、このブログのアフィリエイト提携をすべて解消しました

うまくいかなかったプロジェクト

昨年学んだ最も重要な教訓の一つは、正しいアイデアを追い求めるということは、間違ったアイデアを切り捨てることでもある、ということです。6〜8週間やってみて有意な売上が立たなければ、ターゲット顧客を変えて方向転換するか、まったく新しいプロジェクトに移ることにしています。

Is It Keto

Is It Ketoウェブサイトのスクリーンショット

Is It Ketoは、どの食品がケトジェニックダイエットに適しているかを教えてくれるサイトです。

Is It Ketoは2018年に立ち上げました。特定の食品がケトダイエットに合うかどうかを教える、シンプルなサイトです。

2019年には一度このサイトを諦めたのですが、新しいビジネスアイデアがいくつも失敗した後の2020年4月に、再び戻ってきました。Is It Keto自体は黒字でしたが、利益はわずかでした。訪問者1人あたりの収益が0.01ドルにも満たなかったため、訪問者数か収益のどちらかを劇的に増やす必要がありました。

成長を拡大するため、記事執筆の自動化を試みました。Is It Ketoの記事はこれまで、すべて私自身か雇ったライターが一から手書きしてきました。しかし既存のコンテンツを見直すと、テンプレート化できる一貫したパターンがあることに気づいたのです。適切な食品名、写真、栄養情報を当てはめれば、新しいページを素早く大量に生成できるはずでした。

Is It Ketoの記事とそれを生成したソースコードを並べた画像

テンプレートからプログラムでIs It Ketoの記事を生成する様子

当初、テンプレート化によって毎週何百本もの記事を追加できると思っていましたが、品質を落とさずにそこまでのスピードで拡大するのは困難でした。2か月で追加できたのは118本だけでした。テンプレートを増やせば増やすほど効率は上がりましたが、追加したコンテンツから得られるアクセスは、労力に見合うほどではありませんでした。

もう一つのアイデアは、友人のJustin Vincentからもらいました。月7〜10万ページビューもあるサイトの収益があれほど少ないと聞いて、彼は驚いていました。彼が勧めてくれたのは、有料の姉妹プロダクトを作り、Is It Ketoを優良な見込み顧客を集める窓口として活用する方法でした。

ケトダイエット向けのコミュニティやアプリのランディングページをいくつか試しましたが、詳しい情報を求めて登録してくれた訪問者はわずか0.1%でした。ちょうどその頃、TinyPilotが伸び始めたこともあり、Is It Ketoは一旦脇に置くことにしました。

指標2019年2020年増減
ページビュー521,9131,314,583+792,670 (+152%)
広告収益$940$2,934+$1,994 (+212%)
アフィリエイト収益$1,315$2,147+$832 (+63%)
食事プランの売上*$24$18-$6 (-25%)
外注デザイナー・ライター費-$4,322-$105-$4,217 (-98%)
ホスティング / ドメイン-$115-$241+$126 (+110%)
純利益-$2,158$4,753+$6,911

* 食事プランの販売は2020年1月に断念しました

WanderJest

WanderJestウェブサイトのスクリーンショット

WanderJestは、コメディ好きが近くのライブコメディショーを探せるサービスです。

WanderJestは2020年初頭に始めた短命なプロジェクトでした。「コメディ版Bandsintown」と説明していました。

私はコメディが大好きなのですが、近くでコメディアンが公演しているのに見逃すことが何度もありました。正しいメーリングリストに登録していない、適切なSNSアカウントをフォローしていない、Ticketmasterをちょうどいいタイミングでチェックしていない、といった理由からです。WanderJestは、できるだけ多くの情報源から公演情報を集約することで、この問題を解決しようとするものでした。

劇場との提携によるアフィリエイト収入で稼ぐ計画でしたが、割引コードを使ってくれる人は一人もいませんでした。新型コロナウイルスの流行後は、サイトを休止しました

Portfolio Rebalancer

Is It Ketoウェブサイトのスクリーンショット

Portfolio Rebalancerは、パッシブ投資家の資産管理を支援するツールです。

私の投資ポートフォリオは、株式や債券などいくつかのカテゴリーで構成されており、それぞれに目標とする配分比率があります。価格が変動すると投資バランスが崩れるため、目標の比率に戻すために資金を移動させる必要があります。年に数回、スプレッドシートに数字をちまちまと入力して、すべてが適切に見えるまで調整するという面倒な作業をしています。

これをウェブアプリで自動化できないだろうか。簡単なプロトタイプを作り、redditや自分のブログ、Google広告で公開しました。最初の1か月で1,000人の訪問者を集めました。しかし、無料トライアルに登録してくれたのは1人だけで、その人も有料プランにはアップグレードしませんでした。もともとアイデア自体にあまり自信がなかったので、1か月で見切りをつけることにしました。

学んだこと

プロダクトマーケットフィットは魔法だ

「プロダクトマーケットフィット」を達成するとは、ビジネスを成立させるのに十分な顧客とプロダクトを結びつけることを意味します。創業者がプロダクトマーケットフィットについて語るとき、真実の愛を見つけたかのような熱っぽい口調になります。今ならその理由が分かります。

独立して最初の2年半は、何百時間もかけてアイデアを実行しても、収益はわずか数ドル増えるだけでした。TinyPilotは、出会った瞬間にプロダクトマーケットフィットを感じさせる存在でした。ブログ記事を公開した途端、そうだと確信したのです。

TinyPilotでは、プロダクトがビジネスを引っ張っていき、私はただその流れに乗っているような感覚があります。ビジネス運営で重大なミスを犯した月が何度かありましたが、それでも成長は止まりませんでした。

プロダクトを改善したときの効果は、即座に、そして大きく表れます。11月にはTinyPilotのハイエンドモデルをリリースしました。最初の1か月で55台が売れ、1万4千ドルの追加収益を生み出しました。Is It KetoやPortfolio Rebalancerでの0.1%という登録率とは比べものにならない手応えでした。

24時間365日対応しなくても、成功するビジネスは作れる

今でも、2017年後半にUCBコメディシアターで観たショーのことを鮮明に覚えています。でも、肝心のネタは一つも思い出せません。覚えているのは、ポケットの中のポケベルがいつ鳴り響いて家に駆け戻ることになるかと、一晩中ハラハラしていたことだけです。

Googleでは「オンコール当番」という制度があり、2か月に一度、2週間はどこへ行くにもポケベルを携帯しなければなりませんでした。もしポケベルが鳴ったら、30分以内に「キーボードの前に座る」ことが求められたのです。

Googleを辞めるとき、今後の計画はまだ決まっていませんでしたが、一つだけ確信していたことがあります。二度とポケベルは持たない、ということでした。そして実際、それ以来一度も持っていません。障害が「一大事」になるようなビジネスアイデアは、一切検討しないと決めたのです。

2年が経つ頃、「このこだわりこそが自分の足を引っ張っているのではないか」という考えが頭をよぎるようになりました。他の創業者たちは常時対応を約束するサービスを作っているのに、それなしで自分が成功できるはずがない、と思えたのです。

幸いなことに、ブートストラップの名手であるJason Cohenが、現状のままでいいと背中を押してくれました。厳密には私個人に向けた言葉ではありませんでしたが、まるで自分に直接語りかけられているように感じました。彼の素晴らしい講演「Designing the Ideal Bootstrapped Business」32分のあたりで、Cohenは創業者たちに「リアルタイム」なビジネスを作らないよう、きっぱりと釘を刺しています。セルフファンドの小さなビジネスでは、真夜中に顧客に起こされるような働き方は割に合わない、と説明していたのです。

自分の不安に屈しなくて本当に良かったと思っています。TinyPilotは「リアルタイム」とは正反対のビジネスです。顧客は私のソフトウェアを自分のハードウェア上で動かしているので、たとえ私がすべてのサーバーやコードリポジトリをシャットダウンしたとしても、誰の業務も中断されることはありません。

成功は失敗よりもストレスが大きい

TinyPilotは常時対応を求められるビジネスではないのに、私の脳はしばしばそのことを忘れてしまいます。

大々的なローンチの後、2日間眠れませんでした。9件のキットをすべて発送し終えたあと、この先どうなるのかと気を揉み続けたのです。もし届いたデバイスが一つも動かなかったらどうしよう。顧客がTinyPilotにまったく違う機能を期待していたら。サーバーを破壊してしまうような致命的なバグがあったら。

最初に梱包した9件のTinyPilotの注文

幸い、初期の顧客はTinyPilotを気に入ってくれたので、ようやく胸をなでおろしました。しかし、それから数週間おきに、新たな心配事が現れて何日も悩まされるようになりました。重要な部品の輸送を郵便局が紛失した。好意的なレビューがきっかけで注文が急増し在庫が枯渇した。税関の書類を書き間違え、輸出違反で投獄されるのではと怯えたこともありました。

冷静に考えれば、感じているプレッシャーはすべて自分で作り出しているものです。数日間在庫切れになったところで、誰が困るというのでしょう。自分の段取りの悪さで発送が遅れたときは、顧客をがっかりさせるのではないかと不安になりますが、実際に不満を言われたことは一度もありません。むしろ、遅れると謝罪の連絡を入れると、わざわざ知らせてくれてありがとう、と感謝されるだけなのです。

仕事とプライベートを切り離し、自分へのプレッシャーを和らげることも少しずつ上手になってきましたが、まだ道半ばです。

昨年の目標の採点

年初に、3つの大きな目標を立てました。

ビジネス全体で2万ドルの売上を上げる

  • 結果: 売上6万3千ドルを達成
  • 評価: A+

年初は暗い見通しでしたが、目標を大きく上回ることができました。2019年の売上が7,200ドルだったことを考えると、約9倍の成長は大きな成果だと感じています。

ブログ記事を10本公開する

  • 結果: 9本の記事を公開
  • 評価: A-

10本達成できるペースでしたが、執筆講座の制作のために1本分を犠牲にしました。それでも、今年のブログの成果には満足しています。誇りに思える記事をいくつか書くことができ、それぞれが多くの読者に届きました。

新しい技術を1つ学ぶ

  • 結果: JavaScriptへの理解を深めた
  • 評価: B-

Rustを学ぶ口実が見つかればと思っていましたが、結局良い機会がありませんでした。

代わりに、JavaScriptの幅と深さを広げることができました。もともとVueは使っていましたが、今年はVueベースの静的サイトジェネレーターであるGridsomeを学びました。TinyPilotの販売サイトIs It Ketoのリニューアルに使いました。

また、プレーンなJavaScriptをより効果的に使えるようにもなりました。TinyPilotのウェブアプリはビルドやコンパイルの工程なしのピュアなJavaScriptでできています。最新のJavaScriptフレームワークを使わないことで、どれだけ複雑さを削ぎ落とせるかに驚かされます。

4年目の目標

TinyPilotの年商を60万ドルに成長させる

2万ドルから60万ドルへと、途方もないジャンプに聞こえるかもしれませんが、達成可能だと考えています。

TinyPilotは2021年1月に4万3千ドルの売上を記録したので、月平均3%ずつ成長すれば、年間で60万ドルに到達できます。

ブログ記事を6本と、本を1冊出版する

独立してからずっと、セルフ出版で本を出したいという夢を漠然と抱いてきました。今年、ついにそれを実現します。

本の内容は、ソフトウェアエンジニアが文章力を実践的に高めるための方法についてです。仮タイトルはRefactoring English: Effective Writing for Software Developersです。

TinyPilotの運営を自動化する

現在、パートナーがTinyPilotの業務をパートタイムで手伝ってくれており、在庫管理や梱包・発送を担当してくれています。一緒に働くのは楽しいのですが、この体制は脆く、スケールしにくいのが難点です。どちらかが数日不在になるだけで、すぐに膨大なバックログが溜まってしまいます。

業務プロセスを十分に体系化・外注化して、2週間の休暇を取ってもすべてが止まらないような体制を作りたいと考えています。

おわりに

退職する前は、スタートアップに関する本を読んだりポッドキャストを聴いたりするのが常でした。中でも心惹かれたのは、可能性が無限に広がっているという感覚でした。

自分のビジネスを持てば、何だってできるのです。1か月の時間と1万ドルの資金があれば、ビジネスを成長させる方法は何百万通りもあります。新しい機能を追加してもいいし、新しいマーケティング戦略を試してもいいし、新しい営業担当者を雇ってもいい。業界の誰も見たことがないような、まったく新しい手法を自分で編み出してもいいのです。

これまでのキャリアでは、常に決められたキャリアラダーを上っていかなければなりませんでした。昇進するには、日々の仕事とはほとんど関係のない恣意的な基準を満たしたことを証明しなければなりませんでした。上司に新機能の追加を頼まれても、「いや、もっと良いマーケティング戦略が必要だと思うので、そっちをやります」なんて言うことはできませんでした。でも、自分のビジネスでは、そんなことをいつも言っています!(もっとも、今は上司も部下も自分自身なのですが。)

ようやくビジネスの1つで経済的な成功が見えてきたことで、収益も増え、それはつまり可能性も広がったということです。思っていた通りの楽しさです。大変ではありますが、楽しいのです。

改めて、自分自身のために働けていることを本当に幸運に思いますし、これからもずっと続けていきたいと思っています。

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

コメント