近年IT業界の目覚ましい発展により、現在他業界で活躍しているしていてもIT企業で働くこと、そしてプログラマーとして働くことに憧れている人も少なくないことでしょう。
しかし、プログラミングというとやはり難しいイメージを持たれがちで、実務レベルを習得するために膨大な時間を要すると考えてしまい、結局プログラマーとして働くことを諦めてしまっている人も読者の中にいるのではないでしょうか。
私は現在社会人歴3年目で、IT企業に憧れて新卒ではその志望を叶えましたが、そこではプログラミングの機会には恵まれず、プログラミングでシステムを作ってみたいという憧れから2年間勤めた会社をから転職し、プログラマーとして働くキャリアを歩み始めました。
その際にはやはり、プログラミング習得に対するハードルの高さから躊躇していましたが、結果的にはプログラマーとしての転職を果たしました。
プログラマーとして働いているそんな私が主張したいことは、プログラミングの習得は決してハードルが高いことではない!ということです。
そして、就職前のプログラミング学習には最長でも半年あれば十分です!
今回は、皆さんがプログラミングの習得に対して不安に感じている時間に焦点を当て、実務レベルの習得にかかる目安時間と効率的な時間の使い方について紹介していきます。
記事のもくじ
効率化が大事!学習方法別にかかるプログラミング習得時間
まずは、学習方法別にかかるプログラミング習得までの時間について紹介してきます。
もちろん環境や言語によって少なからず異なってくるので、あくまで目安として参考にしていただければと思います。
私は現在Javaというプログラミング言語を中心に使って業務に取り組んでいるので、その視点から紹介していきます。
参考書
まずは参考書のみ使用して独学でプログラミングを習得した場合の所要時間です。
参考書で勉強する場合、多くはまずは読んで基本を理解し、練習問題を解いて理解を深めるという手順になるかと思います。
現在はどの言語の参考書でも豊富な量の参考書があるのでそれによっても差は出てきますが、基本的には1ヶ月で1冊は一通り完了できるでしょう。
しかし、それだけではもちろん不十分で、1つの参考書につき最低でも3周はすることをお勧めしますので、約3ヶ月はかかることになります。
では、どれぐらいで実務レベルかというと、基本的には参考書の練習問題を回答を見ずに実装できるようになれば十分です。
この際、色々な参考書に触れたからといってその分知識量が増えるわけではないので、1冊の参考書を徹底的に理解するようにしてください。
無料サイト
続いては、オンラインサイトを利用したプログラミング習得にかかる時間です。
現在、Web上には多くのプログラミング学習サイトが存在していますが、多くは一部または全サービスを無料で利用することができ、その中でも特に有名なのがドットインストールとProgateではないでしょうか。
ドットインストールはこちら→ https://dotinstall.com/ Progateはこちら→https://prog-8.com/
これらオンライン学習の一番のメリットは、何と言ってもやはりアクティブラーニングという点です。
オンライン学習を利用した場合、実際にコードを書くことで理解を深めるというサービスの前提があり、コンテンツもより詳しくさらにわかりやすいため、アクティブラーニングには最適です。
なぜアクティブラーニングが有効かというと、プログラミング学習にとっては圧倒的に効率がよく、それにより習得までにかかる時間も早いからです。
オンラインサイトでは、どの言語でもたいていの場合一つの単元に対して10分以内の所要時間となっています。
そのため、一つの言語の全単元を一通りするのに集中して取り組めば2週間ぐらいで終えられるかと思います。
参考書での学習と同様何周もして理解を深める必要はあるので、所感ではありますが基礎部分をマスターするのに2ヶ月集中して学習すれば十分でしょう。
プログラミングスクール
プログラミングスクールでの習得は金銭的に少しコストがかかりますが、最短で1ヶ月での習得が可能です。
私は現在の会社に就職する前にJavaのプログラミングスクールに1ヶ月間通っていました。
多くのプログラミングスクールには1ヶ月コースから半年コースまで多様なサービスが存在しており、自分に合ったコースを選択することがあります。
また、働きながらプログラミングを学びたいという人に向けた夜間コースも開催しているスクールも存在します。
一般的にプログラミングスクールではそれぞれのスクールが独自で用意したオンラインコンテンツを進めるカリキュラムで、こちらもアクティブラーニングとなっています。
プログラミングスクールではコースごとに講師がスケジュールを立てているので、確実かつ効率的に最後までしっかりと学習できることがメリットです。
しかし、1ヶ月コースはとてもタイトなスケジュールとなっており、復習の確保を確保しずらいという難点がありましたので、個人的には2ヶ月や3ヶ月コースでじっくりと確実にスキルを身につけた方がいいかと思います。
効率的なプログラミング習得方法
プログラマーとしてすぐに就職したいなら参考書+サイト
ここまで各学習方法でかかる所要時間の目安を紹介しましたが、少しでも早くプログラマーとして就職したいと考えている方には参考書とオンラインサイトを利用した学習方法をおすすめします。
こちらは独学で学習を進めることになりますので、学習する言語やスケジュールの立て方によっては1ヶ月でも一定レベルの習得は可能です。
この両方を駆使した学習方法では、できるだけオンラインサイトでのアクティブラーニングに時間をかけることが最短での習得に大きく関わります。
参考書は理解を深めたりわからないところを解決するツールとして使用すると使いやすいかもしれません。
しかし、最短1ヶ月といっても毎日取り組む時間やプログラミング言語の難易度などで所要時間は大きく変わってきますのでご注意ください。
確実にプログラミングスキルを習得してから就職したいならプログラミングスクール
確実にプログラミングスキルを身につけてから就職したいならプログラミングスクールでの学習をおすすめします。
スクールでのコンテンツは一見すると自宅で無料サイトを利用するのと変わりがないように感じるかもしれませんが、一番のメリットは、わからないところを講師に解説してもらえるところです。
プログラミング学習は進めれば進めるほどになぜ期待通りの動作が行われないかわからない、という事象に度々直面し、独学で勉強しているとその問題にどうしても解決できず結果的に挫折につながったり、多くの時間を費やしたりしてしまいますが、スクールではすぐに講師に聞けるのでとても効率的です。
また、前述したようにコースによってスケジュールが事前に決められているので、その通りに進めれば実務で通用するスキルを十分に習得できます。
さらに、スクールの講師にはプログラマー出身の人も多いため、講師の経験に基づいたより実践的なスキルやちょっとしたコツなども聞くことができますので、スクールのカリキュラムを卒業するころには自信をもって実務に臨められるようになっているでしょう。
プログラミングを効率的に習得するための時間の使い方
ここまではプログラミング学習にかかる時間とおすすめの学習方法を紹介してきましたが、次にプログラミング学習を進める中での意識するべき時間の使い方について紹介していきます。
プログラミング習得にかかる時間を見える化したスケュール計画こそ肝心!
当たり前のことにはなりますが、プログラミング学習を効率的に進めていく中で、スケジュールをしっかりと立てて学習を進めることが最も重要となります。
このスケジュールというのは、学習のゴールまでのスケジュールはもちろんのこと、毎日の学習のスケジュールのことも指します。
このスケジュールを立てるときに意識しておくと良いことは、毎日や毎週、毎月といった節目でどのようなスキルをマスターしているかという理想の自分を描くことです。
これを具体的にイメージすることで、日々のマイルストーンを的確に置くことができ、時間ロスのない効率的な学習につながります。
毎日コツコツとプログラミングを勉強する時間を作る
続いても当たり前ながらとても重要なことですが、プログラミング学習は特に毎日コツコツ勉強することが大切です。
その理由は、プログラミングはスキルの習得であり、学習というよりは練習であるからです。
スキルを向上させるには少なからずの練習は必須となり、まさに毎日の積み重ねで伸ばすことができるものです。
しかし最初は当然なれないことであり、さらにプログラミングの取っつきにくさから挫折しやすいことが正直ですが、だからこそ挫折しないように練習を習慣化させましょう。
毎日1時間でも問題ないです。
毎日1行でも多くコードを書くその習慣が、間違いなくスキルの向上につながります。
飽きないプログラミング学習方法と時間配分
先ほども少し触れましたが、プログラミング学習は正直挫折しやすく、結果飽きてしまい続かないことが特徴ともいえます。
その理由の一つが、期待通りに実装が動作しないその原因が突き止められず、身動きできなくなってしまうことにあります。
これは、プログラマーになるためには避けては通れない壁ですが、そのようなときに意識したら良いことは、インプットに専念することです。
この記事では基本的にはアウトプットの重要性を強くお伝えしてきましたが、それを意識しすぎてしまうと問題に直面した時に思うようにスケジュールが進まずに焦ってしまいます。
したがって、例えば週に一度などと時間を決めて、その日は参考書からインプットするだけと決めることも有効な時間配分となりますので参考にしてみてください。
まとめ:プログラミングの習得は時間をかけず効率的に
今回は、プログラミング学習にかかる時間の目安と時間の効率的な使い方について紹介してきました。
正直当たり前なことも書いてはいますが、この当たり前を実践することが難しいのです。
そして最後に伝えたいことは、プログラミング学習で一番効果的なのは何よりも実務経験なので、ある程度のレベルが伴ったと思ったら就職に向けて行動した方が良い!ということです。
実務に臨むのに自信がないからと言って1年も勉強するのは正直もったいないですし、自分で勉強するにも限界があります。
プログラミング学習に不安があるなら先述したプログラミングスクールに通うことがおすすめです。
この記事が、読者がプログラミングに取り組むにあたっての手助けになれば幸いです。