プログラミングの勉強時間はどれくらい必要か

プログラミングの勉強を始める際、
「どれくらい勉強したらいいのか」
という点は、誰もが気になる点だと思います。

今回は、勉強時間というテーマに絞り、
色々な観点からまとめていきます。

プログラミングの勉強時間はどれくらい必要か

勉強時間を公言している人の具体例

勉強は、目指す水準や目的によりかなり個人差があります。
多くの方は、エンジニアとして就職することが目的かと思いますが
転職の適齢期である20代の場合、公言している方の情報を追うと
最短でも、3カ月は勉強をする必要があるという印象です。

しかし、誰でもこの水準で勉強ができる訳ではなく、
要領が悪い人もいれば、勉強自体が苦手な人もいます。

私も学習を開始してから既に一ヶ月以上経っていますが、
見積もる際は、楽観的に考えない方がいいと感じています。

転職を目的とした場合の勉強時間の目安

未経験から自分の望む形で転職を成功させた人に関しては、
ほぼ全員が、仕事を退職しており、時間を全て投下して
フルコミットで勉強していたと語っているのが現実です。

「1日10時間以上勉強可能な生活を3カ月間」

をひとつの基準として考えると

・1日に数時間程度しか勉強ができない方
・30代を超えて転職のハードルがかなり高い方

の場合は、倍の半年は見込んでおいた方が良いでしょう。

社会人の勉強の場合、受験生とは違い、自分の生活を担保し、
既婚者の場合は家族を養うことも並行して行う必要がある為、
長期間勉強時間を確保するのは、相応の覚悟が必要です。

失業期間が長い方は、それも採用時にマイナスに作用する為、
短期集中で一気にガッツリ勉強するのがお勧めです。

勉強時間を公言していた参考事例はこちらの方々

勉強時間を多く捻出したり無駄にしないためのポイント

食事を作る時間を徹底的に削る

朝起きてから寝るまでの間、睡眠以外で
一番時間を強制的に取られるのは、食事です。

調理をして、配膳をして、身体の中に入れて、
持ち帰って洗い物をすると、ダラダラやっていた場合、
合計で1時間~1時間半かかります。

これを削るためのポイントは、

・食べるメニューを一週間分決め、頭を使う時間を削る
・作り置きレシピを活用して料理を作る時間を削る
・ドンブリに全ての食材をぶち込んで、洗い物を減らす

この三点です。

同居人がいると人間性を疑われるので
一人暮らし限定の方法ではありますが、
食事の時間を削ると、結構な時間が確保できます。

また、どんなに雑な食事になったとしても、
飯を食わない生活、栄養が粗末な生活は
確実に体調に影響してくるので、お勧めしません。
野菜も肉もしっかり食いましょう。

情報収集の時間を一日30分に限定する

TwitterやYahooニュース、新着のGmailなどは
一日に何度も見たり、新規の投稿があったら
随時見る形の場合、一日の合計でかなりの時間が取られます。

また、ちょっと確認する程度で見始めた書き込みを次々と
追いかけていたら1時間経っていた、なんてこともあります。

私がお勧めするのは、一日に情報収集をすると決めた時間を
30分などと決めて、あらかじめ確保しておき、
集中して一気にやってしまうことです。

そうすれば、ダラダラ見ることも無くなるし、
今自分に必要のない情報は徹底的に削るようになります。
タイピングスピードも桁違いに早くなります。

あと、エンジニアご用達のslacksも、
まだ仕事に就いてない段階ではエンジニア気取りで
常時開いておく必要はありません。時間の無駄です。

そして、TwitterやYoutubeについては、Chromeの拡張機能で
「Undistracted」というアプリを入れると、ブラウザから
アクセスしようとしても、全部Googleのトップページに
返るような仕組みにすることができます。

どんなに意志を強く持っても、
ついつい覗いてしまいたくなるサイトはこの拡張機能で
軒並みシャットアウトしてしまうのをお勧めします。

エラー対応のスピードを速くする

プログラミング学習の初期段階で、
勉強時間を大幅に削る最大の原因は、エラー対応です。

どんなに初歩的なミスでも、
最初のうちは原因が想像がつかなかったり
なかなか見つけられないことが多く、
3時間や5時間があっという間に消えてしまいます。

学習完了までの機会損失が半端では無いので、
身近なエンジニアの人、もしくはお金を払ったとしてでも
相談できる人を、確保しておいた方がいいです。

財布と相談する話にはなりますが、仮に数時間のエラー対応で
生産性の無い時間を過ごしてしまう場合、解決に迎えるなら
相談相手を得るのに対価を払うのは、無駄ではないと思います。

私も来月からメンター制度を利用する予定なので、
感想や良い付き合い方など分かれば、発信をしていきます。

いずれにせよ、実際の仕事に入ったら
今以上に難解なエラー、ネット上に解決法が乗っていないような
得体の知れないエラーとも戦う日々が待っている為、入門段階で
コケている訳にはいきません。絶対にエラー対応は会得しましょう。

マンガ、ゲーム、飲み会など一切の娯楽を排除する

時間を捻出しようと思ったら、
それ相応の何かを削る必要があり、
どこまで削れるかで、勝負が決まると思ってください。

部活なり、受験なり、仕事なり、人には人生で何度か、
絶対に負けることが許されない局面が何度か訪れます。

そこで大きな成果を挙げている人達の大半は、
その目標以外のものを捨てて、どれだけ一つのことに
自分のエネルギーを注ぎ込んでいることが多いです。

恋愛なども、今は集中する時期と割り切って
一切目を向けていないことがほとんどです。
鬼気迫るものがあります。

どれもせいぜい、たった数年の限られた期間です。
プログラミングに関しては、たったの3カ月や半年。

その3カ月や半年だけ我慢をするだけで、
あなたの一生を変えるインパクトのある技術が手に入ります。

その為だったら、毎週キングダムが読めなかろうが、
週末の夜に若い子と酒飲んで遊ぶことができなかろうが、
我慢して勉強しようという気になりませんか?

捨てられるものは、徹底的に捨てて、
プログラミングの勉強に集中しましょう。

まとめ

勉強時間に関して大前提としてあるのは
一日十何時間を突っ込めるなど、時間がたくさんあるに
越したことは無いということです。

この人の考え方は、非常に明快な、具体的な例です。

私もこの記事中では偉そうなことを
色々言っていますが、これを書いている今日、
ひとつのエラー対応に7時間かかり、結局解決には至らず、
全く勉強が進みませんでした。

基礎を厳かにすると、本来やるべき勉強を
すっ飛ばして先に進み、今以上に分からなくなります。
本当に悔しいし、まともに勉強をしていなかったことを
しましたが、これを糧に明日以降は必ず挽回します。

本当、勉強はダラダラやるもんじゃないですよ。

勉強時間そのものを確保するのも重要ですが、
エラー対応を初め、勉強時代を効率良く行って、
貴重な時間を無駄にしないよう、頑張っていきましょう!