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
930
個人開発がおすすめな理由
meijin
November 30, 2023
Tweet
Share
More Decks by meijin
See All by meijin
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
25k
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
3
1.6k
サービス黎明期にNuxt.js v2からNext.js移行を決めた理由と進め方
texmeijin
0
330
スタートアップCTOが個人開発で収益化・年13本記事発信・5件登壇を平行するための時間管理
texmeijin
4
1k
弊社の開発体験の良いところは?メンバーに訊いてみた!
texmeijin
0
370
初めてESLintプラグインにコントリビュートした話
texmeijin
0
140
先生と一緒に プロダクトを良くする アナリティクス機能の開発
texmeijin
0
58
ハードルが激低な社内勉強会を続けている話
texmeijin
0
5.3k
React NativeアプリにStorybook CSF3.0を導入しよう
texmeijin
0
1.6k
Other Decks in Programming
See All in Programming
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
350
フロントエンドのディレクトリ構成どうしてる? Feature-Sliced Design 導入体験談
osakatechlab
8
4.1k
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
390
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
300
Online-Dokumentation, die hilft: Strukturen, Prozesse, Tools
ahus1
0
100
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.1k
Go の GC の不得意な部分を克服したい
taiyow
3
840
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
290
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
580
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
340
情報漏洩させないための設計
kubotak
4
830
Featured
See All Featured
RailsConf 2023
tenderlove
29
940
Gamification - CAS2011
davidbonilla
80
5.1k
How STYLIGHT went responsive
nonsquared
96
5.2k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Statistics for Hackers
jakevdp
796
220k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
How GitHub (no longer) Works
holman
311
140k
Adopting Sorbet at Scale
ufuk
73
9.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) で連絡ください!
ご清聴ありがとうございました