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
960
個人開発がおすすめな理由
meijin
November 30, 2023
Tweet
Share
More Decks by meijin
See All by meijin
Technical Decisions and Reflections on "Test Maker" After Two Years of Development
texmeijin
1
32
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
25k
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
4
2.2k
サービス黎明期にNuxt.js v2からNext.js移行を決めた理由と進め方
texmeijin
0
390
スタートアップCTOが個人開発で収益化・年13本記事発信・5件登壇を平行するための時間管理
texmeijin
4
1.1k
弊社の開発体験の良いところは?メンバーに訊いてみた!
texmeijin
0
400
初めてESLintプラグインにコントリビュートした話
texmeijin
0
180
先生と一緒に プロダクトを良くする アナリティクス機能の開発
texmeijin
0
83
ハードルが激低な社内勉強会を続けている話
texmeijin
0
5.6k
Other Decks in Programming
See All in Programming
PHPによる"非"構造化プログラミング入門 -本当に熱いスパゲティコードを求めて- #phperkaigi
o0h
PRO
0
1.2k
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1.2k
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
890
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
140
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.4k
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
160
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
260
エンジニア未経験が最短で戦力になるためのTips
gokana
0
240
ベクトル検索システムの気持ち
monochromegane
30
9.6k
AHC045_解説
shun_pi
0
280
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
190
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
130
Featured
See All Featured
Facilitating Awesome Meetings
lara
53
6.3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
A designer walks into a library…
pauljervisheath
205
24k
Bash Introduction
62gerente
611
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
4 Signs Your Business is Dying
shpigford
183
22k
Typedesign – Prime Four
hannesfritz
41
2.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
720
Fireside Chat
paigeccino
37
3.4k
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) で連絡ください!
ご清聴ありがとうございました