Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
個人開発がおすすめな理由
Search
meijin
November 30, 2023
Programming
3
910
個人開発がおすすめな理由
meijin
November 30, 2023
Tweet
Share
More Decks by meijin
See All by meijin
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
3
1.5k
サービス黎明期にNuxt.js v2からNext.js移行を決めた理由と進め方
texmeijin
0
290
スタートアップCTOが個人開発で収益化・年13本記事発信・5件登壇を平行するための時間管理
texmeijin
4
1k
弊社の開発体験の良いところは?メンバーに訊いてみた!
texmeijin
0
360
初めてESLintプラグインにコントリビュートした話
texmeijin
0
120
先生と一緒に プロダクトを良くする アナリティクス機能の開発
texmeijin
0
45
ハードルが激低な社内勉強会を続けている話
texmeijin
0
5.3k
React NativeアプリにStorybook CSF3.0を導入しよう
texmeijin
0
1.5k
Other Decks in Programming
See All in Programming
レガシーシステムにどう立ち向かうか 複雑さと理想と現実/vs-legacy
suzukihoge
14
2.3k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
280
Functional Event Sourcing using Sekiban
tomohisa
0
110
React への依存を最小にするフロントエンド設計
takonda
12
3.6k
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
4
1.6k
受け取る人から提供する人になるということ
little_rubyist
0
250
Contemporary Test Cases
maaretp
0
140
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
950
Vapor Revolution
kazupon
1
190
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
260
Featured
See All Featured
Scaling GitHub
holman
458
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Optimizing for Happiness
mojombo
376
70k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Six Lessons from altMBA
skipperchong
27
3.5k
Building Your Own Lightsaber
phodgson
103
6.1k
Building an army of robots
kneath
302
43k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Agile that works and the tools we love
rasmusluckow
327
21k
Being A Developer After 40
akosma
87
590k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Transcript
個人開発がおすすめな理由 株式会社NoSchool CTO / meijin
目次 自己紹介 私が個人開発しているツール 個人開発がおすすめな理由 1 )使ってみたい技術を試す場になる 2 )不確実性に投資できる 3 )作ったことのあるサービスの種類が増える
4 )Web サービスの全体感が見える 5. 要件定義の経験と視座が得られる 6. 汚いコードを書けばどんな目に遭うかわかる まとめ 宣伝
自己紹介 名人 Twitter(X): 名人|マナリンクCTO Zenn: https://zenn.dev/meijin 株式会社NoSchool CTO オンライン家庭教師マナリンク(https://manalink.jp/) 個人開発
テストメーカー(https://test-maker.app/) 好きな言語はTypeScript 、好きな麻雀の役は七対子 趣味 将棋☗、カメラ📸、ラム酒🥃、個人開発💻、筋トレ💪
テストメーカー テストメーカー(https://test-maker.app/) 2021 年12 月開発開始〜2022 年6 月リリース 2023 年11 月現在、14,000
人以上のユーザー登録 「文章をそのまま穴埋め問題にできる」をコンセプトに、文章の一部を選択したら穴埋めになるUX 大半の勉強系アプリが問題と回答を分けて入力する必要がある 詳しくは【zenn テストメーカー】で検索🔍 ちなみにテストメーカーは人生10 個目くらいの個人開発です 過去に「家具家電に特化した比較ツール」「勉強通知リマインドアプリ」「クイズ作成サイト」「Twitter 連 投ツール」など作ってますが、ほぼスベってます
文章をそのまま穴埋め問題にできる
取材も受けました リリース当初、数千リツイートされて取材を受けました
個人開発がおすすめな理由
1 )使ってみたい技術を試す場になる
使ってみたい技術を試す場になる 個人開発では「使ってみたいから」で技術導入ができる テストメーカーでは 特に意味もなく i18n 対応をしてみた 本来、i18n 対応を実務でできるのは割と稀 知人がi18n の話をしていて追従できず悲しかったのでi18n
ライブラリを入れた よく分かっていなかった” どうやってルーティングからlocale を取るんだろう” とか” 翻訳ファイルって JSON になるから型安全にできるのかな” といった疑問が解消された 既存サービスを後からi18n するのダルすぎるっていう感覚を実感として得られた
2 )不確実性に投資できる
不確実性に投資できる (個人的に思っていることですが) 経験を積めば積むほど、より確実にリターンが得られる手段を選ぶ たとえばReact 経験者が業務で新規サービスを受託したら、まずReact で作ることを選ぶはず 周囲からの期待値(等級や立場や時給)も上がっていくため、確実に結果を出せる手段を選ぶ だからこそ、不確実性の高い行動や学習に投資することの重要性が増している 例 (誰と繋がるか分からないが)イベントに登壇する
(読まれるか分からないが)技術記事を書く (1 円も入らないのに)個人開発する (使われる自信が無いけど)ライブラリを公開する せっかくの個人開発なのに「このアイデア、スベリそうだからやめよう」といった思考はもったいない!
3 )作ったことのあるサービスの種類が増える
Web サービスの4 分類 Web サービスを雑に分類すると以下の4 つになると思っています。 (もちろん複数の分類を兼ねているサー ビスもあります)
複数の分類を経験することのメリット 僕は前職で「メディア」を、現職では「メディア」兼「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) で連絡ください!
ご清聴ありがとうございました