🦔

個人開発がおすすめな理由6選

2023/12/01に公開
2

個人開発がおすすめな理由6選

株式会社NoSchool CTO / meijin

※slidevで発表したスライドをほぼそのまま投稿しています


目次

  • 自己紹介
  • 私が個人開発しているツール
  • 個人開発がおすすめな理由
    • 1)使ってみたい技術を試す場になる
    • 2)不確実性に投資できる
    • 3)作ったことのあるサービスの種類が増える
    • 4)Webサービスの全体感が見える
    • 5)要件定義の経験と視座が得られる
    • 6)汚いコードを書けばどんな目に遭うかわかる
  • まとめ
  • 宣伝

自己紹介

prof


テストメーカー

  • テストメーカー(https://test-maker.app/)
  • 2021年12月開発開始〜2022年6月リリース
  • 2023年11月現在、14,000人以上のユーザー登録
  • 文章をそのまま穴埋め問題にできる」をコンセプトに、文章の一部を選択したら穴埋めになるUX
    • 大半の勉強系アプリが問題と回答を分けて入力する必要がある
  • 詳しくは【zenn テストメーカー】で検索🔍
  • ちなみにテストメーカーは人生10個目くらいの個人開発です
    • 過去に「家具家電に特化した比較ツール」「勉強通知リマインドアプリ」「クイズ作成サイト」「Twitter連投ツール」など作ってますが、ほぼスベってます

文章をそのまま穴埋め問題にできる

create-test-image


取材も受けました

リリース当初、数千リツイートされて取材を受けました

CleanShot 2023-11-29 at 19 00 46


個人開発がおすすめな理由


1)使ってみたい技術を試す場になる


使ってみたい技術を試す場になる

  • 個人開発では「使ってみたいから」で技術導入ができる
  • テストメーカーでは
    • 特に意味もなくi18n対応をしてみた
      • 本来、i18n対応を実務でできるのは割と稀
      • 知人がi18nの話をしていて追従できず悲しかったのでi18nライブラリを入れた
      • よく分かっていなかった”どうやってルーティングからlocaleを取るんだろう”とか”翻訳ファイルってJSONになるから型安全にできるのかな”といった疑問が解消された
      • 既存サービスを後からi18nするのダルすぎるっていう感覚を実感として得られた

2)不確実性に投資できる


不確実性に投資できる

(個人的に思っていることですが)

  • 経験を積めば積むほど、より確実にリターンが得られる手段を選ぶ
    • たとえばReact経験者が業務で新規サービスを受託したら、まずReactで作ることを選ぶはず
    • 周囲からの期待値(等級や立場や時給)も上がっていくため、確実に結果を出せる手段を選ぶ
  • だからこそ、不確実性の高い行動や学習に投資することの重要性が増している
      • (誰と繋がるか分からないが)イベントに登壇する
      • (読まれるか分からないが)技術記事を書く
      • (1円も入らないのに)個人開発する
      • (使われる自信が無いけど)ライブラリを公開する
  • せっかくの個人開発なのに「このアイデア、スベリそうだからやめよう」といった思考はもったいない!

3)作ったことのあるサービスの種類が増える


Webサービスの4分類

Webサービスを雑に分類すると以下の4つになると思っています。
(もちろん複数の分類を兼ねているサービスもあります)

category


複数の分類を経験することのメリット

  • 僕は前職で「メディア」を、現職では「メディア」兼「SaaS」のようなサービスを開発
  • テストメーカーは「ツール」なので、これで3種類経験できた
  • 前述の表の通り、分類ごとに重要視する技術が異なる傾向にある
    • 例)SaaSの開発をしていてSEO対策について学ぶ必要はほぼ無い
    • 例)LPを量産するメディアなのにデザインシステムを構築することはあまり無い
  • 個人的には、複数種類の経験値があると、流行っている技術や設計手法などを見たときに「流行っているから使う」ではなく「自社のサービス特性に合っているから使う」という考えを持てるようになると思っている

