みずきち日記

ひらすらプログラミング

場数を踏む大切さ

最近,藤田晋の仕事学を買いました.
その中で「効率よりも場数が能力を決める」というコラムを読んで
プログラミングを学ぶ上でも大事そうなことだったので自戒も込めて記事にします.

効率よりも場数が能力を決める

プログラミングを学習する上で,「短時間で効率的に学びたい」と思う人は少なくないと思います. これはプログラミングに限った話ではなく,例えば英会話レッスンなどにも当てはまるでしょう.

個人的に,プログラミングとは目的を達成するための手段の一つに過ぎないと考えていて, プログラミングを学習することが目的化してしまっては本末転倒です. 特に,学生時代は(自分もまだ学生だけど)講義や趣味でプログラミングを勉強したり, あるいはインターンしながらプログラミングを学んだりする機会が多く,プログラミングの学習が目的化しやすい環境なのではないでしょうか.

僕もつい最近まではそうでした. 書籍やプログラミング学習サイトで言語仕様は理解しますが,理解するだけです.理解止まり. 実は,脳内の知識を,自分の技術として落とし込むためには.実際学んだことを活かす環境を作ってアウトプットすることが大事なんですね. もっと言えば,知識を吸収している段階で,「この本のこのページの文法,今作っている個人アプリのこの処理に適用したらもっと簡略化できるなぁ,早速試してみるか!」 くらいの脳内フットワークの軽さがあればグッドだと思います.

ここで話を戻して,「短時間で効率的に」プログラミングを学ぶために重要なことについて考えます. 今までこうしたネット記事を読んでいて分かったのですが,この場合の対象者って大体これからプログラミングを学び始めるか, あるいは最近学習を始めた人が多い気がします.そして僕も実際学生です.

こうした初学者が,「短時間で効率的に」といって情報を探し回る事自体が非効率です. プログラミングができる,できないといった能力の差は,場数=経験の差で決まってくるからです. 経験も何もないのに,効率論を学んでも,まるで無意味でしょう.

重要なのは場数です. とにかく目で情報を読み取り,頭で理解して記憶する.そして手を動かして実行する. この一連のサイクルが自分の技術力を向上させる秘訣ではないでしょうか.

ひたすら場数を踏む,こうしたやり方は効率が悪いように感じる人がいるでしょう.
確かに,私も最初はそう思いました.しかし実際は,場数を踏むことでしか自分の中の知識や選択肢を広げられず効率は上がらないのです.

この文章は例の本からの引用です,とても説得力があります. 自分の考え,行動,その全てはこれまでの人生の経験が影響しているんですね.

プログラミングを経験するためには,コードを書いて実行して,デバッグする必要があります. 変なプライドは捨てて,がむしゃらに知識を吸収してコードを書く, この行動の全てが結局「短時間で効率的に」プログラミングを学ぶことに繋がってくるのではないでしょうか.

結局の所,毎日コツコツが大事なんですよね.

最後までお読みいただき,ありがとうございました.