小学校でプログラミングが必修化され、AIやIoTなどの新しい産業の台頭により注目を集めているプログラミングですが、プログラミングが「できるよ!」と言えるようになるにはどれくらいの期間が必要になるのでしょうか?
そこで、ここでは「プログラミングという名前くらいは知ってる」という方が「自分でプログラムを書いて、分からない点は自分で調べられる」人になるまでにかかる期間を、いくつかのパターンに応じて解説します。
これからの時代、プログラミングができることは転職や業務自動化の点で非常に有利です。一度時間をとって覚えてみましょう。
目次
そもそも「プログラミングができる!」とは一体何か?
「プログラミングを覚えた」「プログラミングができる」とは、果たして一体どういった状況なんでしょうか?
私は普段ITエンジニアとしてソースコードと向き合っていますが、私自身は「プログラミングができる」人間です(当たり前なんですが…)。
しかし、例えばPythonでprint(“Hello World!”)で文字を出力できるだけしかできないのなら、まだプログラミングができる!とは強く言えないような気もします。
この定量化されていない曖昧な感覚をまずは定義する必要があるんですね。
これは人によってマチマチだとは思いますが、このページでは次のように定義します。
1つのプログラミング言語で一通り基礎を覚え、分からない点があれば自分で調べて解決できる。
PythonでもPHPでもJavaでも構いませんが、何か1つの言語を使って文字の出力や分岐や繰り返し、配列などのデータ構造を一通り覚えた上で、かつ分からない点があればGoogleや本を使って自分で調べてある程度解決できるのが「プログラミングを習得した」と言えるレベルだと思います。
プログラミングの世界は日進月歩で、日々新しい技術がわんさか出てくるので、全てのことを覚えることは不可能です。なので「調べる力」というのも結構重要です。
基礎はpaizaラーニングやProgate、またはその言語の書籍を1冊通してやるくらいで十分です。構文を忘れてしまうこともありますが、その都度調べながらコーディングできれば問題ありません。
もちろん、早く、かつ綺麗にプログラムを組めるのが一番ですが、それはまた別の話です。
プログラミングの習得期間は?
では「1つのプログラミング言語で一通り基礎を覚え、分からない点があれば自分で調べて解決できる」ようになるにはどれくらいの期間が必要なのでしょうか?
ここでは色々な角度からプログラミングの習得期間を考えてみましょう。
ズバリ!習得にはどれくらいの時間が必要?
プログラミング言語を習得できるようになるまでは、大体200〜250時間ほど必要と言われています。
もちろんあくまで目安ですので、これより早くできるようになる方もいますし、逆にしっかりと基礎を理解するためにゆっくり覚えていく方もいます(私はゆっくり派でした)。
ちなみに200〜250時間という数字は、平日5日の内3時間、土日で5時間ほど学習に充てるとすると、大体6か月半くらいで習得できる計算になります。
ただし、これはあくまでプログラミングを独学で覚える場合の時間です。プログラミングスクールや現役エンジニアをメンターにする場合はもっと早く覚えられるでしょう。
プログラミングスクールを活用したらどれくらいの期間で習得できる?
プログラミングスクールを活用したら、独学で覚えるよりも早く、かつ正確にプログラミング技術を習得できます。
各スクールのカリキュラムにもよりますが、例えばTechAcademyのPython講座の8週間コースであれば、大体80〜160時間程度で一通りの基礎を習得できます。
https://techacademy.jp/python-bootcamp
現役エンジニアがメンターとして付いてくれるので、分からない点をすぐに解決できるメリットがあります。「それじゃあ調べる力がつかないのではないか?」と思うかもしれませんが、プログラミングのやり始めは調べる力よりも基礎を覚える方が重要です。正直調べる力は「自分が作りたいと思うものを見つけたら」いやでも伸びます。
文系と理系で習得期間は異なる?
個人的にはそう思いません。文系も理系もそれぞれ独自の強みを持っており、その両方がプログラミングでは必要になります。
そもそも「プログラミング言語は言葉」なので、以外と文系の方のほうが言語そのものの理解は早かったりします。しかし、分岐や繰り返し、データの構造などを頭の中で思い描く能力が高いのは理系の方かなと思います。
言語を理解する力と構造を組み立てる力、このどちらも必要なので、文系と理系両方の能力が必要とされます。
プログラミングで実務レベルのスキルを習得するのに必要な期間は?
ITエンジニアに転職したい方であれば、実務レベルで通用するスキルを習得するのに必要な期間も気になりますよね。
例えばwebエンジニアとして実務レベルのプログラミング技術を習得するには、大体1年ほどかかると思われます。
独学であれば、基礎を覚えるのに半年、さらにプログラミングで実際にものづくりするのにまた半年ほどかかります
webエンジニアの仕事は主にwebサービスの開発や保守(すでにリリースされているサービスの改修作業)なので、実務レベルのスキルを覚えるためには一度webサービスを自分で作ってみる必要があります。
自分で作ると基礎レベルでは見えてこなかった「プログラミングの難しさ」が現れます。たとえば機能をどう分割するか、長いソースコードをどうやって見やすくするかなど。
webエンジニアに限らずですが、転職活動時はポートフォリオを充実させておくと有利になります。せっかくプログラミングを覚えるんですから、何か1つ作ってみると良いでしょう。
プログラミングを習得するには「習慣」が最も大事
これは口を酸っぱくして言いたいことなんですが、プログラミングを習得するためには「プログラミングをする習慣」が必要で、一番大事なことです。
プログラミングは英語に似ているところがあって、少し使わない期間があるとすぐに構文とか書き方を忘れてしまうんですよね。
また反対に、初心者の方でこれからプログラミングを始めようと考えているのであれば、今モチベーションはすごく高いはずです。
ここで注意しなければならないのは「燃え尽き症候群」です。
燃え尽き症候群に陥ると、例えば本を買って最初から最後まで通して、それで満足してしまうといったことが起こりえます。
燃え尽き症候群はモチベーションに任せて短期間で何かを覚えよう、習得しようと考えたときに一番起こりやすいです。
なので、習得期間は短ければ良いという訳ではないという点をしっかりと覚えておいてくださいね。むしろ無理ないペースで少しずつ、疑問を持ったらとことん掘り下げたり、覚えたスキルで何か自分でコードを書いてみたりといった「寄り道」をした方が、楽しくプログラミングを覚えられます。
ちなみに筆者は「サイコロを10個投げて、全て1が出るまでの投げた回数を表示する」というプログラムを作ったのが最初の寄り道でした。覚えたことで自分なりに考えて作れたのが嬉しくて、高揚感があったのを覚えています。
プログラミングを習得するための教材
最後にプログラミングの基礎を習得できる教材をご紹介します。
しっかりとプログラミングを習得したい場合はプログラミングスクールを活用するのが一番ですが、スクールを活用する前の事前練習として、下記教材を一つ選んで挑戦してみると良いかもしれません。
paizaラーニング
初心者が最もつまずきやすい「プログラミング環境の構築」を最初から用意してくれているプログラミング学習サイトです。
1回3分くらいの動画でPython、PHP、Javaなどの人気のあるプログラミング言語を学べるので、忙しい社会人でもスキマ時間で学べます。
Python基礎コースだと3分の動画が85本あるので、4時間分以上の動画が無料で視聴でき、それぞれの動画の後に問題が付いているので、大体1本あたり10分程度で終わるボリュームです。
基礎を覚え終わった後は「プログラミングスキルチェック」で腕試しもできます。本当に覚えているのか確認できるのは嬉しいですね。
?「プログラミングを学びたい方におすすめ!paizaラーニングの魅力とは? – WebHack」
Progate
イラスト中心のスライドでゆるく、しかし本格的にプログラミングが学べる学習サイトです。
こちらも1つのスライドを読み終わった後に演習問題が用意されているので、基礎を覚えているかどうか判断するのに役立ちます。
PythonやPHP、JavaやRubyなど有名どころの言語は抑えており、特にRubyでWebアプリを作る際に非常に役立つRuby on Railsというフレームワークに非常に力を入れています。
無料でも使えますが、しっかりと学びたい場合は月額980円のサブスクプションを定期購読する必要があります。とはいえ個人的な感想では「この内容が月980円で使えるのか…」と驚愕しました。
初心者の方がプログラミングの基礎を習得するなら、Progateだけである程度完結できてしまうだけのコンテンツ量がありますので、ぜひ試してみてください。
?「プログラミングスキルを身につけて副業に活かす、Progateの紹介 – WebHack」
何のためにプログラミングを覚えるのか
ここまでプログラミングの習得期間について解説してきましたが、重要なのは「何のためにプログラミングを覚えるのか」です。
転職活動のためなのか、自分で作りたいものがあるのか、また趣味としてプログラミングがしたいのか。
しっかりとした目的意識があれば、それだけモチベーションを維持し続けやすくなります。
やる気を持ち続けることは習得期間を短くでき、かつ濃い知識を得るために必要なことです。迷ったときは初心にかえることも忘れないようにしましょう。
【関連記事】
令和の今、学ぶべきプログラミング言語は?需要と将来性から徹底比較! – WebHack