感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

プログラミングはスポーツに似ている。

スポンサーリンク

プログラミングはスポーツに似ている。
初めてコードに触れたとき、僕は大いなる勘違いをしていた。

プログラミングを試験勉強のように考えていた。
自分はどちらかというと、勉強が好きな方だが、勉強しても勉強しても一向にプログラミングはできるようにならなかった。
試験勉強をするように、プログラミングの勉強をしていたからだ。

有料の自習室を借り、仕事の帰りに自習室に寄っては本を読んでいた。
情報処理試験の本を読んでみたり、アルゴリズムの本を読んでみたり、毎日自習を続けた。
それでもプログラムを書けるようにはならなかった。

プログラムは、いつまでも意味不明な魔法のようだった。

なぜかというと、僕はコードを打たなかったからだ。
何かを書くことは、何かを読む5倍の時間がかかる。
僕は早く成長しようと焦っていたので、とにかく時間がかからないように読むことに時間を費やした。

"なんとなく"見覚えのある知識だけは増えるものの、仕事でエディタを開いても一向に手は動かなかった。
白紙のエディタの前に立ち尽くし、絶望したのは一度や二度ではない。
大学時代の友人に会うたび、元気が無いね、やつれたね、と言われた。

自分では気付かなかったけれど、こんなにも挫折したのはなかったかもしれない。
自信なんてまるで無くなり、どう頑張ればいいのかわからないまま半年が過ぎた。

試験勉強では、できるだけ答えを先に読み、理解して覚えることが点数につながる。
過去問を理解し、なるべく自分で解法を編み出すような真似はせず、答えを理解して覚え、本番の点数につなげる。
これは試験勉強のおいては定石とされていることで、現にそのような勉強の仕方でかなり難易度の高い試験にも受かった。

その成功体験を捨てるのが、大変だった。

前にうまくいったから、同じようにやればプログラミングも余裕でできるようになるはずだ。
そう信じて、でもうまくいかない自分とのギャップに苦しんだ。

僕は過ちに気付かずに、積み上げても積み上げても風に流される砂の城のような努力を続けた。

プログラミングは、試験勉強とは違うのだ。

転機はいつだったか。
僕は自習室通いを辞めた。
家の机に向かい、パソコンの前に立ち、基礎の基礎から写経を始めた。
写経を続けていくうちに、だんだんと体がプログラムを覚え、少しずつ自分なりに応用ができるようになってきた。
不思議な体験だった。

試験勉強では「効率の悪い勉強法」と言われる勉強をして初めて、社会人として効果のある勉強ができた。

そうか、プログラミングは「お勉強」ではないのだ。
スポーツだったんだ。

スポーツでは、毎日毎日つまらなく苦しいフットワークや体力トレーニング、炎天下でのランニングを続ける。
僕はバスケをやっていたが、体力トレーニングの後はまた基礎だ。

パスの基礎、ドリブルの基礎、レイアップシュートの基礎。
そしてやっと試合に入る。

基礎練習で何度も何度も何度も、繰り返し繰り返し体に覚えこませたことだけが、試合に出る。

けっしてNBAの試合を見ているだけではうまくはなれないのだ。
ジョーダンのダブルクラッチに感動して、いても立ってもいられなくなって外で夢中で真似をした高校生の頃のように、自ら体を動かさなければならない。
上手い人を見ているだけではダメなのである。
自分で手を動かし、うまくいかないプログラムに悩み、それをなんとかうまくできるようになって、その経験を積み上げていく。

それしか無いのだ。
プログラミングは、スポーツとそっくりだ。

僕はバスケを小学校から続けてきた。
バスケには自信があった。たくさん練習したから。時間をかけてきたから。
だから自信を持てた。自信を持つには、積み重ねるしかない。

今のプログラミングの経験をバスケの経験に例えるなら、僕はまだ中学生の自分にも追いつけていない。まだまだ、子供だ。競技を始めて3年足らずの初心者だ。

だからこそ、人知れず練習を続けて、手を動かして、たくさんの経験を積みたい。
それがきっと、立派な選手になるための道だと信じている。
自分がバスケットで積み重ねてきたように、体を鍛え、練習を繰り返して技を身に付けてきたように、プログラミングの習得に励みたい。

誰に知られるともなく始めた10000時間への修練の道。
渡りきったときに、素敵な自分が待っていますように。