見出し画像

プログラミングを習得するための1万時間と最初の20時間

ども、カニカマです。

プログラミングで仕事をするにはどのくらいの時間が必要だろうか。

ある人は大学で4年間コンピューターサイエンスを学んぶ人もいる。
ある人はブートキャンプで3ヶ月のコースの後すぐ仕事をゲットする人もいる。

もちろん前者の方が知識的に深くてアルゴリズムなども理解している可能性は高いが、全然使えないやつもいるし後者でもバリバリ優秀なやつもいる。

言語によっても違うし、習得度合いも人それぞれなので一概にどちらがいいとか悪いとかでもない。

一応調べてみたら、日本のいろんなサイトでは
入門では200時間
実務で仕事ができるまでは1000時間
らしい。

これの根拠はよくわかりませんでしたが、ただ物事を習得するには「1万時間の法則」と「最初の20時間」というのを意識すればいいよってよく言われます。

「1万時間の法則と最初の20時間」

1万時間の法則

どんな素人でも1万時間費やしたらだれでもプロクラスになるよっていうやつです。

1日8時間やるとして1250日。
平日の5日間の時間をあてたとして約5年。
フルタイムの時間を5年費やせばプロクラスになれるだろうと。

なかなかハードルが高いがこれだけやったら確かにどんなことでもそれなりに出来るようになりそう。

エンジニアで言えば仕事を得るまでの勉強時間と実務3,4年といったところか。まぁこれくらいの経験があればある程度は食っていけるようになるだろう。これ以上はその人のプログラミングに対する興味とかで変わってきそう。

最初の20時間

そもそも1万時間は無理、そんな時間はないよって人に向けてこの動画。
20時間でだいたいのことは習得できるってやつです。

要約すると、練習の方法と質を意識することで大体のことは20時間で出来るようになると。
その具体的な方法は以下の4つをビデオでは語っているのだが興味のある人は一度見てほしい。

1. 達成したい目標を決め、できるだけ細かくその目標に必要なスキルを分解する。
2. 自己改善。自分で考えて改善するようにする。
3. 練習に邪魔なものを取り除く
4. 最低でも20時間練習する。

https://www.valamis.com/hub/learning-curve

このグラフは学習曲線と呼ばれるもので物事の習得とそれにかかる時間を表したグラフなのだが、だいたい最初の20時間〜40時間くらいで50%〜60%は習得できることを示している。

やり方次第では最初の20時間である程度のエッセンスは習得できるはずなのである。


そもそもプログラミングなんて全員が全員やるもんでもないし、向き不向きがありますよね。
なので最初の20時間である程度のエッセンスを習得して、自分が楽しくできそうかどうかだけでも見極めるのがいいかも知れません。

というわけで

ちなみに、僕の場合はへなちょこ学校に1年間通ったので仕事を得るまでにはそれなりにかかっている。

3時間×5日×50週くらいで、たぶん750時間くらい。
それ以外の家での自習で倍くらいはかかってとすると大体1500時間。

時間にすると多く見えるかもしれないが、実際に仕事につくならこんなにいらないと思う。

しかもこの1500時間より最初の会社で過ごした半年の方がはるかに習得したことが多い
どれだけ濃密に時間を過ごしたかによっても習得の時間は変わってくるってことですね。

ましてや、日本の新卒だったら研修とかOJTで教えてくれるとかまじ最高ですよね。
北米は即戦力しか雇われないのでなかなか厳しいです。 

まぁ、プログラミングで仕事をするなら、

  1. 最初の20時間を工夫して勉強する。それでもまだやりたいか見極める。

  2. エッセンスを習得できたら、余ってる時間を全部投資して早いこと仕事を探しながら継続する。

  3. あとは1万時間に向けてひたすら時間を投資する。

エンジニアは医者や弁護士とは違ってこの試験に合格したらオッケーみたいなのは無いしレベルも会社によってマチマチなので、定義が難しい。
が逆にそれが狙い目でもある。

簡単ではないが無理ゲーでもない。

少しの時間は必要かもしれませんが非現実的な話ではまったくないし、誰にでもチャンスがある職種なのかなと思っています。

ではでは。

この記事が気に入ったらサポートをしてみませんか?