My Second Year as a Solo Developer

Michael Lynch

ソロ開発者としての2年目

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

ソロ開発者としての2年目(カバー画像)

2年前、私はGoogleでの開発者の仕事を辞めて、自分のソフトウェアビジネスを立ち上げた。1年後、収支や幸福度、学んだ教訓について近況を報告した。今日で2年目が終わるので、また近況を報告したい。

収支の内訳

指標20182019変化
収益$2,262$7,254+$4,992 (+220%)
費用$23,133$9,657-$13,477 (-58%)
純利益-$20,871-$2,402+$18,469 (+88%)

2年目は収支が大幅に改善した。利益が1万8,500ドルも増えたのだ!

とはいえ全体ではまだ赤字だが、そこにとらわれすぎないでほしい。収益は3倍の7,200ドルになり、費用は半分以下に抑えたのだから。

赤字を続けても、どうやって生活できているのか?

ずっと赤字が続いていると、よく不思議がられる。赤字の事業はフリーランスの仕事で賄っていると思われがちだが、実際には稼働時間の100%をまったく儲かっていない自分のビジネスに充てている。これが成り立っているのは、主に3つの理由がある。

  • 支出が少ない:子どもはいないし、物価の安い地域に住んでいるため、生活費は月あたり約2,000ドルだ。
  • 貯蓄がある:大手ソフトウェア企業で11年も働けば、ある程度の蓄えができるものだ。
  • 投資がうまくいった:キャリアを通じて、資金の大半をS&P 500に入れていた時期が、ちょうど市場の絶好調と重なった。暗号資産への少額の投資もうまくいった。

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

Zestful

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

Zestfulはレシピの材料を解析するSaaSだ。

Zestfulは2018年半ばに、初めてのソフトウェア・アズ・ア・サービス(SaaS)ビジネスとして立ち上げた。食品系アプリがレシピの材料の構造を認識できるようにするサービスだ。たとえば「2 1/2 tablespoons finely chopped parsley(細かく刻んだパセリ 大さじ2と1/2)」という材料が与えられると、Zestfulは2.5が数量、tablespoonsが単位、parsleyが食材、finely choppedが下ごしらえの工程だと推論する。

昨年はみごとにゼロだったが、2019年を通じてZestfulはようやくまとまった収益を上げるようになった。12月の1件の大口法人契約だけで年間売上の79%を占め、その1件で私の全事業の総収益の53%にもなった。

収支項目20182019変化
売上$0$5,022+$5,022 (+inf%)
ホスティング-$164-$80-$84 (-51%)
ドメイン$-50-$12-$38 (-76%)
ロゴデザイン$-200$0-$200 (-100%)
開発-$7,440$0-$7,440 (-100%)
純利益-$7,854$4,930‬+$12,784 (+162%)
Google検索結果におけるZestfulの表示のスクリーンショット

検索結果でZestfulの露出を維持するための取り組み

Zestfulは奇妙な立ち位置にいる。すでに材料の解析を自前でやっている企業は、決してZestfulに乗り換えようとしないからだ。新しいAPIに移行するコストが、価格や性能の改善によるメリットを上回ってしまう。むしろZestfulの顧客はすべて、新しいプロダクトをゼロから作っている企業だ。

まだ存在していない企業に、どうやって売り込めばいいのか? 私の戦略は検索エンジン最適化(SEO)に投資し、「ingredient parsing(材料解析)」のようなクエリでZestfulが上位に表示されるようにすることだった。

Is It Keto

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

Is It Ketoはケトジェニック・ダイエットの実践者向けのリファレンスサイトだ。

Is It Ketoは、どの食品がケトジェニック・ダイエットに適しているかについて、読者に明確で分かりやすい答えを提供するサイトだ。収益はGoogle AdSenseのディスプレイ広告と、サイト経由のAmazon購入ごとに得られるアフィリエイト報酬から成り立っている。

