Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

meijin
November 30, 2023

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

meijin

November 30, 2023
Tweet

More Decks by meijin

Other Decks in Programming

Transcript

  1. 個人開発がおすすめな理由
    株式会社NoSchool CTO / meijin

    View full-size slide

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

    View full-size slide

  3. 自己紹介
    名人
    Twitter(X):
    名人|マナリンクCTO
    Zenn: https://zenn.dev/meijin
    株式会社NoSchool CTO
    オンライン家庭教師マナリンク(https://manalink.jp/)
    個人開発
    テストメーカー(https://test-maker.app/)
    好きな言語はTypeScript
    、好きな麻雀の役は七対子
    趣味
    将棋☗、カメラ📸、ラム酒🥃、個人開発💻、筋トレ💪

    View full-size slide

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

    投ツール」など作ってますが、ほぼスベってます

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  11. 不確実性に投資できる
    (個人的に思っていることですが)
    経験を積めば積むほど、より確実にリターンが得られる手段を選ぶ
    たとえばReact
    経験者が業務で新規サービスを受託したら、まずReact
    で作ることを選ぶはず
    周囲からの期待値(等級や立場や時給)も上がっていくため、確実に結果を出せる手段を選ぶ
    だからこそ、不確実性の高い行動や学習に投資することの重要性が増している

    (誰と繋がるか分からないが)イベントに登壇する
    (読まれるか分からないが)技術記事を書く
    (1
    円も入らないのに)個人開発する
    (使われる自信が無いけど)ライブラリを公開する
    せっかくの個人開発なのに「このアイデア、スベリそうだからやめよう」といった思考はもったいない!

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. 4

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  18. 要件定義の経験と視座が得られる
    個人開発では自分が企画から実装までやるので「課題を解決するためにはたくさん手段があり、選択肢
    の中から自分が決める」という経験ができる
    (組織体制によるが)要件まで固まってから開発チームに降りてくるような環境では、そもそもその要件
    でいいのか?と考える間もなく、設計や実装に入ることもあるのではないか

    もちろんその方が技術的な関心事に注力できるというメリットはある
    個人開発ではサービスのこと、解決したい課題が分かっているのは自分だし、要件定義にチャレンジす
    るための障壁がほとんどない状態なので、挑戦するにはうってつけ

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide