ちょうど研修が終わって、これから初めての現場に入る、という新人エンジニアの方が多い時期かなと思います。
そして同時に、「このまま実務に入って大丈夫かな…」と、ちょっと不安になっている人もけっこういるんじゃないかと思っています。僕も新卒のころおんなじ感じでした。
先に言っておくと、実戦を"先取り"して一歩先に成長したい人には、個人開発が一番効きます。 理由はシンプルで、0から開発を経験しとけばフロントもバックエンドもGitも、実務ででてくる流れをある程度前もって体験できるからです。
今回は、「なんでスキルが伸び悩むのか」な初級エンジニアのよくある悩みの話から、新卒エンジニアでも個人開発で具体的に何が身につくのか、そして「結局何を作ればいいの?」というところまで、現役8年目でPMをやっている僕の目線で書いていきます。
新卒エンジニアでこんな悩みありませんか?
研修明けの新人エンジニアの悩みは、だいたい次の3つに集約されてると感じます。
- 何を(今後)勉強すればいいのか分からない
- このままで成長できるのか不安
- 実際の仕事で通用するのか不安
このどれかに「あ、自分だ」となった人は、たぶんこの記事を読んで損ないっす。
んで、こういう不安があるととりあえず資格を取ろうとする人が多いです。基本情報とかAWSの認定とか。これ自体は悪くないんです。基礎知識の定着という意味なら、資格の勉強はかなり有効だと思います。
ただ、「実務で使えるスキルが身につくか」というと、話は別ですね。資格で問われるのは「正解はどれか当てれる」ですが、実際の開発現場って「正解のない問題を自分で何とかする」のがほとんどです。なので、資格たくさんもってるからといって実務で即戦力なれるかというとそうではない。
なぜ、スキルが伸びにくいのか
理由はめちゃシンプルで、インプットは足りているのに、アウトプットの経験値が圧倒的に足りていないからです。
研修や教材って、基本的に「読む・聞く・写経する」のインプットが中心です。それで分かった気になるんですが、いざ自分でゼロから書こうとすると手が止まる。いざちょいムズの課題やると組み立てわかんなくなっちゃう感じです。この「分かったつもり」と「実際にできる(落とし込める)」のギャップはクソでかいです。僕も独学時代、Progateを2周して『余裕じゃん』と思ったけど、自己紹介サイト作ろうと思って絶望したの覚えてます。笑)。
スキルって、結局は場数だと僕は思います。
- エラーが出て、自分で原因を調べて、直す
- どう設計すればいいか分からなくて、一回ぐちゃぐちゃに作って、後悔する
- ライブラリのバージョンが噛み合わなくて、半日溶かす
- AIが出したコードがうまくいかず、AIに聞いてもうまくいかず
こういう「しょうもないけど避けて通れない経験」を何回も踏みつづけて、実務で対応できるようなります。逆に言うと、インプットだけ増やしても、この経験値ゲージは1ミリも溜まっていきません。
そして、この経験値を自分のペースで・安全な場所で・大量に積めるのが、個人開発です。
もうちょい本質的なこと
ここが一番伝えたいところなのですが、
実務の開発って、ざっくり言うと 設計 → 実装 → テスト という流れで進みます(ジュニアレベルの場合)。これは研修でも習ったと思います。
でも、本当に現場で求められるのは、この各工程の知識そのものじゃないです。このタスクを"自分ひとりで最後まで完結させる力" なんですよね。
現場では、誰かが「はい、ここに穴埋めしてね」とお膳立てしてくれるわけじゃないです。
- 何を作るか、ふわっとした要望から自分で仕様に落とす
- どういう構造で作るか、自分で決める
- 実装して、動かないところを自分で直す
- 「これ本当に大丈夫?」を自分で確認する
この「ゼロから1まで、自分で持っていく」っていうのは教材の写経では絶対にできるようになりません。
で、これを擬似的に、しかも丸ごと経験できるのが個人開発です。自分が企画者で、設計者で、実装者で、テスターで、運用者。 全部を一人でやるからこそ、「完結させる力」が嫌でも鍛えられます。
個人開発をやると、何がいいのか
メリットを4つに絞ると、こんな感じです。
1. 指示待ちじゃなく、自分で考えて決める経験ができる
「ここ、どう作るのが正解なんだろう」を自分で決める回数がとにかく増えます。最初は全部迷うんですが、この「自分で決めた」っていう経験の数が、そのまま現場での自走力になります。
2. 技術の"つながり"が見える
研修だと、HTMLはHTML、SQLはSQL、と分断して習うことが多いです。でも個人開発だと、「画面で入力した値が、APIを通って、DBに保存されて、また画面に出てくる」 という一連の流れを、自分の手で繋ぐことになります。この「どう繋がっていくか」をイメージできた瞬間が、個人開発の一番おいしいところです。
3. 手を動かした分だけ、経験値が積める
さっき書いた「場数」がここで溜まっていきます。エラーでボコボコにされた分、全部あなたの力になってくれます(多分)。
4. 仕事・タスクのイメージがまとまる
一回でも自分でアプリを完成させると、現場で「この機能を作って」と言われたときに、「あ、これはこのへんを触ればいいな」という当たりがつくようになります。 タスクの解像度が上がる、と言ってもいいです。これ、地味ですがめちゃくちゃ効きます。
ちなみに、僕は普段8人くらいの開発チームをPMとして見ていて、新人さんも見る時もあるんですが、採用や育成で見られてるのは「コードがきれいかどうか」より「自分でどう考えて・判断してやったか」 だったりします。
正直、個人開発のここがしんどい
良いことばかりじゃないので、しんどいところも伝えておきます。
- 最初の一歩が重い:「何を作ればいいか分からない」で止まる人がめちゃくちゃ多い
- 詰まっても誰も助けてくれない:現場と違って先輩がいないので、エラーで沼ると一人で抱え込みがち
- 完成までモチベが続かない:8割できたところで飽きて放置、というのが個人開発の"あるある"
ただ、この「しんどい」は、裏を返すと実務でぶつかる壁を、ノーダメな環境で先に踏めているということです。現場で初めて詰まるより、個人開発で先に詰まっておいたほうが絶対にラクです。
個人開発で、どんなことが経験できるのか
ここが本題です。アプリを1本作るだけで、実際これだけの領域を「満遍なく」触ることになります。
Git・GitHub
コードをコミットして、GitHubに上げる。最初はこれだけでOKです。慣れてきたらブランチを切ったり、コミットを取り消したりも自然と覚えます。現場では100%使うので絶対やっとくべきです。
フロント系
画面(UI)を作って、ボタンを押したら何か起きる、を実装します。入力フォーム、一覧表示、状態(state)の管理あたりですね。「ユーザーが触る部分」を自分で組む経験になります。
バックエンド系
フロントから飛んできたデータを受け取って、保存したり、計算して返したり。APIを書いて、DBにデータを出し入れする部分です。
このフロントとバックエンドを自分で繋ぐと、いわゆる「フルスタック」の全体像が一気に見えます。ここが見えると、プログラミングの解像度がガラッと変わるはずです。
インフラ系
作ったものをネットに公開(デプロイ)する部分です。ただ、ここは最初そんなに気合い入れなくて大丈夫です。 VercelとかRenderみたいなサービスを使えば、ほぼ設定なしで公開できちゃうので、「とりあえず動いて、人に見せられる状態になればOK」くらいの理解で十分です(深いインフラ設計は、必要になってから足せばいい派です)。
開発の"流れ"そのもの
「作る → 動かない → 調べる → 直る → また動かない」のサイクルを何周も回すことになります。この「うまくいかないじゃん!」を嫌というほど経験しとくのがミソです。
詰まりどころ・難しいところの"先取り"
環境構築でハマる、バージョンが噛み合わない、エラーメッセージの意味が分からない…。実務で必ず出会う壁に、安全な場所で先にぶつかれます。現場デビュー前に一回ここを通っておくと、メンタルの余裕でてきます(たぶん)。
何を作ればいい?
ここが一番つまずくポイントなんですが、答えは超シンプルです。
なんでもいいです。
本当になんでもよくて、極端な話、今日あなたが最後に見たサイトやアプリを、真似して作ってみる でも全然アリです。TodoリストでもメモアプリでもXのクローンでも、なんでもいいです(最初は)。
題材選びで悩む時間が一番もったいないので、基準は3つだけ持っておけば十分です。
- 小さく作る:「全機能」を目指さない。投稿できて一覧で見られる、くらいで一回完成にする
- 自分が分かるものにする:自分が普段使ってるサービスの劣化版コピーが、構造を理解しやすくてオススメ
- 公開まで持っていく:人に見せられる状態(URLがある状態)をゴールにする
大事なのは、完璧なものを作ることじゃなくて、一回「最後まで作り切る」体験をすることです。しょぼくてもいいので、自分で動くものを公開できた瞬間、見える景色がガラッと変わります。まずはそこを1回やってみてほしいんです。
詰まったときは、AI使おう
「一人だと詰まって進めない...」という人もたくさんいると思うので補足すると、
今は ChatGPT や Claude がいるので、独学のハードルは昔よりかなり下がっています。24時間いつでも付き合ってくれる先生(カテキョ) として使い倒せるからです。エラー貼って「これどういう意味?」と聞けば、原因も直し方も教えてくれます。
ただ、ここで1つだけ注意です。「コード書いて」と丸投げして、答えだけコピペするのはやめたほうがいいです。(それ、わかった気になってるだけで、自分の身にならないので)
仕事でコードを書く以上、'動くものが作れる'だけじゃなくて、その実装に責任を持てるかが問われます。現場で「AIが作ったから僕は分かりません」は通用しないんです。なので、AIには「答え」じゃなくて「考え方」や「なんでこうなるのか」を聞く。この使い方ができると、AIは最強の学習パートナーになります。
でてきそうな質問(FAQ)
Q. プログラミング歴が浅くても、個人開発していいですか?
いいですよ。むしろ早いほうがいいです。研修で習った基礎(変数・条件分岐・関数くらい)が分かっていれば、あとは作りながら覚えれば大丈夫です。
Q. 個人開発と資格、どっちを優先すべきですか?
「実務で通用する力をつけたい」なら僕は個人開発を優先でいいと思います。ちなみに今8年目ですが僕資格0です。笑
Q. ポートフォリオとしても使えますか?
使えます。
Q. どのくらいの規模を作ればいいですか?
最初は「週末〜2週間で完成する」くらいの規模で十分です。でっかく全部を狙うと6~8割で力尽きます。まずは成功体験を積むためにミニマムで作ってくのがベストです。
おわりに
個人開発のいいところは、「広く浅く」じゃなくて「広く、連続的に」スキルが身につくところです。フロントもバックもGitも公開も、全部が1本のアプリ開発の中で繋がって見えてくる。難易度は普通に教材やるよりむずいですが、やる価値のあるものだと僕は思います。
研修が終わるこのタイミングで、なんでもいいので1個作っておくと、現場デビューがだいぶラクになります。一歩先を行きたい人は、ぜひ今日からでも作るものを1個だけ決めてみてください。題材は、さっき言ったとおりなんでもいいです。
【告知】Discordコミュニティはじめました
このたび、プログラミング学習とかエンジニア就職に役立てるDiscordサーバーを作りました。
「個人開発やってみたいけど、何作るか相談したい」「詰まったとき、同じ目線で話せる人がほしい」みたいな、新人エンジニアや学習中の人が集まれる場所がほしくて立ち上げた感じです。一人で抱え込まずに進められる場にしていきたいなと思っています。
気軽にのぞいてみてください。
👉 https://discord.gg/3BytDdCZfM
自己紹介
現在、8年目になるエンジニア兼PMやってるやむぅ。です!普段はフリーランスエンジニアとして、8人の開発チームのPM(プロジェクトマネージャー)をしたり、AIゲームコーチングサービス『Repl-AI』などの「個人サービス運営」「個人的なエンジニアサポート」この三つを主軸に活動しています。
- エンジニア歴: 8年目(上流の設計から下流の実装・テストまで全部やってます)
- 得意な技術: Java, TypeScript, Next.js, Python, Go, Cursor, Claude code など
- 個人運営スクール: 個人開発や転職にコミットするプログラミングスクール「Programing Factory - ProFact」運営
- 個人開発したサービス運営: WebニュースのAI分析サービス/Twitchクリップの検索・シェアサイト/Meta社のThreads分析・投稿予約ツール/ゲームプレイのAIコーチングサービス
僕がやっているProFactでは、今回話したような「個人開発で身につく実務スキル」や「AIと一緒に開発する前提の立ち回り」を、現役エンジニアと一緒に手を動かしながら学べます。独学だと詰まりがちな人は、のぞいてみてください。
※副業、Web制作を目指している方はお力になれません…ご了承ください。