プログラミング未経験です。
プログラミングスクールに通わなくても、独学でエンジニアになれますか?
こんなお悩みにお答えします。
僕は、2006年からITエンジニアを仕事にしています。
普段は、主にWebシステムのバックエンド側の開発をしています。
IT業界での僕の知識や経験がお役に立てれば幸いです。
プログラミングスクールに行かないと、エンジニア(プログラマー)になれないと思っている方がいらっしゃいますが、そうではありません。
結論、プログラミング未経験でもプログラミングスクールに通わずに、独学でエンジニアになることができます。
エンジニアになる方法は以下の3つです。
- 独学でスキルを習得する
- プログラミングスクールへ通ってスキルを習得する
- 未経験OKの企業へ入社して研修やOJTを通してスキルを習得する
この中でも「独学」は、スキル習得から企業への就職(または案件受注)までを
全て自分自身で行わなければならないため、1番難易度が高いです。
まさに、茨の道です。
それでも最近は、独学でもエンジニアを目指しやすい環境になってきている印象です。
それは、効率よくプログラミングを学習できるサービスや
経験スキルが豊富なメンターと繋がれるオンラインマッチングサービスがあるからです。
今回は、「独学でエンジニアになりたいけど、良い進め方がわからない」と考える方へ向けて、
世の中のサービスを利用することで、独学の最大の敵である「挫折」を最小限に抑えつつ、
未経験から独学でエンジニアになる方法をお伝えしていきます。
エンジニアになりたけど、まだどの職種で活躍したいかが決まっていない方は、
こちらの記事を読んで、どんなエンジニアになりたいかをイメージしておきましょう。
※本記事は、独学でエンジニアになるための方法を解説していますが、習得技術は、Web系のバックエンドエンジニアを想定しています。フロントエンドエンジニアやアプリエンジニア、インフラエンジニアなど他のエンジニアを目指す場合は習得技術が異なりますのでご了承ください。
未経験から独学でエンジニアになる方法【スクール通わなくてもOK】
先日、以下のツイートをしました。
僕が独学でエンジニアを目指すなら
ある程度自力で作れるようになるまで2,4を繰り返します
1. progateでひと通り基礎を終わらせる
2. 作りたいポートフォリオを決める
3. MENTAでメンターを探す
4. メンターにサポートしてもらいながらポートフォリオを完成させる
つまり、「自己学習+メンターのサポート」が挫折せずに、独学でエンジニアになるための方法です。
独学を成功させるポイントは、挫折をしない環境をつくることです。
そのために、必要になるのがメンターの存在です。
メンターがいることで、自分だけでは解決できない問題を解決することができますし、
就職活動や案件獲得に関しても、アドバイスやサポートをしてもらえます。
次に、独学でエンジニアになるための具体的な進め方として、独学のロードマップを解説していきます。
未経験からエンジニアになる方法【独学のロードマップ】
独学でエンジニアになるためには以下のようなロードマップを描きます。
個人差はあるとは思いますが、エンジニアを職業にするまでに少なくとも半年〜1年の学習期間が必要になるでしょう。
プログラミング学習サービスでひと通りの基礎を終わらせる
Webエンジニアになるために必要な技術要素は「Progate」で基礎を習得することができます。
※有料会員は月額980円。この値段で習得できるので激安です。
他のプログラミング学習サービスでは「ドットインストール」や「Udemy」がおすすめです。
これらのプログラミング学習サービスを利用して基礎を固めましょう。
基礎学習で大事なのは時間をかけ過ぎないということです。
本質はプログラムでモノを作れるようになることなので、ある程度理解したら次に進みましょう。
実際にモノ作りの場面でわからなくなった時に、その部分だけ見直せば良いです。
基礎学習は、以下の順序で進めます。
- STEP1Command Line
必要最低限のLinuxの基礎学習としてコンピューターをコマンドから操作できるようになりましょう。
- STEP2SQL
データベースを操作するSQLの基礎学習としてデータベースを作成したり、データベースへのデータ挿入・更新・削除を行えるようになりましょう。データベースはひとまずMySQLを選択しておけばOKです。
- STEP3HTML & CSS
Webページを作るためにHTML、CSSを学習します。Webページをインターネットへ公開する手順についても学習しましょう。
- STEP4Javascript / jQuery
ブラウザ(Webページ)で動くプログラムのJavascriptを学習します。Javascriptだけでなく、node.jsを使った環境構築やnpmでのパッケージ管理についても学習しましょう。
- STEP5Ruby or PHP
サーバーで動くプログラムのRubyもしくはPHPのどちらかを学習します。※Progateには「Ruby on Rails」のコースがありますので、Rubyのフレームワークまでを一貫して学習することができますが、PHPに関してはフレームワークのコースがないので、Laravelなどのフレームワークを使った学習はできません。
- STEP6Ruby on Rails or Laravel
実際のモノ作りではフレームワークを使った開発を行いますので学習は必須です。
Progateでも良いですが、おすすめはRuby on Rails チュートリアルです。少し難易度は高いですが、ポートフォリオ作成までの準備としてWebサービスの作り方が習得できるはずです。(バージョンは最新版の6.0を選択することをおすすめします※買い切りで980円+税)
Laravelは、YoutubeやUdemyの動画(買い切り)、Techpitの教材などでも学習ができます。後述しますが、独学しながらMENTAを使ってメンターに不明点を教えてもらいながら進める形もありです。
- STEP7Git
Gitを使ったソースコードのバージョン管理を学習します。特にチーム開発では必須となる技術ですので、プルリクエストを使った開発プロセスについても学習しましょう。
GitHubについても学習したいなら、UdemyのはじめてのGitとGitHubがおすすめです。
- STEP8Docker
Dockerを利用することで、ローカル環境から本番環境まで同一の実行環境を構築することができます。学習は入門 Dockerがおすすめです。
ポートフォリオを作る
スキルアップには、実際に手を動かして「動くモノ」を作ることが効果的です。
ある程度、基礎が身についたら、実際にポートフォリオ(作品)を作っていきます。
※Web系エンジニアへの転職をするならポートフォリオが必要になってきます。
どのようなポートフォリオを作っていいかわからない方は、以下のような一般的なWebシステムの管理画面に搭載されている機能を搭載したアプリケーションを作ってみましょう。
- ログイン
- 一覧表示
- 詳細表示
- 新規作成
- 編集
- 削除
あとは、題材としてアプリケーションで取り扱うデータ(車とか食料とか)を決めるだけなので、何を作るかに関しては、そんなに悩むことはなくなります。
メンターを見つける
オンラインのマッチングサービスの「MENTA」を利用することで、経験豊富なエンジニアと繋がることができ、わからないことはメンターに質問して解消することができます。
未経験から独学で学習されている方の他にも、個人開発で相談ができないフリーランスの方にも需要があります。
サポートの形式やプランはメンターによって異なりますので、自分の学習プランにマッチしたサポートプランを探して気軽にメンターへ相談してみましょう。
「教えたい人」と「学びたい人」のスキルプラットフォーム【MENTA】
チーム開発を経験する
実際の現場では、チームで開発を行います。
チーム開発を経験することで、フロントエンド、バックエンドで役割を分けた開発を体験できたり、Gitを使ったプルリクエストベースのコードレビュー、テスト・デプロイの自動化など、実際の開発プロセスを学ぶことができます。
チーム開発は独学では難しいですが、Wantedlyで募集していたり、企業のインターンやエンジニアのコミュニティに入ることで体験ができます。
Web検索やTwitterを活用して積極的に情報を集めていきましょう。
エンジニアを職業にする【フリーランスになる?企業へ就職する?】
半年から1年、解説してきた内容を取り組んだら働ける程度のスキルは身に付いているはずです。
エンジニアとして働くには、会社員になるのか?フリーランスになるのか?の選択になると思います。
会社員は、自由な時間に働くことはできませんが、ある程度社会的信用が高い状態で働くことができたり、困ったときには同僚に相談ができます。また、仕事がない期間があっても収入はある程度保証されていますので生活は安定します。
フリーランスは、自由な時間に働くなど、自由度が高く働けて収入が増えるケースが多いですが、仕事がなくなった場合に収入がなくなるため、生活は安定しません。
どちらにもメリット・デメリットがありますので、どこに重点を置くかは人それぞれですが、個人的には、案件実績のない状態からフリーランスで働くよりかは、会社員としてエンジニアの経験を積むほうが徐々にスケールできて良いかと思います。
フリーランスとして働きたい方は、「開業freee」を使うと税理士に依頼せずに開業の手続きが無料で簡単に行えます。質問に答えるだけで開業届の作成があっという間に終わります。
開業freee
※完全無料で開業届を作成できます。
また、案件を紹介してくれるエージェントに無料登録をしておきましょう。
おすすめのエージェントはこちらです。
- レバテックフリーランス
- ギークスジョブ
- フォスターフリーランス
- クラウドテック
未経験からエンジニアになる方法【確実性を重視するなら】
もし、プログラミングがまったくの未経験だった昔の僕にアドバイスをするなら、
プログラミングスクールへ通うことを強くすすめます。
理由は投資対効果が高いからです。
お金と引き換えに、確実にこれらの恩恵をうけることができます。
- 実践的なカリキュラムで現場で使うスキルを効率的に習得できる
- 現役のエンジニアが技術習得のサポートをしてくれる
- ポートフォリオ作成のサポートをしてくれる
- 就職先が決まるまでサポートをしてくれる
※プログラミングスクールによってサポート内容は異なりますが、上記の観点を参考にスクールを検討するとよいです。
プログラミングスクールのが受講料が高いと感じる方は多いと思いますが、僕は決してそうは思いません。エンジニアになれば数ヶ月(おそらく1〜2ヶ月)で回収できる金額感ですし、経験・スキルにあわせて年収もアップしていきます。長期的な目線でみると、とても安い投資だと思います。
プログラミングスクール3選【現役エンジニア目線で厳選しました】
おすすめのプログラミングスクールがありますのでご紹介します。
RUNTEQ(ランテック)
スクールの詳細は、RUNTEQ(ランテック)の評判・口コミは?失敗しないスクールを選ぶで解説しています。
テックジム
» 【無料】テックジムの資料請求はこちら
※今なら通常30,000円の入会金が無料です。
スクールの詳細は、「テックジム」の口コミ・評判は?失敗しないスクールを選ぶためにで解説しています。
テックキャンプ
テックキャンプは、エンジニアになるためのスキル習得はもちろんのこと、
毎週のキャリア面談、面接対策や履歴書の添削、企業提案など
就職が決定するまでサポートし続けてくれます。
未経験からエンジニアになる方法【おすすめの書籍】
最後に未経験からエンジニアを目指す方へおすすめの書籍をご紹介します。
学習の支えになってくれる良本ばかりを厳選しましたので、ぜひ活用してみてください。
これからWebをはじめる人のHTML&CSS、JavaScriptのきほんのきほん
これからWebを学習する人には最適な本です。この1冊でHTML, CSS, JavaScript, Ajaxの広範囲をカバーでき、サンプルコード付きで分かりやすく説明されています。
PHPフレームワークLaravel入門 第2版
Laravelのインストールや設計におけるMVCの概念など役に立つ内容がわかりやすく解説されています。これからLaravelをはじめる方におすすめです。※Laravel6系がベースとなっているので情報が多少古いです。
PHPフレームワーク Laravel実践開発
上記の「PHPフレームワークLaravel入門」の後に読んでもらいたい本です。フレームワークの機能を掘り下げて解説してありますので、Laravelを深いところまで学習したい方におすすめです。
Amazon Web Services 基礎からのネットワーク&サーバー構築
AWSの入門として基礎学習をしたい方におすすめです。図やキャプチャを使って非常にわかりやすく解説されています。
リーダブルコード
読みやすく良いコードを書く上で必要なことが詰まっています。初心者から中級者の方におすすめしたい本です。ページ数も多くないので数日でサクッと読めます。私も何度も読み返している良本です。ぜひ読んでもらいたい1冊です。
まとめ:未経験からエンジニアになる方法
今回は、独学というキーワードを主軸に「未経験からエンジニアになる方法」について解説してきました。
結論、Progate などの学習サービスと MENTA などのマッチングサービスを組み合わせることで、挫折を最小限に抑えつつ、プログラミング未経験でもプログラミングスクールに通わずに、独学でエンジニアになることができます。
独学でエンジニアを目指す方は、積極的にこれらのサービスを利用していくことをおすすめします。
自分の未来は自分でしか変えることはできません。
本気でエンジニアになりたい方は、まず一歩を踏み出しましょう。
僕も MENTA でメンターをしています。
メンターをお探しの方は、こちらからメッセージをいただけると幸いです。
「教えたい人」と「学びたい人」のスキルプラットフォーム【MENTA】
【MENTA】hakubaのプロフィールを見る
コメント