Webエンジニアになりたいプログラミング学習者の多くは、学習方法がわからず悩んでいるように思います。
「今の学習方法で本当にWebエンジニアになれるのか?」
もし、独学でこのような疑問を持っているのであれば、おそらくあなたはWebエンジニアになるまで学習を続けることは難しいでしょう。
どこまで学習するとWebエンジニアになれるかわからない状態は、ゴールのないマラソンを走るようなものです。トップランナーでさえゴールがわからなければマラソンを走り切ることができません。
そこで今回は、独学でwebエンジニアになるために必要なレベル感と学習方法、また、達成までに必要な時間をまとめました。
ちなみに僕は、実務未経験から現役のwebエンジニアとして仕事をしており、エンジニア以外にも採用活動やプログラミング講師などの経験もあります。それでは見ていきましょう。
独学でWebエンジニアになるまでに必要な時間は300時間
結論からお話すると、独学でWebエンジニアになるために必要な時間は最低300時間です。
なぜ300時間必要かとお話すると、全くの初心者がプログラミングやコンピュータの概念を理解するのに慣れる時間が必要なためです。
したがって、もし3ヶ月後にWebエンジニアの転職を目指すのであれば1ヶ月あたり100時間なので、
- 平日・・・1.5時間
- 土日・・・8時間
の勉強時間が必要な計算になります。
各プログラミングスクールの学習時間も約300時間
学習時間の300時間という時間が未だに腑に落ちない方もいるかもしれません。
しかし、各プログラミングスクールも転職までに最低300時間の学習時間を設定しています。
とはいえ、
- プログラミングスクールが設定しているからといって自分も300時間かかるとは限らない
- もっと効率よく学習すれば、より短時間でwebエンジニアを目指せるのでは?
このように思われるかもしれません。
しかし、プログラミングスクールには
- 数多くの受講生を教えたノウハウ
- わからないときエラーが発生したときに教えてくれるメンター
- Webエンジニアに適したカリキュラム
といった「わからない箇所を徹底的に排除する」仕組みが作られています。
そのような仕組みより、初学者の勉強の方が効率よく済むというのは考えにくいです。なので、やはり勉強時間は300時間程度は必要と言えるでしょう。
独学でWebエンジニアになるために最低限必要なレベル感
続いて独学でwebエンジニアになろうと考えるなら、ほとんどの確率でポートフォリオが必要になります。
なぜなら、独学で勉強していると客観的に見たときにスキルレベルが測れないためです。
実際の制作物を通して、あなたのスキルレベルの高さを知ってもらわなければなりませんし、企業としても「この人が本当に会社で活躍できるのか」を見ておかなければなりません。
では、どれくらいのレベル感の制作物を作ればいいのでしょうか。
望ましいレベル感はデータベースを使った簡単なオリジナルアプリ
結論からお話すると「データベースを使って簡単なオリジナルアプリ」を作れば、採用される可能性が出てくるかなという印象です。
ハードルが高いように思われるかもしれませんが、自社開発のWeb系会社で考えるとこれが最低ラインです。
上記のポートフォリオを出してやっと「採用の確率は五分五分くらい」という感覚です。
これに加えてログイン機能やお問い合わせフォーム機能、セキュリティ(XSSやCSRF)などにも気を配ることができれば独学であれば満点のポートフォリオと言えるでしょう。
とは言いつつ、完全にゼロベースでこれらのアプリを作ることは簡単ではありません。現実的には、Rails Tutorialなどで作成したアプリに機能追加をしたり、作り変えたりする方法が良いのではないかと感じます。
アプリを作った理由を考えておくと採用確率アップ!
先程、「上記のポートフォリオを出して採用の確率は五分五分」というお話をしました。
では、採用担当者が見ている中で、その他に大きな要素を占めている要素としては「その人の思考力」が見られます。
優秀なエンジニアが多数いることで有名な、は○なでも「なぜそうしたのか?」ということを面接でかなり聞かれました。
自分が働いている会社の採用基準としても言えるのですが、ポートフォリオが出てくると
- なぜそのサービスを作ったのか
- そのサービスを作ったことによってあなたは何を学んだのか
- そのサービスには現状どのような問題があってどう解決すればいいのか
etcetc…
といったことをほぼ100%の可能性で聞きます。
Webエンジニアになるために自分でシステムを作ることも大事ですが、同じくらい「なぜそれを作ったのか?」という理由を考えておくとさらにWebエンジニアとして採用される確率が上がるでしょう。
独学でWebエンジニアになるステップ
独学でWebエンジニアになるために必要なステップとしては、
- Progateで学習
- Rails Tutorialを2周
- Rails Tutorialの機能追加
- オリジナルアプリの作成
です。
Progateでプログラミングに慣れる
プログラミングの学習方法で最も簡単かつ効果的な方法としては「写経する」ことです。
写経とは、プログラムを書き写して学習する方法です。
特にプログラミング初心者は「右も左もわからない」状態なので、
写経して実行 → 結果が表示される → 自分が書いたコードの意味を学習
といった作業を繰り返すことで「プログラミングへの慣れ」や「自分が書いたコードの理解」をする上で最適な方法と言えます。
なお、写経のやり方は以下の記事で詳しく紹介しています。
» Webサイトの写経のやり方とレベル別のステップアップ方法を解説します
Progateは写経とかなり似た学習ステップを踏んでおり、初心者が慣れる上では最良のサービスと言えます。
まずはProgateで「HTML」「CSS」「JavaScript」「Ruby」「Ruby on Rails」の5つのコースを全てやりきってしまいましょう。
Rails Tutorialで小規模のアプリケーションを作る
続いて、完全初心者を脱したレベルではRails Tutorialの学習がおすすめです。
Rails TutorialはRuby on Railsというフレームワークを用いてTwitterに似たサイトを作ります。
正直、Progateを終えたばかりの人にとってはレベルがグンと上がります。
なので、1周目はとにかくわからなくても終わらせることだけを考えて進め、2周目にそれぞれの項目がどういった意味を持つのか理解しながら進めるのが良いでしょう。
Progateでは「プログラミングに慣れること」を目的として学習するといいですが、Rails Tutorialでは
- それぞれのファイルがどんな役割を果たしているのか
- データベースとは何をするものなのか
- Gitなど開発に必要なツール
といった、実際の業務で使える基礎スキルを固めることを目的として学習すると、よりプログラミングの理解が深まるのではないでしょうか。
Rails Tutorial機能追加&オリジナルアプリ作成
最後に上記で作ったRails TutorialのTwitterアプリへの機能追加とオリジナルアプリの作成です。
オリジナルアプリの題材で悩まれるかもしれませんが、
- Yahoo知恵袋のような質問サイト
- マッチングアプリ
- 特定コミュニティのSNS
など正直なんでも構いません。ただ、自分の生活や経験に関連するサービスであれば、より採用面接の際に話しやすくなるメリットがあるでしょう。
ただし、ここからの課題は答えがないため、これまでの課題よりも難易度が上がります。Webエンジニアになる最後のステップだと思って諦めずにやりきりましょう。
確実にwebエンジニアを目指す人へ
ここまで独学でできた人は、相当レベルが高いです。しかし、これらの学習を踏まえてもWebエンジニアに確実になれるとは言い切れません。
やはり、実務未経験は難しいと判断される場合もありますし、ここまでの学習でも即戦力で活躍できるわけではないためです。
自分は確実にWebエンジニアになりたい、もしくはさらにレベルアップして即戦力で採用されたいと考える方は、ポテパンキャンプを利用するのも良い手段と言えます。
Webエンジニアに転職保証付きのポテパンキャンプ
ポテパンキャンプとは、プログラミングスクールの1つですが、その特徴はwebエンジニアになりたい人に向けた選抜コースがあるという点です。
応募条件でRails Tutorialを学習済みの方という時点でなかなかハードルが高いですが、応募者の中からも適正を見て受講者はさらに厳選されるようです。
キャリアコースを卒業すればRubyをメインとした自社開発のweb系企業を紹介してくれますし、ポテパンキャンプを通して転職すれば全額返金というサポートも充実しています。数あるプログラミングスクールの中でも、最もレベルが高いので、さらに上を目指したい方にはおすすめします。
ポテパンキャンプについては、以下の記事で詳しく紹介しています。
まとめ
ここまでの記事をまとめます。
- 独学でWebエンジニアになるまでの学習時間は最低300時間
- Webエンジニアになるためにはポートフォリオを用意する
- ポートフォリオのレベル感はオリジナルアプリを作るくらい
- さらに上を目指す人はポテパンキャンプを利用しよう
独学でWebエンジニアになるのは、正直簡単ではありません。
しかし、この記事で紹介したステップを踏むことでwebエンジニアになるために必要なレベル感や勉強方法もわかっていただけたと思います。
また、よりリアルなエンジニアの声を聞きたいという方はポテパンキャンプなどのプログラミングスクールを利用するのも良い手段だと思われるので、話を聞きにいってみるのもいいですね。