プログラミングの勉強法

勉強の手順

プログラミングの効率的な勉強法については、今や様々なところで言われている通りであり、もはや答えが出てしまっていると思う。勉強の手順は以下の通り。

  1. なぜプログラミングを学ぶのかを自分自身に腹落ちさせる
  2. 最終目標と期限を明確にして、周囲に宣言する
  3. 必要な言語、技術を特定する
  4. できればメンターに教えてもらえる環境に課金する
  5. 手を動かして小さいプログラムを多数書く

1.が最も重要だったりする。モチベーションがはっきりしないまま何となくプログラミングの勉強を始めても、多くの人は挫折する。なぜプログラミングを勉強しないといけないのか、自分で自分を納得させられていないからだ。まずは学ぶモチベーションを明確にするのがスタートラインだろう。

2.も重要だが、学ぶ目的として、その最終目標をはっきりさせないといけない。よくある最終目標としては、

・エンジニア転職する
・本業のためのスキルアップ(自動化ツール作成など)
・副業でプログラミングの案件を取る

などがあるだろう。 期限については、自己管理能力がない人はたいてい、期限を設定しないか、設定しても守ることができない。しかし期限がないと延々と勉強をダラダラ続ける恐れがあるので、まずは期限を設定し、そして非常に重要なのは、自分の身の回りの人に「いついつまでなになにを終わらせる」と宣言してしまうことである。

3.は最終的にやりたいことが明確になっていれば、必要な言語や技術は、自分で調べて特定することは可能だろう。

4.について、プログラミングの完全な初心者にとっては、メンターがいるかいないかが生命線になる。メンターはつまり、質問したら教えてくれる人、ということだが、これができないと、環境構築やエラーの解決でつまづき、そこから先に進めなくなってしまう。短いサンプルコードをただ単に写経するだけでも、初心者だとタイプミスに気付くのに長時間かかるので、教えてもらう方が効率的なのは明らかだ。身の回りにメンターになってくれそうな人がいなければ、どうしても課金する必要が出てくるだろう。

Udemyの動画教材を活用するのがよいが、自己管理能力がない人にとっては、通信教育の教材が「積読」される現象と同様、結局のところ自分で時間をとって手を動かす、ということができないので、そういう人はスクールに通ってしまった方が安全だろう。

5.について、挫折を防ぐという意味で重要なのは、小さな成功体験を積み上げる、ということである。いきなり大きなプログラムを作ろうとすると、途中でエラーが解決せず未完成に終わってしまうことが多い。しかし小さなプログラムであれば、完成にまで持っていける可能性がより高いので、成功体験を得やすい。自分で書いたプログラムが想定通りに動くと、その度に達成感が出るので、小さいプログラムをたくさん作る方が挫折しにくいといえる。

ポートフォリオ作成

転職を考えているのであれば、「ポートフォリオ」と呼ばれる成果物(アプリなど)を作らないといけない。そのための手順は例えば以下の通りだろう。

  1. 作りたいものを決める
  2. それに必要な機能を列挙する
  3. 各機能に必要な処理へさらに分解する
  4. 小さくなった各処理を一つずつググりながら書く

とにかく逆算と分解が重要である。ゴールから逆算して、そこに到達する道筋を明確にする。そして必要なステップに分解して、目の前のマイルストーンに集中し、一つずつ達成していく。このような勉強法をトップダウン型勉強法と勝手に読んでいるが、逆に、ゴールを明確にしないで細かいところから学んでいくのをボトムアップ型勉強法と呼んでいる。ボトムアップ型は途中で挫折する人が多いので、トップダウン型で進めるのをおすすめする。

あわせて読みたい

クオンツ業務で必要なプログラミング言語は? | Quant College

ライブラリの効率的な勉強法 | Quant College

【随時更新】C++を学ぶのにおすすめの本 | Quant College

クオンツに必要なスキル・素養は? | Quant College

クオンツ業務で必要なプログラミング言語は? | Quant College