目次
個人開発を始めたばかりの頃は、「成功するために必要なこと」をずっと探していました。
設計の勉強をしたり、技術選定の記事を読み漁ったり、収益化モデルを考えたり。
でも数年続けてみて思うのは、個人開発で大事なのは「何をやるか」よりも「何をやらないか」だったということです。
個人開発はリソースが限られています。
会社なら設計担当、開発担当、デザイナー、マーケ担当がいますが、個人開発では基本的に全部自分です。
だからやることを増やすほど前に進まなくなります。
実際、自分がリリースまで辿り着けなかったプロジェクトを振り返ると、共通点がありました。
どれも必要以上に考えすぎていたんです。
今回は、これまでの個人開発を振り返って「これはやらなくて正解だったな」と思うことを7つ紹介します。
個人開発を続けていると、やるべきことは無限に見つかります。
UI改善。
パフォーマンス改善。
SEO対策。
SNS運用。
収益化。
分析基盤。
どれも重要そうに見えます。
問題は、全部やろうとすると何も終わらないことです。
昔の自分はまさにその状態でした。
公開前なのに分析ツールを入れたり、ユーザー0人なのに管理画面を作ったり。
今思えば完全に順番が逆でした。
まず必要なのは「誰かに使ってもらうこと」です。
それ以外は後から考えても意外と間に合います。
初めて本格的なWebサービスを作った時、とにかく将来が不安でした。
ユーザーが増えたらどうするんだろう。
機能追加が難しくなったらどうしよう。
あとで作り直しになったら嫌だな。
そんなことばかり考えていました。
その結果、実装する前から設計資料ばかり増えていきました。
テーブル設計を何度も書き直し、フォルダ構成を考え、将来のマイクロサービス化まで検討していました。
でも公開してみると、そんな心配をする段階ですらありませんでした。
そもそもユーザーがほとんど来なかったんです。
あの時に考えていた将来の課題は、一つも発生しませんでした。
それ以来、考え方が変わりました。
今はまず雑でもいいから作ります。
コードも最初から美しく書こうとはしません。
もちろん最低限の保守性は意識します。
でも未来のための設計より、今動くものを優先します。
実際にユーザーが使い始めると、本当に必要な改善点が見えてきます。
机上で考えていた課題より、現実の課題の方がずっと具体的です。
もちろん後から困ったことはあります。
アクセス数が増えてAPIが重くなったこともありました。
でもその時はキャッシュを入れて終わりました。
検索が遅くなった時もインデックス追加で解決しました。
最初から巨大な設計をしていたら数週間かかっていたと思います。
結果だけ見ると、問題が起きてから対応した方が圧倒的に早かったです。
個人開発者なら一度は経験があると思います。
技術選定沼です。
ReactとVueどっちがいいんだろう。
Next.jsとNuxtはどっちが将来性あるんだろう。
認証基盤はどうするべきか。
DBは何を選ぶべきか。
調べ始めると終わりがありません。
自分も過去に2週間くらい比較だけしていたことがあります。
GitHubのスター数を見て、海外記事を読んで、YouTube動画を見て。
当時は真面目にやっているつもりでした。
でも今思うと完全に逃げでした。
コードを書いていないので何も進んでいません。
いろいろ試した結果、一番強いのは慣れている技術だと感じています。
新しい技術は確かに面白いです。
勉強にもなります。
でも個人開発は勉強会ではありません。
サービスを作ることが目的です。
慣れた技術なら問題が起きても解決が早い。
実装速度も速い。
何より迷いません。
この差は思った以上に大きいです。
最近は技術選定の基準がシンプルです。
「一番好きな技術」ではなく、
「一番早くリリースできる技術」
を選びます。
ユーザーは技術スタックを見てサービスを使うわけではありません。
課題が解決できるかどうかを見ています。
だから技術的な理想より、公開速度を優先するようになりました。
昔はリリース前に全部作ろうとしていました。
通知機能も欲しい。
検索機能も欲しい。
プロフィール編集も欲しい。
管理画面も欲しい。
気付くと機能一覧だけが増えていきます。
そしてリリース日はどんどん遠ざかります。
ある時からMVPを意識するようになりました。
最低限の価値だけ提供する。
まずはそれだけです。
実際に公開すると驚くことがよくあります。
絶対使われると思った機能が全然使われない。
逆に適当に作った機能が人気になる。
これは本当に何度も経験しました。
開発者はユーザーの気持ちを分かっているつもりになります。
でも実際は結構外れます。
ユーザーの反応を見てから作る方が精度が高いです。
必要かどうか分からない機能に20時間使うより、実際の要望に20時間使う方が価値があります。
今では「作る理由が説明できない機能」は基本的に後回しです。
個人開発を始めた頃は、お金のことばかり考えていました。
月額いくらにするか。
無料プランはどこまで許可するか。
広告を入れるべきか。
有料機能は何にするか。
でも冷静に考えると、ユーザー0人のサービスで考えることではありませんでした。
収益化より先に利用されることが必要です。
当たり前の話なんですが、開発中は意外と忘れます。
使われるサービスができれば、収益化の選択肢はいくらでもあります。
逆に使われないサービスは何をしても収益になりません。
面白いのは、実際のユーザーが付くと見える景色が変わることです。
「ここならお金を払いたい」
というポイントが分かります。
そして大抵の場合、最初に考えていた収益モデルとは違います。
だから今は収益化より利用者獲得を優先しています。
一時期、毎日SNS投稿を頑張ろうとしていました。
でも続きませんでした。
理由は単純です。
開発していると毎日発信できるほどネタがないからです。
無理に投稿を考える時間も結構負担になります。
SNS運用は意外と時間がかかります。
文章を書く。
画像を作る。
コメントを返す。
1時間くらいすぐ消えます。
その1時間で機能を作った方が良かったなと思うことも多かったです。
今は必要な時だけ発信しています。
リリースした時。
大きなアップデートをした時。
面白い発見があった時。
それくらいです。
その方が精神的にも楽ですし、開発とのバランスも取りやすくなりました。
個人開発では外部サービスを積極的に使っています。
認証。
決済。
メール配信。
画像保存。
分析。
昔の自分なら全部作りたくなっていたと思います。
エンジニアは作ること自体が好きです。
だから「自分でも作れそう」と思うと挑戦したくなります。
でも重要なのは、それがサービスの価値に直結するかどうかです。
認証機能がすごくてもユーザーは喜びません。
本当に欲しい機能が良ければ満足します。
以前、認証システムを自作しようとしていました。
パスワードリセット。
メール認証。
ログイン管理。
セキュリティ対策。
考え始めたら終わりません。
途中で既存サービスを使う方針に変更しました。
結果として数週間分の工数を節約できました。
あの判断はかなり大きかったと思います。
個人開発界隈を見ていると、
「AIで月100万円」
「SaaSで独立」
みたいな話がたくさん流れてきます。
見ていると自分も同じものを作れば成功できる気がしてきます。
でも実際はそんなに単純ではありません。
流行だけで選んだテーマは続きませんでした。
興味がないからです。
開発はできても改善が続かない。
更新もしなくなる。
結果として放置されます。
これは何度か経験しました。
逆に長く続いたものには共通点がありました。
自分自身がユーザーだったことです。
毎日使う。
不便を感じる。
改善する。
また使う。
このサイクルが自然に回ります。
結局、自分が本当に興味を持てるテーマが一番強いと感じています。
迷った時はいつも考えます。
「それは今必要なのか?」
未来のための作業は魅力的に見えます。
でも今の課題を解決しないなら後回しでも大抵問題ありません。
ユーザーがいない状態では、ほとんどが仮説です。
仮説のために大量の時間を使うより、実際の反応を見た方が早いです。
公開して初めて分かることは本当に多いです。
個人開発者にとって一番貴重なのは時間です。
お金より時間の方が足りません。
だから自動化できることは自動化する。
外部サービスで解決できることは任せる。
その方が本当に作りたい部分に集中できます。
個人開発を続けていると、「もっと頑張らなければ」と思う瞬間があります。
でも振り返ると、自分の場合は逆でした。
成果につながったのは、やることを増やした時ではありません。
やらないことを決めた時でした。
完璧な設計をやめる。
機能を盛り込みすぎない。
技術選定に悩みすぎない。
流行を追いかけすぎない。
その分、公開することと継続することに時間を使う。
個人開発は短期間で当てるゲームではなく、続けるゲームだと思っています。
だから新しいサービスを作る時ほど、「やることリスト」より先に「やらないことリスト」を作るようになりました。
その方が不思議なくらい前に進めるからです。
コメントはまだありません