これからエンジニアを目指す未経験の方へ～独学のすゝめ～

## はじめに

**SNSでは、「未経験からエンジニアになるには独学は不可能」という意見が散見されます。しかし、それは全くの誤りです。** 私は実際に独学でエンジニアになることができました。それどころか、**独学の方が早く、効率的に学習できるとさえ感じており、プログラミングスクールは必ずしも必要ない**と考えています。ネット上には良質な教材がたくさん落ちていて、現在はAIという素晴らしいパートナーもいるからです。未経験からの転職活動を終えたてほやほやの私が、独学の魅力とそのやり方をお伝えします！


:::note info
この記事では、**プログラミングスクールを検討されている方々へ、まずは独学ではじめてみては？と選択肢を提案することを目的としています。特に能動的に学習を進めたい人には適したやり方かと思います！**
:::

## 前提

- 独学の定義は「プログラミングスクールに通わず、**自分でカリキュラムを考えて主体的に学習を進めること**」とします。
- 完全に自己流で進めるのではなく、**市販教材を活用したり、ある段階から現役エンジニアに質問できる環境を整えることは必須**です。

:::note alert
本記事は、**未経験から独学で複数のWeb系自社開発企業に内定を得ることは可能である**という内容であり、現場で通用するかどうかは保証できません。なぜなら、私自身が就職活動を終えた段階でこの記事を書いており、現場のレベル感は全く知らないからです。
:::


## 自己紹介
- 前職は異業種の海外営業で、英語はビジネスレベル。
- 2024年9月からプログラミング学習を開始し、4ヶ月後の2025年1月にポートフォリオを完成（この期間は無職）。
- 2025年1月から就職活動を開始し、**Web系自社開発企業6社、受託開発企業3社から内定**をもらい、就職活動を終了。
- 2025年4月から職業エンジニアとして働き始める予定。

## 独学で学ぶメリット

- **自分にあった理解しやすく楽しい教材を選べる**

    **最適な教材を一発で選び当てる必要はありません。素晴らしい教材に出会えるまで取捨選択すれば良いのです。** ネット上には、安価な教材がたくさん落ちています。いくつかレッスンを受けてみて、講師の説明や進め方が合わない場合は、すぐに返金申請をして、別の教材を選び直すことができます。例えば、私はReactの講座をUdemyとYouTubeで2つ受講しましたが、理解が進まず、3つ目に受けたUdemyの講座でようやく理解できました。新たな技術を学習する際は複数の講座をまず購入して、自分にあった講座に絞って進めてみるのがオススメです！

    :::note warn
    **スクールでは、指定された教材を使う必要があるため、自分に合うかどうかは運次第**です。返金もできない場合が多いです。
    
&nbsp;  
-  **学習したい言語やスキルを自由に選べる**
    ここが一番大きなメリットですが、**カリキュラムは全て自分で決められるので、興味がある技術や言語を使って開発ができます。** 私はモダンな技術を使ったWeb系企業に入りたいという目標があったため、TypeScript(またはGo)を学習できる独学を選択しました。
自分の行きたい企業が使っている技術スタックを調べて、全く同じものを学習するのも良いかと思います！
    
    :::note warn
    **9割以上のスクールがRuby、Java、PHPのいずれかを教えています。加えて、バックエンドのみorフロントエンドのみしか教えていないことも多いです**
    
&nbsp;  
- **メンターを自分で選べる**
    MENTAなどのサービスを利用すれば、自分のポートフォリオで使用している技術に特に詳しい人をメンターとして選び、壁打ちやコードレビューを依頼できます。ポートフォリオ作成時は必ず利用するようにしましょう！

&nbsp;  
- **圧倒的に費用が安い**
    万が一、途中で挫折してしまっても軽症で済みます。

    :::note info
    私が独学にかかった費用は、合計で5万円弱（市販教材、書籍、メンター代）です。
    
