「未経験からプログラミングを学ぶには、どれくらいの学習時間が必要なのだろう」
「独学でプログラミングを習得できるだろうか」
今の職種からエンジニアへの転身を図ろうと思ったものの、こうした不安から躊躇してしまう人は非常に多いです。
そこでこの記事では、以下について解説していきます。
- 未経験からプログラミングを習得するための学習時間の目安
- 勉強を続けるためのコツ
- 具体的なプログラミングの学習方法
- 独学のみでプログラミングを習得できるか?
プログラミングの学習時間は1000時間が目安
未経験からプログラミングの学習を開始した場合、学ぶ言語や個人の能力によって変わってくるものの、基礎の理解に300時間、実務レベルを習得するまでに1,000時間以上必要といわれています。
特に、現場で通用するエンジニアになるには、1000時間以上勉強する必要があります。
なぜ1000時間も必要なのか
「1000時間はいくら何でも長すぎるんじゃ・・・」
数字だけ見てしまうと、思わずこう考えてしまう方もいらっしゃるでしょう。
しかし、人生を変えるための時間だと考えれば、決して長い時間ではありません。
人生を懸けた勉強といえば「受験」や「資格取得」の勉強ですが、これらの学習時間は大体以下のような目安となっています。
■私立大学 : 2000時間以上
■国立大学 : 3000時間以上
■税理士 : 3000時間
■司法書士 : 3000時間
■中小企業診断士 : 1000時間
このように、人生を懸けた勉強には時間がかかるものです。
なお、エンジニアになるための学習時間として300時間や500時間でも充分だと説明しているサイトやスクールもありますが、未経験からWeb系エンジニアになるのは厳しいでしょう。
未経験ですと、就職先がSES系企業になることが多いです。
SESとは、SI業界での4次請けや5次請けといった企業のこと。
客先常駐といって、大手企業のオフィスで派遣エンジニアとして働く労働形態になることが一般的です。
職場に合った服装を求められ、スーツを着用して働くことも多いです。
案件によっては開発経験を全く積めず、スキルアップを実感できないこともあります。
そのため、Webエンジニアのような、働き方の自由度が高く、新しい技術をキャッチアップしながら成長できる将来性ある職種を目指すなら、最低1000時間の学習時間を確保しましょう。
勉強のペース
プログラミング学習を始める場合、いきなり仕事を辞めて勉強にコミットするのではなく、まずは働きながら並行して勉強することをおすすめします。
勉強を始めてはみたものの、すぐに心が折れてしまうということもあるからです。
その場合、ただ仕事を失っただけになってしまいますので、仕事は続けておくべきでしょう。
では、働きながら1000時間もの学習をするにはどうすればよいのでしょうか?
例えば、平日10時から20時まで仕事をして21時に帰宅する、という人の場合で考えてみましょう。
まず平日の場合は、2時間程度の学習時間が確保できれば充分です。
これくらいの時間でしたら、やり繰りすればどうとでもなることが多いはずです。
「仕事を終えて帰宅してから2時間も勉強する気力など湧かない」という場合は、勉強時間を刻めばOKです。
夜にまとめてやらなければならないわけではありませんので、早朝に起きて1時間、寝る前に1時間、という形でもまったく問題ありません。
そして休日ならば、最低でも8時間は勉強できるはずです。
となりますと、30日間で月に8日休みがあるとした場合、
■平日 : 2時間 × 22日 = 44時間
■休日 : 8時間 × 8日 = 64時間
・・・となり、合計で月に108時間の学習時間を確保することができます。
このペースで勉強を続けられれば、9か月ほどで1000時間に到達する計算となります。
ブーストしたい方は、後半からは仕事を辞めて勉強にコミットする、という方法も有効です。
1000時間の学習を達成するためのコツ
エンジニアになるための1000時間にも渡る勉強は、生半可な気持ちではやり遂げられません。
最後までまっとうするために、是非以下のようなことを実践してみてください。
周囲に公言する
親や友人などに「本気でエンジニアを目指す!そのためにプログラミングの勉強を〇月から始める」と宣言したり、ブログをやっている方ならばブログ上で告知したりするのもおすすめです。
誰にも言わずに始めたら、いつの間にかやめても誰にも何も言われないため、勉強したくないときや誘惑に負けそうなときに思い留まることが難しいです。しかし、一度公言してしまったことはやめにくいものです。
本気でエンジニアを目指すなら、こうして自分を追い込んでみるのもひとつの方法です。
スキマ時間を活用する
- 通勤中
- 会社の昼休み
- 入浴中
誰しも、こういう時間があるのではないでしょうか。
このような時間はスマホでSNSやゲームをしているとあっという間に過ぎてしまいます。
しかし、このスキマ時間を活かすことで、勉強を効率的に進めることができます。
通勤時にYouTubeでプログラミング関連の動画を探してイヤホンで聞く、入浴中は学習内容を頭の中で整理する、などです。
スキマ時間を有効活用して勉強に充てることで、プログラミング学習を習慣化でき、数か月後には大きな成果を結ぶことでしょう。
時間の断捨離を行う
上記は空き時間や無駄な時間の活用についてでしたが、それだけでなく、時間の断捨離をして大幅な学習時間の確保に動くことも重要です。
例えば、帰宅してから1~2時間程度晩酌する人ならば、その時間をそっくりプログラミングの学習時間に置き換える、といったような形です。
仕事の疲れを癒すための晩酌の時間がなくなるのは厳しいものですが、何も永遠に断つわけではありません。
長くても1年弱、集中的に行えば半年程度で1000時間の勉強が完了するのです。
「今だけの我慢だ」と割り切り、目標に向かって集中的にプログラミングの習得に取り組むべきです。
最初から無理をしすぎない
時間の断捨離と逆説的ではありますが、何も最初からすべてを断って勉強だけに打ち込むことはありません。
最初の段階で大事なのは「コツコツと継続していくこと」です。
ただでさえ未知の領域を学ぶということでストレスが大きいのに、その上、好きなこともいきなり全部捨てて勉強だけに身を投じるというのはなかなかできることではありません。
従って、まずはできる範囲で勉強を開始し、徐々に、平日は2時間、休日は8時間という勉強時間を確保できるようになることを目標にしましょう。
プログラミング言語別の基礎習得にかかる目安時間
エンジニアとしての就職を目指せるレベルの学習時間の目安は1,000時間だとお伝えしてきましたが、では基礎をマスターするまでの習得時間の目安はどれくらいなのでしょうか?
以下にて、Webエンジニアに好まれる言語を抜粋して掲載します。
言語 | 基礎スキルの習得時間 |
Ruby | 約300時間 |
PHP | 約165時間〜280時間 |
Python | 約200時間〜300時間 |
Java | 約400時間〜500時間 |
PHPは比較的早い基礎習得が可能で、RubyとPythonが同程度の難易度、Javaがやや難しい、といった形です。
ただし、これらはあくまで目安であり、個人差や学習スタイルによって大きく変動します。
プログラミングの学習方法
未経験からプログラミングを学ぶためのロードマップについて解説していきます。
学ぶ言語を決める
まずは言語の選択からです。
どのような言語を選んでも問題ありませんが、IT業界で最も勢いのある「Web系の言語」を選択するのがおすすめです。
主なWeb系の言語は以下の通りです。
言語 | 分類 | 難易度 |
HTMLやCSS | マークアップ言語 | ★☆☆ (易しい) |
RubyやPHP | スクリプト言語 | ★★☆ (普通) |
Java | コンパイラ言語 | ★★★ (難しい) |
HTMLやCSSはプログラミング言語とは少し違うので、せっかく学ぶのならば、開発現場で多く採用されているRubyかPHPかJavaあたりを選ぶのが一般的です。
Progateを活用する
Web系の開発言語を学ぶならば、まずは「Progate」というオンライン学習サービスを利用するのがベストです。
Progateとは、元東大生たちが作り上げたプログラミング初心者向けのサービスで、100か国以上の国で提供されており、ユーザー数は200万人を超えています。
エンジニアを目指す初心者の多くが、まず最初に利用する学習サイトとなっています。
無料版と有料版がありますが、本気で学ぶつもりならば迷わず有料版を選択すべきです。
教材内容としては、とにかく初心者目線で作成されているため取っ付きやすく、最初の教材としてはうってつけです。
Progateでの学習から入って、いきなり心が折れてしまうというケースはあまりないでしょう。
ただし、Progateは「プログラミングの大枠を掴む」という点では優れているのですが、専門的な知識やスキルが身に付くというところまでは辿り着かないので、あくまで学習の第一段階と捉えておくべきです。
サンプルコードの写経
プログラミングの基礎について学んだ後は、サンプルコードの写経(模写)をひたすら繰り返していきます。
「ただ写すだけの行為に意味なんてあるの?」
そう感じる方もいらっしゃると思われますが、写経には以下のようなメリットがあります。
- 繰り返し同じプログラムを書くことで基本的な文法が自然と身に付く
- 写しただけとはいえ、自分が書いたプログラムが動くことで自信に繋がる
- デバッグスキルを学べる
ただ写すだけとはいえ、最初のうちは高確率でタイプミスが発生します。
その際、どこでミスをしたのかというデバッグ作業が必要となるのですが、勉強段階でデバッグ作業に慣れておくことで、エンジニアにとって必須であるデバッグスキルも身に付いていきます。
言語に応じた教材を選んで知識を深める
プログラミングの基礎について学んだ後は、より高度な教材を言語に応じて選び、知識を深めていきます。
例えばRubyならば、「Ruby on Railsチュートリアル」というRubyに特化した学習サイトが存在します。
こちらのチュートリアルをしっかりやりきれば、Rubyに関する知識やスキルはかなり向上することが期待できます。
このように、言語に特化した学習サイトもありますし、幅広く網羅している高度な学習サイトもありますので、そういったサイトを利用しながらスキルを高めていってください。
自作のサービスやアプリを作る
最後に、これまで学んできた知識やスキルを総動員させて、渾身のサービスやアプリの作成に取り掛かります。
ここで作成したサービスやアプリは、就職活動時のポートフォリオとして使うレベルのクオリティを目指してください。
採用担当者は、学歴や資格よりもポートフォリオを重要視します。
なお、どのようなサービスやアプリを作っていいかわからないという場合は、以下の記事を参考にしてみてください。
プログラミングは独学での学習が可能?
プログラミングを学ぼうとした際、ほとんどの方が「独学でいくか、スクールを利用するか」という問題にぶつかります。
そこで、独学のメリットとデメリット、独学のみでエンジニアレベルのプログラミングの習得が可能なのかについて解説していきます。
独学のメリット
最大のメリットは、「費用が抑えられる」という点です。
というより、メリットは費用面のみと言っても過言ではありません。
独学ならば、ネット上の無料学習サイトを使ったり、安い有料サイトを活用したり、質問サイトを駆使したり、書籍を購入したりといった形で、必要最低限の費用で勉強を進めることができます。
また、自分のペースで自由に勉強を進めることが可能という点も一応メリットではありますが、これをメリットと取るかデメリットと取るかは人それぞれなので難しいところです。
独学のデメリット
メリットに対して、デメリットとしては以下のようなものがあります。
- モチベーションの維持が難しい
- 難しい問題にぶつかってしまった時に乗り越えられない
- 勉強のペースが遅れがちになる
個別に見ていきます。
モチベーションの維持が難しい
未経験からプログラミングの勉強を始める際は、わからないことだらけです。
何をどうしていいのかもわからない状態で、心が折れることなく勉強を続けるというのは尋常な事ではありません。
また、無事にある程度勉強が進んだとしても、要所要所で躓いてしまう部分が出てきてしまいます。
そんな時に、勉強開始当初のモチベーションを維持したまま続けられる人は、残念ながらあまり多くはありません。
難しい問題にぶつかってしまった時に乗り越えられない
誰でも、個人の力では「ここまでが限界」というラインがあります。
ある程度知見のあることならばまだしも、未経験のジャンルの勉強を進める中で、何をどうやってもクリアできない問題とぶつかった時は、多くの方がやる気を失ってしまいます。
勉強のペースが遅れがちになる
メリットのところで触れた「自分のペースで勉強を進められる」という点についてですが、逆に言えば、いくらでも勉強のペースを落とせるということにもなってしまいます。
独学の場合、よほど自己管理能力が高くなければ、大抵の場合は想定していたスケジュールよりも遅れることになってしまいます。
独学のみでプログラミングを身に付けるのは困難
以上のように、独学にはデメリットが多い上、そもそも勉強をやり切ることが困難です。
自己管理能力が高く、強いメンタルを持っている人ならば独学のみでも1000時間の勉強をやり通せるかもしれませんが、よほどの自信がない限りは独学のみで勉強を進めるのは避けた方がよいかと思います。
なお、前述した通り、プログラミングの基礎であれば300時間程度の学習でも習得可能です。
しかし、Webエンジニアのような、働き方の自由度が高く、新しい技術をキャッチアップしながら成長できる、将来性ある職種を目指すなら、最低でも1000時間程度の勉強が必要です。
効果的なプログラミング学習ならばスクールの利用がおすすめ
上記の独学のデメリットをすべて補えるのが、スクールの利用です。
- エンジニアを目指す仲間がいるのでモチベーションを維持しやすい
- 難題にぶつかっても講師に相談できる
- 勉強のペースが管理されるためスケジュール通りに進められる
- 就職時にアピールできる
プログラミングの勉強を効率的に進めていくためには、やはり独学のみでは厳しいと言わざるを得ません。
少しでも早いエンジニア就職を目指す場合は、スクールの利用を検討するのも一つの手段です。
RUNTEQでは、開発現場が求めるレベルに到達できるWebエンジニアを養成するためのカリキュラムを組んでおります。
受講生からは、時に「厳しい」「難しい」という声が上がりますが、その分最後までやり通した時の恩恵は高く、転職成功者のWeb系開発企業の内定率は98%となっております。
もし「独学でやり切るのは難しい」と感じた場合は、是非RUNTEQの無料相談会にお越しください。