「熟達」には時間がかかり、急いで何かを学ぼうとしてもうまくいかないもの。しかし、中には例外もあるようです。講義ノート売買サイト「Oxbridge Notes」の創設者のJack Kinsella氏は、プログラミングを短期間で学習できるメソッドを編み出しました。

Kinsella氏はこのアプローチを「Jankiメソッド」と呼んでいます。以前にライフハッカーでも紹介した単語学習アプリ『Anki』を使った、学習をさらに効果的にするために作られたメソッドで、以下の8つのルールで構成されています。

  1. 何か新しいことを学んだ時はいつでも、カードに質問と回答を書き入れる。
  2. Ankiを毎日使うこと。週末や休暇中も忘れずに。徹底的にコミットすること。
  3. 文脈の中で学習すること。「やりたいこと」を1つ選び、それを成し遂げるために必要な知識だけを集中して学ぶ。
  4. 実際に試してうまくいったものだけを単語帳に追加すること。
  5. ミスをしたら必ず検証を行い、何が悪かったのかを明確にする。二度と同じミスが起きないようにするため。ミスの原因がわかったら新しくカードを作り、書き込んでおく。
  6. 大きなプロジェクトが終わったら、そのプロジェクトから学んだことをおさらいする。また、次に同様のプロジェクトに取り組むとしたら、どう改善できるかを自問する。
  7. 間違っているカード、古くなったカード、思い出せないカード、未完成のカード、不必要なカードはすべて削除するか修正する。また、残ったカードもより理解しやすい内容に書き直す。
  8. 他人が書いたコードを読むこと。アルゴリズムやアーキテクチャーなど何か参考になりそうなものを見つけたら、新しいカードを作成して書き留めておく。コードも書き込んでおく。

コマンドをたくさん記憶しておけば、いちいち参考資料を調べる時間を省けます。また、何か問題に直面しても、以前に同様の問題を解決したときのことを瞬時に思い出すことができます。システムを設計するときも、何十もの可能性を思いつけるでしょう。語学の学習と同じです。あなたはプログラミング言語を流暢に話せるようになるのです。

経験が少ないとしても、十分な知識があれば高いパフォーマンスを発揮できるはずです。また、このメソッドで学習していくうちに、あなたが身につけた全知識を検索可能なデータベースが出来上がります。もし、あなたがプログラミング言語の習得を考えているなら、ぜひ、Jankiメソッドを試してみてください。Kinsella氏のブログにメソッドの詳細が書かれています。また米Lifehackerの初心者向けプログラミング学習講座もチェックしてみては。

Janki Method | Jack Kinsella

Adam Dachis(原文/訳:伊藤貴之)