収支項目20182019変化
ページビュー16,208521,913+505,705 (+3,120%)
食品データ数53202+149 (+281%)
Amazonアフィリエイト収益$1$1,315+$1,314 (+131,400%)
Google AdSense収益N/A$940+$940 (+inf%)
ミールプラン売上N/A$24+$24 (+inf%)
コンテンツ執筆$0-$3,845+$3,845 (+inf%)
SNS運用$0-$314+$314 (+inf%)
グラフィックデザイン-$211-$163-$48 (-23%)
開発-$1,660$0-$1,660 (-100%)
ホスティング$0-$103+$103 (+inf%)
ドメイン-$12-$12-
純利益-$1,882-$2,158-$276 (-15%)

収益2,300ドルで、Is It Ketoは2019年で2番目に売上の大きいプロダクトだった。4月に一度サイトの運営を放棄したのだが、放っておいても勝手に成長していることに気づき、4か月後に戻ってきた

8月に頭打ちになるまで毎月増加するIs It Ketoのページビューの推移を示すグラフ

月別Is It Ketoトラフィック

Is It Ketoの訪問者の88%は検索エンジン経由だが、検索トラフィックの改善と自分がサイトに加えた変更との関連を一度も見出せたことがない。大量のコンテンツを追加し、ページタイトルを最適化し、上位サイトからの被リンクを獲得した月でも、トラフィックは横ばいのままだった。一方で、何か月も放置した時期には、Googleからのトラフィックが伸び続けたこともある。

Is It Ketoは同時に最も費用のかかったプロジェクトでもあり、執筆の多くを外注したからだ。ライターの採用やマネジメントについて何も知らなかったため、必要以上にコストがかかったが、この経験から多くを学び、ほとんど読まれていないコンテンツライター採用ガイドを書くことにつながった。

mtlynch.io (このブログ)

指標20182019変化
ページビュー981,587273,817-707,770 (-72%)
アフィリエイト収益$1,244$374-$870 (-70%)
開発-$3,896-$460-$3,436 (-88%)
イラスト-$599-$769+$170 (+28%)
ホスティング-$309-$150-$159 (-51%)
Grammarly(文法・スタイルチェックサービス)-$140-$140-
編集-$75-$60-$15 (-20%)
ドメイン-$60-$60-
純利益-$3,835-$1,265+$2,570 (+67%)

ページビューは大幅に減少したが、これは驚くことではない。Google退職についての投稿が2018年に50万ページビューを記録したのだから、それに匹敵するヒットが再び出るとは思っていなかった。

それでも昨年は読者を獲得するのに苦労した。それ以前の2年間は、あまり宣伝に力を入れなくても多くの記事が自然と人気を集めていた。記事を書いてから、それを喜んでくれそうなコミュニティを見つけて共有すればよかったのだ。

2019年はテクニカルライティングから少し離れ、ブートストラップでビジネスを運営する苦労により焦点を当てた。ブートストラップ創業者向けのオンラインコミュニティは数多くあるが、自己宣伝する人ばかりが集まるため、外部ブログへの投稿はあまり歓迎されない。また、数千ドル単位の話でないと、読者はビジネスの教訓にあまり興味を示さないことにも気づいた。大きく稼いだ話でも大きく損した話でも、どちらも関心を引くようだ。

ブログの収益も減少しているが、そもそもこのブログで積極的に稼ごうとしていないので問題はない。開発費が大幅に下がったのは、サイトを担当していたフリーランサーが本業に専念するようになったためだ。代わりの人を雇うのではなく、この2年ほどでウェブプログラミングのスキルが向上したこともあり、自分で開発を引き継ぐことにした。

What Got Done

What Got Doneのウェブサイトのスクリーンショット

What Got Doneは作業記録アプリだ。

What Got Doneは、週ごとの仕事の成果を記録・共有するためのツールだ。Google在籍時に学んだ手法で、ここ10か月間、毎週自分の進捗を記録するのに使ってきた。

