
おいでよ 個人開発の沼
最近、個人開発に興味のある方と話をする機会が多いのですが
・個人開発に興味がある
・技術志向というよりはサービス志向
な人は、まず個人開発を始めてみて、その楽しさ・魅力を体験したほうがいいと思っているので、楽しさ・魅力を伝えるために書いてみました。
個人開発は何が良いか
僕は、大学5年目の2011年から個人開発をしているのですが、個人開発をやっていて良かったなと思うのは以下の4点です。
・全てを自由に決められる
・趣味として、お金がかからない(お金が増えることも)
・バランス良く、総合的なスキルが身につく
・個人開発を軸に、高速で成長できる
全てを自由に決められる
個人開発では、何をやるのも自由です。
・何を作るのか?
・どういった人をターゲットにするのか?
・どういった技術を使うのか?
・どのようにマネタイズするのか(またはしないのか)
・どのようにプロモーションするのか
・いつリリースするのか
・etc...
なので、普段「ホントはこういうの作りたいんだよな...」「このライブラリ、使ってみたかったんだけど、使えなかった...」といった不満を抱えてる人にとっては、やりたいことを思うがままに実現する良い機会になるのではないでしょうか。
趣味として、お金がかからない(お金が増えることも)
Web系のエンジニア・デザイナーとして働いており、既に自前のPCを持っている場合、個人開発のために追加で必要なものはほとんどありません。
iOSアプリの場合、
mac + iPhone/iPad/iPod touchのいずれか + 年間$100の開発者登録料
Androidアプリの場合、
PC + Android端末 + Google Play開発者登録料($25、1回のみ)
があれば始められます。
(ちなみに、社会人1年目で最初の個人アプリをリリースした時は、デザインができなかったので、先輩に3万円でデザイン作成を依頼し、上記の金額 + 3万円、自分の人件費を除けば、4万円ちょっとでリリースまで行けました)
(最初の個人アプリ quick-zip)
個人開発が楽しくなってきて、業務と同じレベルで各種サービスを使っても月1万円くらいなので、出費もそこまでかさむことはありません(詳しくは以前、👇の記事で書きました)。
その一方、うまくいけば月数万円くらいの売上にはなるので、趣味として悪くないんじゃないかとは思います。
バランス良く、総合的なスキルが身につく
誰でも総合的なスキルを高いレベルで身につけられるわけではなく、
・サービスとして継続的な売上を立てる
・ある分野において有名アプリとしての地位を確立する
などを目指し、真剣に取り組んだ場合に限られるとは思いますが、これも個人開発の良いところの1つです。
一般的なアプリの開発フローは、以下のようになっているかと思います。
個人開発を始め、リリースまでこぎつけると、
・下手ではあるが、要件定義をした経験
・カオスなコードだけど、1つのアプリを全て実装した経験
・1つのアプリの申請をした経験
・1つのアプリをリリースした経験
をまずは積むことができます。
運用を始めると、
・リリース前に手動でテストすること
・テスト前に手動でアプリをビルドすること
が面倒になってくるので、その問題を解決するために、JenkinsやBitrise、CircleCIなどを利用してCI/CDにも手を伸ばすようになり、開発基盤の構築スキルが身につきます。
時間とともにユーザーが増えてくると
・ユーザーが使い続けてくれるよう、UIを改善していく
・ユーザーの欲求を明確に捉え、解決策をより洗練されたものにしていく
ことに着手するようになるため、企画力、要件定義力、デザイナーさんに目的を伝えるためのディレクション力などが上がってきます。
また、より多くの人にアプリを知ってもらうために、ASOやPRなどにも注力するようになります。
ヘビーユーザーも増え、ユーザーからのフィードバックが来るようになると、開発速度を落とすことなく、高速に改修、機能追加をする必要が出てくるため、設計力を上げることになります。
設計力も上がり、開発周りを安定的にこなせるようになると、
・ペルソナ設定
・サービスが解決するユーザーペイン、提供する便益
・いつ、どのタイミングでマネタイズするのか
あたりを考え、包括的なユーザー体験を設計するくらいしか新たにやることがなくなるので、それで企画力が上がることになります。
人やサービスによって、スキルを上げる順序は異なってくるとは思いますが、このようにして総合的なスキルを身につけられるようになります。
個人開発を軸に、高速で成長できる
個人開発と業務での開発を行ったり来たりしていると、
「この設計パターン、個人開発のほうでも使えそうだな」
「このライブラリ、安定してるし業務で使っても問題なさそうだな」と、個人開発⇔業務間で知識を使いまわし、個人開発を軸に成長することができます。
また、実装以外のタスクについても「面倒だけど、個人開発の役に立つかもしれないからやるか」と違った視点で見ることができるようなるため、仕事のモチベーション管理をする上でも役に立ちます。
個人開発のダメなところ
・無限に時間が溶ける
個人開発でも、会社のサービス同様、やりたいことは無限に出てきます。
・新しい機能追加したい
・リファクタリングしたい
・アーキテクチャ新しくしてみたい
・新しいライブラリ試してみたい
・etc...
👇はTogglで記録した、去年の僕のライフログの一部なのですが、個人開発の2プロジェクトに400時間以上使っています笑
自分で歯止めをかけないと無限に時間が溶けるので、その点は要注意です。
まとめ
エンジニアをキャリア / スキル / モチベーション的に幸せにする個人開発について、自分の体験を元に一通り説明できたとは思います。
サービス志向のエンジニアは、
・個人開発に挑戦してみる
・個人サービスが伸びたら、その運営に注力
・個人開発以上に注力したいサービスに出会えたなら、そこでがんばる
・それまでは、個人サービスやりつつ、エンジニアリング力・プロダクト
マネージャー力・サービス設計力を伸ばす
あたりを目指してみると幸せなんじゃないかと思います。
また、フリーランスとして働く場合も
・個人開発と業務で総合的なスキルを伸ばし、高単価の仕事を獲得
・空いた時間で個人開発をすすめる
というのは、割と保険がかかった良い選択肢なのではないでしょうか。
追記
開発するのも大事だけど、価値検証も大事だよね、と個人開発の打率を上げたい人に読んでほしい記事を書きました。
いいなと思ったら応援しよう!
