kaeken(嘉永島健司)Techブログ

主に情報科学/情報技術全般に関する知見をポストします。(最近は、特にData Science、機械学習、深層学習、統計学、Python、数学、ビッグデータ)

個人開発(自社プロダクト)のメリット・デメリット・始め方・続け方・マネタイズについて

f:id:kaeken:20201004111346j:plain

tookapicによるPixabayからの画像

背景

  • 長年、フリーランスとして受託開発をやってきましたが、結局時間を切り売りしたり、成果物を切り売りするだけで、労働収益であることには変わりないです
  • 今後は、受託・プロパー業務と並行して、利益相反しない範囲で、自分の使いたいプロダクト開発・自分で収益化できるサービス開発、すなわち個人開発をしていきたいと思っています
  • 後述するように、個人開発のメリット・デメリット比較すると、メリットの方が優位なので、開始したいです
  • ただ、自分で全工程を管理する必要があるので、3日坊主になったり、目標達成や継続ができず挫折しやすいので、挫折防止する対策も必要です
  • 個人開発に関する調査をして、個人開発(自社プロダクト)のメリット・デメリット・始め方・続け方・マネタイズについて以下に整理しました
  • 個人開発経験者ではなく、あくまでも「これから個人開発を始めるために、個人開発未経験者が整理した内容」ですので、実際とのズレはご了承ください

個人開発のメリット

全工程を自分で自由に作ることができる

  • 企画段階から、要件定義・設計・実装・運用まで、自分で自由にデザインできます

作る過程で技術力が身に付く

  • 新しい技術に挑戦したり、異なる技術を組み合わせたり、実際に運用してみることで、プロダクト開発するための技術力を身に付けることができます

低リスクで開始できる

  • ドメインやサーバやAPI利用料など、スモールスタートすることができます

マネタイズできる

  • 広告を貼ったり、直接課金したり、マネタイズすることができます

就職・転職にプラスになる

  • 個人で全工程作成できる実力を証明でき、GitHub等にコード公開すれば、ポートフォリオとして就職時転職時に提示できます

個人開発のデメリット

プライベートの時間を費やす必要がある

  • 業務外のプライベートな時間を使って開発するので、楽しめる開発・明確な目標を持った開発をしないと、つらくなります

途中で挫折しやすい

  • 全工程を自分でやる場合、顧客も上司もおらず、途中で問題解決できなかったりして、リリースまでにこぎつける&運営を続けるのが大変で、挫折しやすいです

集客などビジネスサイドで苦戦する

  • 個人開発するエンジニアが思いつきでサービス企画する場合、事業企画やマーケティングを担当してきたビジネスサイドの方と比較して、ビジネスサイドで苦戦します

個人開発の始め方

始める際の注意

  • 技術を使うことが目的か、収益が目的かを決めます

    • 技術志向であれば、「その技術が活かせるサービス」「その技術を使わないとできないこと」に注力します
    • 収益志向であれば、徹底的に顧客分析からはじめて、顧客の解決したい真の課題を見つけることと、もっとも効果的な解決策を見つけることを最優先します
  • シンプルにスモールスタートします

    • 複雑さの回避:初めからあれこれやろうと複雑にすると、本質的でないところで詰まったりします
    • 時間浪費の回避:シンプルでないと、リリースまでに時間がかかり、時間がもったいないです
  • 環境を整えます

    • 作りたいプロダクトに応じて、PC、通信回線、ソフトウェア、その他必要なものを揃えます
    • ドメイン、サーバなど個人で契約するサービスも一覧にして、契約内容・契約期間・契約料金など管理できるようにします
  • イデア、タスク、コードを管理します

    • 個人開発する際には、たくさんアイデアやタスクが発生し、ソースコードが散逸しないように、使いなれたサービスで管理します

ステップ別参考記事

参考資料

個人開発コミュニティ

個人開発者(適宜追記)

情報収集リソース