&nbsp;  
- **就職活動で高く評価される**
    多くの未経験求職者がスクール上がりなので、独学で成果物を作った経験は、「自走力」や「主体性」をアピールする上で非常に有利になります。私自身、面接で自走力や熱意を問われることがかなり多かったので、この経験から自信を持って話すことができました！

## 独学のデメリットとその対策

もちろん、独学にはデメリットもあります。しかし、適切な対策を講じることで、これらのデメリットを克服できます。

- **質問できる人がいない**

    **対策:** 市販教材で学習する期間は、AIをフル活用して、分からない部分を徹底的に質問しましょう。ポートフォリオ作成期など、正解がないものを開発している場合は、必ずメンターを付けて、コードレビューやアドバイスをもらいましょう。私は、有料のメンターサービスを利用していました。友人でも構いませんので、質問できる環境を整えることが重要です。
&nbsp;  
- **一緒に勉強する仲間がいない**
    **対策:** エンジニア向けのオンラインサロンやコミュニティを見つけて参加しましょう。実際の現場の話を聞くことができ、モチベーションの維持にもつながります。
&nbsp;  
- **学習を強制する人がいないので継続できない**
    **対策:** SNSで学習前にタスクを宣言し、終了後に学習時間とタスクの状況を毎日投稿しましょう。自分を追い込むことで、学習を継続しやすくなります。
&nbsp;  
- **どの技術をどの教材で学習したら良いか分からない**
    **対策:** 後述の「独学の進め方」を参考にしてください。
&nbsp;  
- **就職活動の相談ができない**
    **対策:** 人材紹介会社を上手く利用して、履歴書や職務経歴書の添削、面接対策を行いましょう（ただし、紹介される企業については、SESが大多数なので注意が必要）。

## 独学の進め方

最後に、具体的な独学の進め方について説明します。


1.  **作りたいアプリのアイデア出し（ざっくりでOK、途中変更も可能！）**
&nbsp;  
2.  **学習ロードマップの参照**

未経験者向けの学習ロードマップをできるだけたくさん参照し、最低限学習が必要そうな技術を大まかに把握しましょう。ネット上（YouTube、X、Qiitaなど）にたくさん転がっています！

:::note alert
調べるうちに、「独学は不可能なのでスクールに入りましょう」と勧めてくる媒体は多いですが、一旦無視でOK！
:::
&nbsp;  
3.  **市販教材での学習**

Progate、Udemy、YouTubeなどの市販教材を使って、自力で学習を始めましょう。分からない部分は、正解のコードを見ながら、理解できるまでAIに質問しましょう。

:::note warn
知らない・分からない事は無限に出てくるので、どこかで区切りをつけて前に進みましょう！
:::


&nbsp;  
4.  **ローカル環境での再現**

教材で作ったものは、すべてローカル環境でも再現してみましょう。環境構築は苦戦するかもしれませんが、AIを駆使して乗り越えましょう。

&nbsp;  
5.  **3と4の繰り返し**

**開発したいアプリに必要な最低限の技術が習得できるまで、3と4をひたすら繰り返します。この期間は、できるだけ短い方が良いです（目安は2ヶ月）。** ここまで独学で問題なかった人は、スクールは必要ありません。

:::note info
もし、このプロセスがどうしても上手くいかない時に、初めてスクールやメンターサービスの利用を検討しましょう。
:::


&nbsp;  
6.  **ポートフォリオ作成**
**技術や知識が足りないと感じても、むしろその状態でポートフォリオ作成に取り掛かりましょう。** メンターを付けて、コードレビューやアドバイスを積極的に貰いましょう。

:::note info
 **ポートフォリオを作りながら学習するのが最も効率的です（インプットした内容を直後にアウトプットできるため）。** 
:::


## おしまい
上述した通り、**独学のメリットはすべて自分で選択できることです！** 自分で情報収集して選択していくことが好きな人は非常に楽しい学習法かと思います！継続するには「学習内容が楽しいこと」は何より重要です。
未経験の方がこれからエンジニア転職される際に、少しでも参考になりましたら幸いです。何か質問や意見がございましたらXの方までコメント頂けると助かります！