プログラマーにとって、日々の勉強は欠かせません。
常に新しい技術、知らない知識を吸収し、昨日よりも今日より良いプログラマーを目指すべきです。
ということで、プログラミングに情熱がある人は休日、平日問わず常に勉強をしていると思いますが、常日頃から私が感じていることは、もっと効率のいい勉強方法があるのではないかと疑問に思ってしまうことです。
実際に、高い技術書を買って、コードを書いてみてはいるのですが、本当にそれが自分の中で身になっているかと言われたら疑問に思います。正直全く理解できていないのではないかと恐怖することもたくさんあります。
いくらやってもプログラミングができるようになった気がしない。
ただ単純にインプットの量が少ないと言われたらそれまでですが、それにしてもあまり身になっていないような気にもなるんですね。
単に技術書に載っているコードをそのまま写経しても、あまり効果はないのではないかと疑問を抱くようになりました。
このままではいけないと思い始めましたので、プログラミング問わずいろいろな勉強方法を調べることにいたしました。
そんな中、最近、自分の目の前に止まったのがこちらの動画です。
画質は悪いですが、日頃の勉強にいまいち効果を感じられない人は、一度見てみてください。
わたしが参考になったことは以下のとおり。
本読んだり、講義を聞いたりすることで身につくのは全体の5〜10%でしかない
まさに、自分が今感じていることそのままでした。
いくら技術書をたくさん読んでも、コードを実際に写経しても、いまいち自分の中で身になっていない感覚があります。
この動画でも言っているように、授業を受けたり、本を読んで学習することで身につくことは全体の5〜10%くらいでしかありません。
片っ端から忘れているということですね。
ただ単にたくさんの数をこなして勉強するだけでは、なかなか成長することできないんですね。
もっとも効率的な勉強の仕方は、自分が学んだことを人に教えるということだそうです。
人に教えるということは、しっかりと自分が理解していないと教えることができません。
逆にいえば、人に教えることができるということは、それだけ学んだことが自分の中で定着し身についているていると言えます。
ただなんとなく理解している気になっているのと、人に教えられるほど知識が定着しているのとでは月とスッポンレベルの差があります。
ITの世界では普段聞きなれない専門用語も多く、よくわからないけれどただなんとなく分かった気になっているという人も多いです。
その中でも群を抜いて優れたプログラマーは、人がついついないがしろにしてしまいがちな細かなところまで、自分が納得できるまで調べ、しっかりと深いところまで理解しています。
深いところまで理解するということは、想像以上に難しいことです。
いくら本を読んでも、書いていることすら理解できないこともたくさんあります。
それでも、自分の中で噛み砕きながら解釈し、それでもわからないなら周囲に助けを求めて教えを請うという地道な作業が欠かせません。
人が行動できなくなるのは、成長を感じられないか、自分が進んでいるこの道に不安を感じるかどうかのどちらかです。
日々、やる気を持って努力をするのですが、時に不安になり、日によっては全くやる気がでない日もあるでしょう。
それはなぜか?
人がやる気を失ってしまうのは、自分の成長を感じられないか、自分が進んでいるこの道が果たして本当に正しい道なのかどうか自信がなくなるかのどちらかです。
勉強方法に正解はありません。
毎日の地道な勉強を続けていくには、いかに自分の成長を感じられるか、そして自分の進む道が絶対に間違っていないと覚悟を持って勉強に望めるかのどちらかです。
この覚悟というものは、プログラミングだけではなくいろいろなことに言えることだと思いますが、とても重要です。
人のスキルはすぐに身につくものではありません。
どうしても長期的な視野を持って、勉強に取り組む必要があります。
最初は情熱を持ってプログラミングを勉強するのですが、なかなか上達しない自分に嫌気がさし、次第にやる気を失ってしまうことが多々あることでしょう。
それでも絶対にプログラマーとして優秀になるという覚悟を持って取り組むことによって、次第に5回やって1回できることが3回やって1回できるようになるというように、自分の成長を感じられるようになるはずです。
ぜひ覚悟を持って、プログラミングに取り組みたいですね。