こんにちは、ice_soiです!
フリーランスエンジニアをしています。
突然ですが僕は個人開発で「したとき」というアプリをリリースしています。
何かをした時間を残す事ができるアプリです。
個人開発は、技術力アップやキャリアアップに大いに役立つことができます。自分自身のスキルを磨くことができるだけでなく、新しい技術やトレンドに触れることができます。
今回は個人開発の魅力やメリット、実際に始めるためのヒントなどについてまとめていこうと思います。
個人開発について
言葉の意味として個人開発とは、個人で行う技術的な学習や開発のことを指します。スキルアップをするためには何かしらのアクションが必要ですが、実際に何かサービスなりアプリなりを作ってみるというはとても勉強になります。
以前「現役のエンジニアが考えるエンジニアとして成長するための秘訣」という記事にもまとめています。
エンジニアはものを作るスキルを使った仕事です。
その気になれば自分でサービスやアプリを作るということも可能です。
興味がある方はぜひ個人開発をしてみて欲しいとおもいます!
個人開発のメリットは?
個人開発は下記のメリットがあるので解説していきます。
- 新しい技術やツールの習得
技術選定を自分で行うことができるので、仕事では使っていない新しい技術やツールに接することができます。
新しく出たプログラミング言語やフレームワークなどを使ってみたり、スマホアプリやWEBシステムの開発が未経験なら挑戦してみるというのもよいと思います。
必ずしもプログラミング言語を使って作らないといけないわけではないので、実現したい機能がノーコードやローコードのツールで実装できるのであればそちらを使ってみるのもよいと思います。
要求を実現する為に必要な技術が身につき、技術選定ができるようになると思います。 - 自己流のアプローチの試行
開発環境の構築や実装、サーバの設定やリリース後の運用などいろいろなアプローチを行うことができると思います。
うまくいくこと、いかないことあると思いますが何が良くて何がダメだったのかを次に生かして自分のアプローチの改善を行うことができます。 - 専門性の向上
WEBシステムの開発であれば、フロントエンド・サーバサイドの他にWEBサーバやDBなどの知識が必要になってきます。
スマホアプリの開発であれば、iOS・Androidの知識やAPIなどの知識も必要になってきます。
満遍なく知っておくことも大事ですが、得意な分野を見つけて専門知識を向上させることで自身の専門性を高める事ができます。 - プロジェクトの実践
ざっくりとプロジェクトのフェーズは要件定義・設計・開発・テスト・リリース・保守だと思います。個人開発ではそのすべてのフェーズを自分が行う事になります。
これによりどういう風にプロジェクトを動かしているのかが見えてきます。また、仕事でプロジェクトに参画している人はよいところも悪いところも見ていると思います。
それを、自分で行う場合はどうやって進めていけばうまくいくのかなどを考えながら進める事で実践的な経験を積むことができます。 - ネットワークの拡大
個人開発をしている人は結構います。
コミュニティやSNSなどで同じく個人開発をしている人とつながりを持つこともできます。
やはり個人開発は一人で行うのでモチベーションの維持が難しいです。そんなとき仲間がいるとモチベーションをあげたり相談したりできるようになると思います。 - サービスのマネタイズ
自分が作ったサービスの収益で生活できたら・・・と思う人は多いと思います。
そのサービスを作ったコンセプトはいろいろあると思いますが、世の中にはそのサービスを使いたい人がいるかもしれません。
マネタイズの手法はいろいろありますが、ユーザがいるのであれば収益化することも可能だと思います。
逆にデメリットとをあげるとすると、普段の生活+個人開発に時間を使うのでいくら時間があっても足りないというのはあるかもしれないです・・・。
個人開発のステップ
開発の仕方は人それぞれやりかたはあると思います。
あくまでざっくりとした流れですが、僕は大体次のような流れで行っています。
- アイディア出し
自分が欲しいもの作るのが一番よいです。ですが、パッと出てこないこともあると思います。
そんなときはChatGPTのようなAIをつかって対話しながらアイディアを出すという方法がおすすめです。 - 技術選定
サービスの仕様によってはWEBの場合がいい時もありますし、スマホアプリがいい場合もあります。正直作ってみたいほうで作るというのでもよいと思います。
ただ、あまりに作るのが大変すぎると完成までたどり着けないかもしれないので、どうやったら作れるかのイメージをしておくとよいと思います。 - スケジュールを立てる
おおまかでいいのでスケジュールを立てます。スケジュールを立てることで終わりが見えるようになります。終わりが見えないのが一番辛いので、大体どれぐらいかかるかを見えるようにしておくとよいと思います。
また、機能が多い場合はまずは最小限の機能だけを完成させるスケジュールにしたほうがよいです。 - 画面イメージ作成
簡単でいいので全体の画面遷移や各画面のレイアウトを作るようにしています。
作っていく上で自分がわかればいいので、ツールは手書きでもexcelでもなんでもよいです。 - 設計・実装・テスト
実際に作っていきます。作っている途中で迷子にならないようにコーディングする前に簡単な設計書を書いておいてもよいと思います。
新しい技術やツールを使うとうまくいかない事も多々ありますが、トライ&エラーですすめていきます。
とりあえずリリースするのに最低限の機能ができたらちゃんと動くかテストしていきます。
想定どおり動くかどうかのほかに想定外の動作も見ておきます。 - リリース
完成したらリリースをします。
サーバにデプロイして公開したり、アプリの審査を通して公開したりします。
リリースしたらSNSなどで告知するのもよいです。 - 保守
バグの修正や、追加機能の開発などを行っていきます。
レビューを書いてくれたりするユーザもいるのでできるだけ返信したりします。
個人開発をやり遂げるヒント
何事もやり遂げることが大事です。とはいえ、僕も途中で開発途中でやめたりしたものも結構あります。
そんな経験からやり遂げるにはどうすればいいかのヒントをあげていきます。
- 目標を具体的に設定する
個人開発での目標は、アプリやサービスの完成だけでなく、特定の機能の追加や改善、または学習や研究によるスキルアップなど様々です。どのような目標を設定するにしても、具体的で明確なものにすることが大切です。 - スケジュールを立てる
目標達成には、スケジュールの立て方が重要です。スケジュールを立てることで、目標達成までの期間や進捗状況を把握することができます。また、スケジュールに余裕をもたせることで、予期せぬトラブルや時間の余裕を生かしたスキルアップなども行えます。 - 小さな目標を設定する
大きな目標を達成するには、小さな目標を設定して、それを達成していくことが大切です。小さな目標を設定することで、目標に向けたモチベーションを保ちやすくなります。また、小さな目標の達成によって、自己達成感を得ることができます。 - 周りの人に相談する
個人開発では、自分一人で進めることが多いため、アドバイスやヒントをもらえる機会が少ないことがあります。そこで、周りの人に相談することで、新しいアイデアや視点を得たり、解決策を見つけたりすることができます。 - 失敗を恐れない
個人開発においては、失敗や挫折もつきものです。しかし、失敗を恐れて何も行動しないよりも、失敗から学び、改善していくことが重要です。失敗は成功のもとといいますが、個人開発においては、その言葉がとても当てはまります。
個人開発についてのまとめ
ここまで個人開発について個人的な経験をもとにあげてきました。
僕はものを作ることが好きで自分でサービスを持ちたいと思っていたので個人開発を始めました。
すべてが自分で対応する必要があるので大変な事もありましたし、最後まで作れなかったものも結構ありました。ですが、様々な経験を積むことができたので自身のスキルアップに大いに貢献したと思います。
ものを作ることが好きな人、使ったことがない技術やツールにさわってみたい人、具体的に欲しいサービスがある人などは個人開発をしてみることをおすすめします!
今回の記事が何かの参考になれば幸いです!
最後までお読みいただきありがとうございました。


