はじめに
約3年前、個人(一部友人も参加)でアプリ開発を行いリリースしました。
せっかくなので、そこから得られた経験を記事として残しておこうと思います。
現在はAIで簡単にアプリが作れる時代ですが、自力で開発した経験があるからこそ、今もエンジニアとして働けていると感じています。
これから個人開発を始めたい方の参考になれば嬉しいです。
アプリ開発を始めたきっかけなど
私は個人開発を社会人2年目の冬ごろから始めました。(今5年目なので約3年前になります)
理由は単純ですが、技術スタックを広げたい、自分の力を試してみたい、などです。
- 技術スタックを広げたい
→ 仕事ではAngular、SpringBootしか使っていなかったので、あまり使ったことがなかったReact、nodejsの構成で開発してみたい、という気持ちがありました - 自分の力を試してみたい
→ 約2年間開発してきたため、もはやアプリ開発は自分で全てできるはず、という気持ちがありました
また、せっかくアプリを作るのであればみんなに使ってもらえるものが良いと思っていました。
いろいろ考えた末、情報処理試験の掲示板&解答サイトを作れば多くのユーザーに使ってもらえるのではと思い、そういったアプリを作成することにしました。
作成したアプリ
詳細は割愛しますが、アプリの紹介しておきます。
内容は先述した通り、情報処理試験の掲示板サイトです。
「IT資格 掲示板」と検索すると結構上の方にでてくるはず。(※現時点では)
リンクは以下です
https://tu-square.com
資格の種類は応用情報試験+主要な高度試験です。
それぞれで掲示板と各回の午前・午後解答のページがあります。
- 掲示板
→ 自由に匿名で投稿できるようにしています。UIはLINE風にしており、気軽に投稿できる雰囲気を意識しました。
- 解答ページ
→ 受験生に解答を入力してもらうスタイルにしています。自分の解答を気軽に投稿でき、他の受験生の解答を一覧化できます。
技術スタックや環境など
参考程度ですが、書いておきます。
採用理由も書きますが、基本的には自分が挑戦したいという思いを軸に採用しています。
| 項目 | 利用したもの | 採用理由 |
|---|---|---|
| フロントエンド | React | Reactを使ってみたかったため |
| バックエンド | express.js | nodejsで楽にAPI開発したかったため |
| DB | mongoDB | NoSQLを使ってみたかったため |
| ミドルウェア | nginx | 使い慣れていたため |
| SSL証明書 | Let's Encrypt | 無料だったため |
| デプロイ先サーバ | レンタルサーバ | コストをあまりかけたくなかったため |
| デプロイ方式 | docker-compose | 楽にデプロイしたかったため |
リリース後の状況
リリースしてしばらく経ちますが、試験当日は結構多くの人がサイトにアクセスしています。
ただ、実際に掲示板や解答を利用してくださる方はそこまでいない状況です。
需要自体はありそうですが、"入力する"という部分にハードルがあるのでしょう。
参考までに具体的な数字も挙げておきます。
見てみると試験日はかなりアクセスがありますが、それ以外はかなり少ないです。
また、アプリ自体をほとんどアップデートできていないため、年月が経つにつれて需要は減少してますね。
ただ、ほとんど試験日だけで7万アクセスまで到達しているのは素直に嬉しいです。
良かったこと・悪かったこと
ここからが本題です。
アプリ開発を通して良かったこと・悪かったことを書いていこうと思います。
良かったこと①シンプルに楽しかった
これが一番良かった点。
日頃比較的大きな企業でエンジニアをしていますが、そういう場では色々と制約が多かったり時間や工数の関係上やりたいことを担当できなかったりというストレスありますよね。
個人開発だと自分が好きなタイミングで好きなように開発できるため、全くそういうストレスはありません。また、チャレンジしたい技術スタックを導入できたり、アプリ名を自分で決めたりということもやりました。
自分のアプリを我が子のように育てていく、そんな経験ができてとても楽しかったなと改めて思います。
良かったこと②開発力が向上した
開発力はかなり向上しました。
新しい言語やフレームワークを使う経験はよくあると思いますが、基本的にはAIに頼ったりググりながら実装したりすることが多いと思います。
ただそのやり方だとなかなか習得までには至らないことが多いですよね。
個人開発ではすべて自分が実装するわけで、たくさんの困難を自力で乗り越えていく過程があります。
これによって、新しい言語やフレームワークはもちろん、アプリ開発で利用するすべての技術スタックを効率よく習得することができました。
実際に手を動かした経験があるかどうかで、かなりスキルの差をつけられると思います。
私の周りには本や資格から得た知識はあるけど開発はしていない、みたいな人が多いですが、そういった人たちと一緒に仕事するとかなり実力がついてきたなと実感します。
良かったこと③意外にも色んな人に見てもらえた
アプリ開発を始めた時、作成したアプリが誰にも利用されないのでは、という不安がありました。
ですが、結果的にかなり多くの人がアクセスしてくれました。
これは率直に嬉しかったです。
アプリの品質や内容は一旦置いといて、色んな人の目にとまるアプリ開発ができたというところにすごくやりがいを感じました。
良かったこと④実績になる
実績というと大袈裟ですが、自分の経験値として公言できます。
仕事の自己紹介とか飲み会のネタとかになったのでそういう意味で良かったなと思います。
悪かったこと①それなりに時間を要する
仕事をしながらの開発であるため、業務後や土日で開発していくことになります。
時には睡眠時間を削りながら熱心に取り組む必要があるため、辛い瞬間はたまにありました。
また、資格を取得する余裕もなかったです。(資格のアプリを作っているのに...)
もし始めるのであればある程度余裕のあるタイミングが良いですね。
悪かったこと②マネタイズのことを考えてなかった
アプリをリリースして感じたのは、結構アクセスあるしお金を稼げるのでは?ということ。
ただ、実際にマネタイズをしようと思うとなかなか難しかったです。
GoogleAdsenseへの申請を何度かしましたが、全然通りませんでした。
おそらくコンテンツ質や量が原因だと思いますが、今のアプリの思想だとなかなかこの課題を解決するのは難しいなと思いました。
もしマネタイズするのであればそれを見越した上で機能を作るべきだと思います。
また、マネタイズしていればアプリ開発のモチベーションを倍増させられるはずです。
自分が作りたいもの✖︎みんなが使いたいもの✖︎マネタイズ可能なほど十分なコンテンツの質と量、を総合的に考えた上で題材を決めた方が良いと思います。
悪かったこと③友達との関係性が壊れる(一時的)
個人開発と言ってますが、一部友人とも開発していました。
基本的には楽しいのですが、モチベーションは人それぞれですし報酬が得られるわけではないのでタスクの進捗は人によって差が出てきます。
私はその部分でたまにストレスを抱えてしまって時にきつく当たってしまったこともありました。(反省)
今では飲み会のネタになるので良いですが、自分の趣味で開発をしたいのであれば1人でやるべきだなとは思いました。
まとめ
最近は小規模なアプリ開発しか行っていませんが、今後はマネタイズまで見据えた開発に挑戦したいと思っています。
使われないアプリを作ってしまった反省はありますが、それでも個人開発は本当に楽しかったです。
エンジニア歴5年となり経験も積めてきたので、次はもっと良いものが作れるはず。
失敗も含めて、すべてが貴重な経験になりました。
またいつかこのような記事が書けるよう、日々精進していきます!




