Androidアプリの個人開発としての実績
はじめまして、フリーランスエンジニアのきらぷか(@kira_puka)です。
現在は、システム開発の受託と個人開発をメインに活動しています。
個人開発の経験がフリーランスのキャリアにとてもポジティブに影響したと思っており、今回はその内容についてお話できればと思います。
▲制作物シリーズ①「積ん読ハウマッチ」 今までで一番多くのダウンロードを得たアプリ
さて、そもそも個人開発とは、1~2人の少人数で趣味や副業のためにアプリを開発する活動です。私自身、今まで20以上のアプリを作ってきました。
速いスピードで制作・リリースすることを重視しており、いずれもサービス規模は大きくはなく、一番ユーザー数の多い『積読ハウマッチ』で月間MAUが2000程度の規模感です。
『積読ハウマッチ』
積んでいる本の総額がわかる読書管理アプリ。
NuxtとFirebaseで開発しているWebサービスとして公開しています。
『あれからどれだけの時が流れたのだろうか。』
登録した記念日の経過した時間や日数をカウントアップしてくれるアプリ。
Androidアプリとして公開していて、KotlinとFirebaseを利用しています。
URL: https://play.google.com/store/apps/details?id=jp.memorylovers.time_passes
『ふわぷか電卓』
かわいくてシンプルな電卓アプリ。
こちらもAndroidアプリとして公開し、Javaで開発しています。
URL: https://play.google.com/store/apps/details?id=jp.memorylovers.fuwapukacalc
いずれも帰宅後や休日等の時間を使って開発し、1ヶ月ほど開発しリリースしています。最初にリリースしてから、少しずつ機能追加や改善を行ったりします。
自分が欲しいと思う機能を作れたり、使う技術を自由に選べるのも、個人開発の魅力です。
個人開発を始めたきっかけ
個人開発を始めたのは、新卒入社のSI企業で3年目になった時です。会社ではマネジメントがメインになりつつあり、コードを書くことが少なくなってきた時期でした。
当時は個人開発自体珍しかったですがが、Androidアプリの個人開発者の記事がよく目につき、「やっぱりコードを書きたいなぁ」という気持ちも強くなってきたことことがきっかけです。もちろん、「アプリで一儲け」の夢も少し...。
ダウンロード数は全然でしたが、ものづくりの楽しさや多くの経験を得ることができたので、今も続けています。
Androidアプリの個人開発によるスキルアップ
▲制作物シリーズ②「あれからどれだけの時が流れたのだろうか。」 記念日を登録すると1000時間や100日などの新しい切り口で記念日を教えてくれる。
個人開発したことで得たものはいろいろありますが、主に2つです。
全工程を実施することで視野が広がる
会社ではチーム開発のため、自分の担当範囲を深堀りしていくことが多いですが、個人開発の場合は、全工程を自分で実施する必要があります。
私は会社ではバックエンドがメインでしたが、
- 企画立案
- デザイン
- UI/UXのフロントエンド周り
- リリース自体の作業
- リリース後のQA対応
など、幅広い作業が必要になりました。
本業の会社で、これらの経験を得たいと思ってもなかなか難しいですが、個人開発であれば可能です。
こういった経験のおかげで、次のような全体を見る力と設計力を得られたため、本業のマネジメントもスムーズになったと思います。
- 機能追加の際に考慮すべき点
- スムーズに開発を進めるための優先順位付け
新しい技術の実践機会
会社で開発をする場合、開発期間やチームメンバのスキルを考慮するため、技術要素の追加や変更は、なかなか難しいと思います。新しい技術や使ってみたいライブラリがあっても、すぐに実践に移すことはできず、機会を見つけて計画的に進める必要があります。
一方、個人開発では、自由に技術を選定することができます。新規のアプリで導入してもいいし、既存のアプリを使って移行を試してもOK。
私自身も、個人開発を通じていろんなチャレンジをしていて、
- Kotlinが出たときにAndoridアプリを新規で作ってみる
- JavaのAndroidアプリをKotlinに移行してみる
- Firebaseを使ったAndroidアプリを作ってみる
- Nuxt+FirebaseのWebアプリを作ってみる
など行ってきました。
極小のアプリで試すだけでも新しい技術に触れることができますが、アプリをリリースする場合、追加開発や移行を含めて体験できるので、より効果的にキャッチアップできます。
フリーランスとしての案件獲得に役立つ
▲制作物シリーズ③「ふわぷか電卓」 シンプルな計算アプリ
こういった個人開発で得た知見と実績はフリーランスとしてのキャリアに大きなプラスになると思います。
今受けている案件から紹介します。
フリーランスとしての最近の案件
新規開発から、既存アプリの運用・保守まで幅広く受けており、請負での契約が多いです。最近ではWebアプリの開発の依頼も増えています。
▼建築系の会社
- 内容: Andoridアプリの新規立ち上げ
- 使用言語: Java、AWS
- 期間:1年半
▼製造系の会社
- 内容: 既存サービスの改善/追加開発
- 使用言語: Java
- 期間:2年
▼製造系の会社
- 内容: Webサービスの新規立ち上げ
- 使用言語: Nuxt、Python、GCP
- 期間:半年〜
多くの案件をクラウドソーシング経由で獲得
私は、案件の多くをクラウドソーシング経由で獲得しています。これらのサイトではプロフィールに技術的なキーワードを記載しておくことでき、クライアントがそのキーワードで検索したときに自分のプロフィールがヒットするようにできます。
また、実績が蓄積されることによって優良ワーカーに認定されることがあります。そうすると、クライアントから相談が多くなり、提案をしなくても案件に繋がる機会が増えるため、営業ツールとして重宝しています。
ポートフォリオの充実と経験に裏付けられた提案が可能
新しい技術や言語を使いたいと思った場合、未経験でも応募はできますが、当然、クライアントからは実績がある方が安心して任せられます。また、提案するときも、全く触ったことのない技術を使って開発を請け負うのはかなり勇気が必要で、要件と合わず納品できないリスクもあります。
しかし、個人開発で経験を積み、アウトプットを用意しておくと、どちらの不安も解消することができます。
案件で作成したものはNDA(秘密保持契約)などの問題もあるため、公表することが難しいこともありますが、個人開発した制作物はポートフォリオとして使えます。クラウドソーシングや転職・副業サービスのプロフィールに実績を記載できるため、使いたい技術で検索されることも多くなります。
また、知見を深めたい技術を使って、個人開発することで、その技術の特徴や懸念点について考えることができ、提案する際にも自信を持つことができます。
新しい技術について個人開発で試し、本業で活かすというサイクルを続けていくことで、スキルアップや案件の獲得の幅を広げることができます。
アプリの個人開発を挫折せずに進めるには
▲制作物シリーズ④「FIND TWO」 後述のイベント参加時に制作したアプリ
個人開発は作るものも使う技術も自由な反面、納期もないため挫折してしまうことも……。
20以上のアプリを開発した中で、挫折せずにうまく進めるポイントは主に2つです。
1ヶ月でリリースできる範囲に要件を絞る
いくらでも開発し続けれる個人開発ですが、開発期間が長くなるにつれ、気持ちを保ち続けるのが大変になってきます。
そのため、なるべく早いリリースを目標にすることがおすすめです。
経験的には1ヶ月ほどで完成する規模・要件にして、チャレンジする要素を一度に1つか2つなどに絞ると、スキルアップとリリースできるバランスがちょうどいいと思います。
新しいことを試すのも目的なのですが、未知のものが多すぎると調査や学習の時間が長くなり、アプリを組み上げる時間が減ってしまいます。すると、作り上げる楽しさを感じにくくなり、モチベーションも維持しづらくなる、ということが多くありました。
アプリのアイデアを考えるときには、初めて触る未知の部分を制限し、1ヶ月ほどで完成する規模にして、はじめると良いと思います。
足りない部分は追加開発すればよいですし、出来上がって使うことで新しい要望も出てくるので、短いサイクルを回していくと、楽しみながら個人開発を続けていくことができるかと思います。
応援してくれるコミュニティにまずは入ってみる
当たり前ですが、個人開発は1人で開発することが多いです。開発規模を調整したとしても、1人で考えていると不安になったり、なかなかモチベーションを保ち続けるのが難しいです。
そういった場合には、同じような個人開発者がいる勉強会やコミュニティなどに入ってみるのがおすすめです。
コミュニティに所属すると次のようなメリットがあります。
- 開発で悩んでいるところを相談できたりアドバイスをもらえる
- 同じ話題を話し合ったりするだけでも不安が解消する
- よいフィードバックなどで応援してくれることが多いため、モチベーション高めてくれる
私も、運営者ギルドに入れてもらっていて、そこで多くのアドバイス・フィードバックをもらえているため、今も楽しく開発を続けていけています。開発で使っているサービスの運営者もいるなど、幅広い視点でアドバイスやコメントを貰えます。
また、ハッカソンやアプリ開発イベントなどの企画に参加してみるのもよいです。
CrieitというWebサービスの企画で「web1week」というものがあります。1週間でWebサービスを開発する企画で、発表されたお題に沿ったアプリを開発します。
第三回が9/7~9/13におこなわれ、私も『「2」を探すカジュアルゲーム「FIND TWO」』で参加し、たくさんのフィードバックをもらうことができました。気軽に参加でき、勉強しはじめの人も歓迎なので、初めて参加するのによいイベントです。
個人開発起点のキャリア形成
▲めもらばのロゴ 「いつも自由に、想いをかたちに」がモットー
個人開発は自由に開発できることから、伸ばしたい・経験を積みたいことを選ぶことができ、スキルアップやキャリア形成に効果的です。特定技術に触れてみたり、幅広い工程を経験することで、チームで開発するときにも経験が役立ちます。
作ったアプリはポートフォリオとして活用できるため、実績として公開でき、新たな案件獲得にも繋がりました。
また、個人開発を通じて、開発したアプリについて書籍の執筆や掲載の機会もいただけ、アウトプットすることで新しいことに挑戦することもできるようになりました。
今開発を進めている「積読ハウマッチ」も、Nuxt+Firebaseを使った開発の経験から、集客やグロースといった更に広い範囲への課題が移っていっています。まだまだ足りないところが多いですが、これからも個人開発とフリーランスの経験を相互に活かし、自分が理想とするキャリアを積み上げれればと思っています。
個人開発は小さなところから自分のペースで始められるのもいいところです。
気負わず、他と比べず、作りたいものから始めて、キャリアに役立ててみてはいかがでしょうか。