収支項目金額
顧客インタビュー-$31
ドメイン-$12
純利益-$43

What Got Doneが素晴らしいビジネスアイデアだと思ったことは一度もないが、Is It Ketoで何か月も利益を出せなかったことで気が滅入っていた。What Got Doneは気分転換になる楽しいプロジェクトに思えたし、人気のウェブフレームワークであるVue.jsを独学する良い機会でもあった。

そしてそれはうまくいった! 私はVueが大好きになった。ようやく、抽象化の漏れだらけの迷路でもがくことなく、素早くウェブサイトを構築できるツールに出会えたのだ。

せっかく作るのだから、収益化できるか試してみる価値はあると考えた。いくつかの企業にインタビューしたところ、マネージャーたちは専用のSlackチャンネルで同じことができてしまうと考えているようだったので、そこで見切りをつけた。

その他

費用項目目的金額
カンファレンスネットワーキングと研修-$2,182
Xero記帳-$151
BenchからXeroへの移行(フリーランス会計士)記帳-$232
Circle CI継続的インテグレーション-$350
Coverallsテストカバレッジ追跡-$270

カンファレンスは大きな出費だった。旅費や宿泊費が高いうえ、登壇が決まったカンファレンスは地方開催のイベントで、旅費補助の予算が少なかったからだ。

継続的インテグレーションをTravisからCircleに切り替えたことで、月68ドルのコスト削減になった。しかもCircleは気に入った。プロダクトの改善スピードが速く、Dockerとの連携も優れている。Coverallsは意識しないうちに自動更新されてしまったが、初期段階のプロダクトではコードカバレッジの指標にあまり価値がないと割り切り、来年分は解約した。

記帳についても、Benchの代行サービスからXeroのセルフサービスに切り替えた。Benchは気に入っていたし、Xeroが特に好きなわけでもないが、収支がこれほどシンプルで毎回同じような内容なのに、コンシェルジュ型の記帳サービスに年1,500ドルも余計に払うのは正当化しづらかった。

学んだ教訓

誰も買っていなくても、値上げする

今年受けたアドバイスの中で最も良かったものの一つが、Cory Zueからのものだ。彼は、1リクエストあたり0.003ドルというZestfulの価格は安すぎると指摘してくれた。当時、Zestfulの有料ユーザーはほぼゼロだった。誰も買っていないのに、どうして価格が安すぎるなどと言えるのか?

Zestfulには本当の顧客は少なかったが、見込み顧客はたくさんいた。数週間ごとに新しい企業から連絡があり、Zestfulに興味はあるが、どうしても必要な小さな機能が一つ足りないと言う。初めての大口顧客を獲得したい一心で、私は彼らの欲しがる機能を必死に実装した。そして1週間後、誇らしげにそれを届けた。

すると彼らは申し訳なさそうにこう返すのだ。「ああ、その件は結局見送ることにしたプロジェクト向けだったんだ」

企業側はタダで機能をリクエストできるが、こちらは打ち合わせをして要望を実装するのに膨大な時間がかかる。何が起きているかは分かっていても、止める方法が分からなかった。無視するという手もあったが、もし本当に毎月数千ドル払うつもりだったらどうしよう、と考えてしまうのだ。

Coryのアドバイスに従って値上げしてみると、会話の流れが予想外の方向に変わった。1リクエスト0.003ドルのときは、誰も価格交渉をしてこなかった。ところが料金を6.5倍の0.02ドルに引き上げると、みんながボリュームディスカウントについて聞いてくるようになった。そこで、特定の機能が追加されれば買うと言う相手には、こう返すようにした。

いいですね! では3か月分を前払いしていただければ、その機能が利用可能になるまで課金は開始しません。

それ以来、機能リクエストで痛い目を見ることはなくなった。

