【学習論】あなたのプログラミング学習の効率を劇的に高める方法

今回はプログラミングの学習効率を劇的に高める方法について紹介します。
その前に簡単に僕の自己紹介をしておきましょう。

僕はプログラミング未経験の状態から転職し、ベンチャー企業のフロントエンドエンジニアとして、主にReactやNext.jsを使い仕事を行っています。またその傍らで、某大手プログラミングスクールのメンターとして、RubyやJavascriptなどを教えています。

この記事にわざわざ足を止めてくださった方の多くは、過去の僕と同じように未経験からプログラミングを学んでいる人だと思います。自分の学習方法が果たして正しいのか自問自答している方もいるでしょう。

そんな方々のために、今回はプログラミングの学習効率を劇的に高める方法を紹介していきます。皆さんの参考になれば幸いです。

人に教えることで学習効率が高まる!

結論から言うと「プログラミングの学習効率を劇的に高める」には、「人に教える」のが最適だと確信しています。これはプログラミングに限らず、全ての学問に言えることです。

なぜこれほどまでに自信を持って言えるのか?それは自らもプログラミング学習を続けながら、スクールのメンターとして教えている際に、成長をかなり感じたからです。

ではなぜ「人に教える」ことが学習効率を高めるのでしょうか?
理由はたくさんあると思いますが、下記2つが主な理由だと考えます。

①人に教えるには、まず自分が理解している必要があるから

1つ目の理由は、人に教えるには、まず自分が理解している必要があるからです。
自分が理解できていないことは人に説明することはできません。

Qiitaやその他の記事を読んで、その時は理解した!と感じてたけど、いざ説明しろ!と言われると上手く説明できないことってありませんか?

自分の言葉で説明できるレベルまでいかないと、本当に「理解した!」といえません。「人に教える」時は、「自分の言葉」で噛み砕き教えることが常に求められます。

この訓練を繰り返し行うことで、ネットや参考書で学んだ言葉を、「自分の言葉」で表現できるようになります。自分で咀嚼し、理解した言葉はなかなか忘れません。

②自分の理解が浅い部分を洗い出すことができるから

2つめの理由は、自分の理解が浅い部分を洗い出すことができるからです。

また人に教えていると、「なんでこのコードが必要なんだっけ?」「この用語ってどういう意味だっけ?」みたいになることがあります。

自分の苦手な部分や理解していないことは、案外自分では気づけないものです。そのように隠れているものを、人に教える行為は洗い出してくれます。

理解が浅い部分が見つかれば、「今度は説明できるようにならなきゃ!」と調べたり勉強して補おうとします。特に見ず知らずの人に教えるとなると、緊張感があり間違ったことを教えちゃいけない!と思い、必死で調べます。

そのため自分の知識として定着するわけです。

どんどん人に教えて、前進しよう!!

僕の場合は、プログラミンスクールのメンターとして、プログラミングを教えていますが、「人に何かを教える」機会は山ほどあります。

例えば勉強したことをブログやYoutubeで発信するとか、Twitterで要点をまとめてつぶやくなど色々あります。間違った情報を発信して、指摘されるのが怖いと感じる方もいるかと思います。

特にエンジニア界隈は、知識をひけらかして初学者を批判するマウントくそじじいが多いのは事実です。彼らは他人をけなすだけで、自らは過去の成功体験や実績などに固執して、一歩も前進していません。

理解が浅くても、間違ったことを言ってしまっても問題ありません!誰しも間違うし、完璧に理解している人なんていません!

人何かを教える人や情報を発信する人は、人の批判だけして立ち止まっている人間よりも、数100倍前進していますし、数年後にはそんな人間よりも前に進んでいるでしょう。

僕と一緒に間違いを恐れず、人にどんどんと教えていきましょう!
そして皆さんが立派になったら、僕を養ってください。以上。