かれこれ直近2年間、個人開発で4つほどのWebサービスとアプリを開発した。
その全てが特出した結果を出したわけではないものの、私個人にとっては非常に多くのメリットを得た。
今回はそのメリットの一部を共有していき、これから個人開発を目指す人の参考になれば嬉しい。
ユーザー視点でものづくりを考えるようになる
本業である雇われエンジニアが改めて自分一人でサービスを作ると非常に新技術や手法に気を取られて本来大事にすべきユーザー視点の無いサービスが生まれてしまうことがある。
「ユーザーがどのような課題について困っていた、それらをどのような状態にすべきで、そしてどのような方法を解決するのか」この当たり前の論理思考ができていなかった自分に気づくことがあった。
当時は画像認識による機械学習の技術に注目が集まり、この技術で何かサービスを作れないかという的外れな思考でサービスを作っていた。もちろんこれによってバズるサービスもあるかもしれないが、どのみちそのような思考で開発をするような技術者であった場合、サービスがグロースする可能性は低いと思う。
すでにアプリ市場で活躍している個人開発者の先輩方を見れば以下にユーザに寄り添ってものづくりをしているのかは一目瞭然だった。
フルスタックな知識と経験を身につけることができる
個人開発をすると、インフラ知識・サーバーサイド・フロントエンドの知識を網羅的に把握する必要がある。
かつ、実装経験も獲得することができる。
サービス開始当初はFirebaseなどのサーバーレスサービスを活用するかもしれないが、ユーザが集まるにつれ、DBの都合でそのほかの選択肢を検討したり、負荷分散のためにALBの検討したりなどインフラサイドの検討を進めることになる。
なんならそこまでユーザーが集まっていないにもかかわらずEKSを使用したり、開発環境と本番環境を分けてもいないのにTerraformで環境管理をしたりした。
しかし、これらの経験は決して無駄にならず今の本業に直結して良い影響をもたらしてくれた。
おかげでサーバーサイドであろうが、フロントエンドであろうが、インフラであろうがどんな仕事も楽しく、興味を持って積極的に挑むことができる体質になった。
会社への依存度が下がる
個人開発ができれば正直、個人事業主になってフリーランスでも良いという選択肢も出てくる。
サラリーマンでいるとどうしても狭い領域の一分野のスキルしか育たないことがあるが、個人開発をしていると非常に幅広い領域のスキル・知見を手に入れることができるため、サラリーマンをクビになったとしてもなんとかなるだろうという謎の自信が発生する。
私は今、会社から首が切られたとしてもまったく心配していない。
人事へのアピール材料になる
個人開発をしていることは時に人事や管理職への良いアピール材料になると思っている。
例えば自分が、フロントエンド系の仕事が実はしたいのに、サーバーサイド系の仕事をしているのであれば自身の個人開発成果物を見せてフロントエンドの領域でも力を発揮できることを示すことができる(ユーザーがいればなおよし)
副業が禁止されている会社であっても売り上げが上がっていなければ副業にならないのでポートフォリオとして提示してもいいだろう。
まとめ
個人開発で儲けよう、一発当てようとするのは正直かなり難しいと思う。
世には素晴らしい商品で溢れていて、皆どのようにすれば人に認知されるか四苦八苦している。
そんな市場の中で個人でプロダクトを出したとしてもよほどユニークなサービスでない限り一発当てるのは難しいのではないかと考えている。
しかし、人に使ってもらうために努力しサービスを生み出す活動は素晴らしいことだし、何よりとてもたのしい。しかも会社に依存することのないスキルもつけることができる。
短期的な投資対効果ではなく、あくまで長期的な投資として個人開発をすることは悪い選択肢ではないというのが私の考えだ。
個人でアプリ開発をしてみませんか?
未経験からFlutterでアプリを開発する方法を公開中