今の価格では、Zestfulを使うのに毎月数百ドルかかるため、月5ドルのために「絶対に必要な機能」をあれこれ要求してくる人は減った。面白いことに、最終的にエンタープライズプランを購入してくれた顧客は、機能の要望を一切出さず、契約は数日でまとまった。

正しいアイデアを追うことは、間違ったアイデアを捨てること

創業者としての1年目は、転がってきたボールを片っ端から追いかける子犬のようだった。あるプロジェクトが市場の手応えを得られなければ、頭の中のキューにある次のアイデアにすぐ飛びついていた。プロジェクトの立ち上げ時に「簡単な」プロトタイプを作るのは安くて手軽に思えるが、実際にはコーディングに数週間、その後の顧客開拓に数か月かかるのが常だった。

友人のDavid Tothから、アイデアをスクリーニングすることの大切さを学んだ。どのアイデアを追うかによって、少なくとも数か月間の生活の大部分が決まってしまうのだから、慎重に選ぶ価値があるというのだ。Davidは最初の良いアイデアにすぐ飛びつくのではなく、少なくとも10個のアイデアが出るまでリストを作り、それらを慎重に評価して最も成功の可能性が高いものを選ぶ。

Start Small, Stay Small読書メモ)やThe Mom Test読書メモ)を読んだことも、新しいビジネスへの向き合い方に影響を与えた。どちらの本も、創業者はまず市場調査から始め、プロダクトを作るのは後からにすべきだと説いている。その結果、私はむやみに作り始めることを控え、調査の結果そのアイデアが最良の選択ではないと分かれば撤退してもいい、と自分に許可を出すようになった。

もっと大胆に狙う

昨年、月500ドルの収益という目標を立てたとき、周囲からはもっと高い目標にすべきだと言われた。新規事業は失敗する確率が高いのだから、どうせなら大きな目標を狙うべきだというのだ。

振り返ってみても、月500ドルという目標は妥当だったと思う。Is It Ketoは仕組みが非常にシンプルで、「初心者向けビジネス」としてちょうどよかった。広告とアフィリエイト購入で、訪問者1人あたり平均約0.01ドルの収益が生まれる。訪問者が増えれば収益も増えるので、価格設定やセールスファネル、カスタマーサポートなどを気にせず、さまざまなグロース戦略を試すことができた。収益がわずか月1ドルから始まり、毎月50〜150%ずつ成長して年末には月400ドルに達するのを見るのは、とてもやりがいがあった。

一方で、低マージンのビジネスの限界も見えてきた。顧客1人あたりの収益が1セントでは、拡大のためのほとんどの手段が使えない。1クリックあたり0.50〜1.50ドルの広告費を払っても、訪問者が生む収益が0.01ドルでは割に合わない。サイトの成長を手伝ってくれる人を雇いたいと思っても、月200ドルの安いフリーランサーでも、コストに見合うにはトラフィックを2倍にしなければならない。

創業者として3年目に入る今、もっと大きな賭けをする準備ができている。Is It Ketoを成長させたことで、自分をもっと追い込む自信がついた。それは、成功すればパートタイムの外注を2、3人雇えるようなプロジェクトに挑戦するということだ。

それでも、この生き方が好きだ

2年間赤字が続いていると知ると、居心地のいいGoogleの仕事を辞めたことを後悔しているのではないかと心配される。創業者は1、2年で燃え尽きることも珍しくないが、幸い私はそうなったことがない。これは、冒険を始めた当初から健全な自己懐疑を抱いていたからだと思う。成功するまでしばらくは失敗するものだと覚悟していたのだ。また、資金が尽きる心配がない状況では、経済的ストレスを感じずに済むのも大きい。

毎日、階下に降りてガールフレンドとゆっくり朝食をとる。行き止まりの通りの突き当たりに住んでいるので、彼女が仕事に出かけると家は完璧に静かになる。60〜90分ほど執筆をした後、その日の残りの予定を立てる。夕食後や週末は働かない。午後3時に眠くなったら昼寝をし、上司がどう思うかなど気にする必要はない。