4)Webサービスの全体感が見える


Webサービスの全体感が見える

  • 個人開発をすると、Webサービスの全体感が見えるようになる
  • デザイン、SEO、LPに載せる情報、フロントエンド、認証、バックエンド、サーバーの立ち上げ、データベース、ドメイン取得、デプロイなど
  • ロールにも依るが、実務で全体感が見えるような機会が得られることは普通は稀
  • 技術選定に対する解像度も上がる
    • 例)格安のサーバーを契約したらリージョンは海外だし謎に落ちるしサポートは雑、といった経験
    • →値段が高くて手間の掛かるAWSやGCPにも相応のメリットがあるのか、といった気づき

5) 要件定義の経験と視座が得られる


要件定義の経験と視座が得られる

  • 個人開発では自分が企画から実装までやるので「課題を解決するためにはたくさん手段があり、選択肢の中から自分が決める」という経験ができる
  • (組織体制によるが)要件まで固まってから開発チームに降りてくるような環境では、そもそもその要件でいいのか?と考える間もなく、設計や実装に入ることもあるのではないか
    • ※もちろんその方が技術的な関心事に注力できるというメリットはある
  • 個人開発ではサービスのこと、解決したい課題が分かっているのは自分だし、要件定義にチャレンジするための障壁がほとんどない状態なので、挑戦するにはうってつけ

6) 汚いコードを書けばどんな目に遭うかわかる


汚いコードを書けばどんな目に遭うかわかる

  • 実務だと汚いコードを書いても(普通は)ソースレビューで弾かれるのでリリースされたり保守されることがない
    • 保守されることがないので、具体的にどんな目に遭うのか、頭では分かっても実体験が伴わない
  • そのため、具体的にこういうことで困りそうだから駄目、とは言えず、DDDっぽくないから治す、とか、責務違反だから治す、といった考えに至りがち
  • 個人開発で思い切り汚いコードを書いて、どんどん機能を追加してみて、数ヶ月もしたら悲鳴を上げて、といった経験をしてみることで、より実体験を伴った状態でコーディングスキルや設計スキルを伸ばせる

まとめ

  • 個人開発は、自分のキャリアにおいて不確実性に投資するための手段の一つ
    • 使ってみたい技術を試したり
    • 経験したことのない種類のサービスを開発したり
    • 思い切り汚いコードを書いたり
  • もちろん使ってくれる方が増えたり、ユーザーさんからいつも助かっているといったメールを受け取ったりするのが嬉しいというのもあるが、あえて今回は個人の利益というところに着眼してLTしました
    • (他の人に使われるかどうかはコントロールできないが、自分がどう成長するかはコントロールできる)

宣伝

  • テストメーカー(https://test-maker.app/)ぜひ使ってね!
    • 有料版もあるけど、無料でもそこそこ使えます!
    • 知り合いに学校の先生や企業研修を担当している方がいたら布教・紹介お願いします・・・!
  • 私がCTOを務めているオンライン家庭教師マナリンク(https://manalink.jp)ではエンジニアを随時募集しています
    • 個人開発で収益化しているメンバーが複数名在籍しており、ノウハウ交換ができます
    • フルスタック志向かつ、要件定義からエンジニアが参画するスタイルなので、個人開発力と両輪でスキルを伸ばせます
    • 興味を持った方はTwitterのDMやPitta(Meety)で連絡ください!

ご清聴ありがとうございました


最後まで読んでいただきありがとうございました!記事が参考になったらバッジお願いします!

Discussion

Ryotaro MorikatsuRyotaro Morikatsu

いつも有用な情報、各方で参考にさせてもらってます。
個人開発が技術の幅を広げたり、全体像の理解を深める点、非常に同意で自分もよく勧めてます💪

※ まとめのセクションがダブってましたので、コメントいたしました!

meijinmeijin

ありがとうございます!slidevで発表したmarkdownをそのまま貼ったので見出しが被ってしまいました・・・!修正しました!