こんにちは、みやびのです。
2号館建設しました。

まあ、実際はこれまで5個くらいブログを立ち上げてはつぶしてきたので本当は2号館どころではないのですが。

前置きはこれくらいにして今回は「プログラミングの習得にどれくらい時間がかかるのか」というテーマでお話しします。

プログラミングは習得に200~300時間と言われています。私は正確な数字は数えていませんが、1日1時間平均くらいを1年続けてようやく習得という感じだったので300時間以上はかかっていると思います。

プログラミング書かないQAにいたこともあって、あまり真剣に取り組んでいなかったので人よりだいぶ時間かかりました。

私のようにかなり時間がかかるケースもあるので実際にどれくらいの時間がかかるかは人によってかなり異なると思いますが、今回は一般的なペースと言われている300時間で考えてみます。

プログラミングの勉強を300時間とするとどれくらいの期間の勉強が必要?

先に言っておくと300時間で到達できるのはプログラミング10段階で言うところのレベル1で、「ぎり戦力になるかな」というレベル。

ゴールだと思っている方がいるかもしれませんが、スタートラインに立つだけであり、これからもガンガン勉強していく必要があります。

むしろこの後勉強することの方がはるかに多いです。

という前提をおさえた上で期間を考えましょう。

1日の勉強量とかかる期間

言うまでもないですが、1日の勉強時間によって300時間に到達できるまでの期間は異なります。

1日1時間平均なら300日かかりますし、2時間平均なら150日、5時間平均なら60日(約2か月)で習得できる計算です。

たまに「3ヶ月で習得しよう」とか見かけますが、1日3~4時間平均というなかなかハードモードですね。

学生さんだったらできるかもしれませんが、深夜まで働いている人とかだとまず無理です。仮に定時で帰れる&家が近い人であっても遊ぶ時間はなくなります。

ここでよく言われるのが
「3ヶ月くらい我慢して勉強しろ」
ですが、前述の通りがんばったところで立つのはスタートラインです。

仮に頑張って3ヶ月勉強できたとしても、まだまだ先があるのが見えたら燃え尽きちゃいそうですよね。
最終的に4時間とかになるのはいいと思いますが、最初から飛ばすのはあまりおすすめしません。

まずは1日30分~1時間くらいで始めるのがおすすめです。いっそ5分10分でもよいです。実現可能な時間から始めましょう。

やらない日も計算に入れる

さて、毎日勉強できれば上記の通り日数で300時間に到達するわけですが、予定通りにいかないことの方が多いと思います。

都合によってできないのはもちろんモチベーションを維持するのがものすごく難しいです。

毎日やっているのがベストなんですが、毎日やっている場合1日でもサボってしまうとものすごくモチベーションが下がるんですよね。

なのでやらない日を決めた方がよいです。
やならい日は予め決めておきましょう。

「今日はやらなかった。じゃあ今日はやらない日にしよう」
というように事後で決めると続きにくいです。

ちなみに私は「いつまでに習得しなきゃいけない」というのが一切なかったので本当にやりたい時だけやってました。

1、2週間やらない時もあれば1日中プログラムを触っている時もありました。

私はプログラミングを楽しいと思っていたので適当でもよかったですが、大半の人は「プログラミングが楽しい」と思えるまでに時間がかかると思うので、勉強のスケジュールは組んでおいた方がよいです。

7日に1日やらない日を決めたとすると以下のようになります。

1日1時間平均:約343日
1日2時間平均:約171日

なかなか長期戦ですね。

徐々にギアを上げる

最初はなかなか集中力が持たないと思いますが、慣れてきたら徐々に勉強時間を増やしていくのもありです。

仮に31日目からギアを上げられたとすると。

1日1時間平均+31日目から2時間平均183日

だいたい半年くらいですね。

終わりに

「プログラミングは3ヶ月で習得できる」
という情報が流れていますが、1日3時間4時間の勉強が必要なので3ヶ月で習得するのはなかなかハードです。

現実的なラインを考えるとやはりかなり順調にいっても半年くらい、一般的なペースで勉強すれば1年くらいかかると思います。

私もプログラミングの習得には1年以上かかりました。

長期戦になることを覚悟しておくことが大事です。

1日の勉強時間を増やせばもっと早く300時間には到達できますが、4時間5時間勉強するのは現実的ではありませんし、頑張って到達したとしてもそこはゴールではなくスタートラインに過ぎません。

燃え尽きないように最初はゆっくり勉強を始めることを考えましょう。