辞める前に最も憧れていたのは、このライフスタイルの純粋な独立性だったが、実際にそれは想像どおりに満足のいくものだった。1日のすべてを自分でコントロールできることや、必要だと感じたときにビジネスの方向性をがらりと変えたり、ゼロからやり直したりできる自由が大好きだ。

この生活をずっと続けたい。

目標の自己採点

昨年の近況報告では、自分に4つの目標を課した

全事業で月500ドルの収益を達成する

評価:B+

年平均で月604ドル、第4四半期では月1,657ドルだったので、一応この目標は達成した。ただ、12月の突出した大口売上を含めるのは、ちょっとズルをしている気もする。それを除けば12月の総収益は441ドルで、2020年初頭まで続くであろう本来のトレンドに近い。500ドルにはわずかに届かないが、十分満足できる結果だ。

3つのソフトウェアカンファレンスで登壇する

評価:A

3つのカンファレンスでプロポーザルが採択され、どの登壇も誇りに思っている。

カンファレンス私のメモ発表
NERD Summit-“Modernize any Codebase through Tooling and Technique”
PyTexas 2019メモ“Why Good Developers Write Bad Tests”
PyGotham 2019メモ“Why Good Developers Write Bad Tests”

カンファレンス自体は楽しんでいるし、参加することで有益な情報も得られるが、正直なところ、仕事や私生活が大きく改善されるわけではない。渡航、登壇準備、そしてイベント参加自体を合わせると、カンファレンスの発表にフルタイムで6〜8週間を費やしたことになる。

2020年も引き続きカンファレンスに応募し参加するつもりだが、昨年よりは厳選するつもりだ。

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

評価:B

数え方にもよるが、2019年に公開したブログ記事は9本か13本だ。ブログの更新自体は9回だったが、そのうちの1回がコンテンツライター採用についての5回シリーズだったからだ。全体として今年の執筆には満足しているが、もう少し多くの記事が注目を集めてほしかったというのが本音だ。

JavaScriptフレームワークに習熟する

評価:A

Vueのエキスパートというわけではないが、「日常会話ができる」レベルにはなったと思う。フレームワーク自体で詰まることなく、素早くサイトを構築できるようになった。

Angularで何年も頭を抱えてきた末に、ソロ開発者に合ったフレームワークに出会えて本当にうれしい。

これから

来年の大部分で注力したいと考えているプロジェクトが、数週間前に立ち上げたWanderJestというウェブサイトだ。

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

WanderJestはライブコメディの公演を探すためのサイトだ。

地元のコメディ公演を探すのは難しい。情報がFacebookグループやコメディクラブのウェブサイト、TicketMasterやEventbriteのようなチケット販売サイトに散らばっているからだ。WanderJestでこれらのバラバラな情報を一元化し、観客が公演を見つけやすくしたいと考えている。基本的にはBandsintownのコメディ版というアイデアだ。

現在は私の地元であるマサチューセッツ州西部で試験運用しているが、すぐに他の地域にも拡大する予定だ。

3年目の目標

ソロ開発者としての3年目に達成したいことは以下のとおりだ。

  • 全事業で2万ドルの収益を上げる。
    • 2019年に収益を3倍にしたので、2万ドルというのはさらに3倍にするということだ。
  • ブログ記事を10本公開する。
    • 1か月に1本程度のペースで、長めの記事やカンファレンス登壇の準備のための余裕を持たせた目標だ。
  • 新しい技術を一つ学ぶ。
    • まったく新しい言語やフレームワークを学ぶと、ソフトウェア全般についての考え方が向上する傾向がある。かねてからRustを学ぶきっかけを探していた。

カバーアートはLoraine Yowによるもの。GoのgopherはRenee Frenchのデザインを改変したもの。

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

コメント