はじめに
こんにちは。
システムチームのプログラマーのTです。
先日の週次MTGの中で代表が頭の中で作ることについてお話しされていました。
(獄中で紙にプログラムを描いてコンピューターを使わずにプログラミングをした人の話をそこで初めて知りました。)
それは、自分が実装中に手あたり次第にデバッグして、
結果的にこねくり回して遅延する動きにつながっている
という問題点を出したところから始まりました。
MTGが終わってから、話の内容をまとめている時に、
ふと自分の中で合点がいったことがひとつあるため、それについて書こうと思います。
紙にプログラムを書く
自分は、今年を振り返って、8月から9月は成長度合いが良かったと思っています。
プログラムが少しづつできるようになって、
タスクをやり遂げられる力もついてきているという実感が少なからずあったからです。
そうなったのは、自主学習に成功したからだといえます。
自主学習に成功したというのは変な表現かもしれませんが、
実力を上げるという目標は達成したため、こう表現しています。
その成功の要因はいくつか見当をつけていたのですが、
どれもクリティカルなものとは思えず、モヤモヤがずっとありました。
ですが、頭の中で作ること、獄中で紙にプログラムを描いていた人の話の中で、
自分の中でそのモヤモヤが晴れました。
自主学習での成功の要因は頭の中で作る練習になったからだ
と気が付いたためです。
配列の中身をデバッグし続けて不具合箇所を特定するようなこねくり回しをせず、
行き帰りの電車の中で、頭の中でプログラムを考えたり、紙に書き出して考えることをやっていたら、
意図せずして、
プログラムを書いて動かす前にバグになりそうなところや、
論理が通らないところがあることに気が付く能力の開発になっていたのです。
ひとつ処理を考えては頭の中で吟味して、ダメならそれを破棄して、また考えて
ということを以前より行ったため、
動かす前にコードを見てバグに気が付いたり、
そもそもバグにならないようなプログラムを書けることが多少は可能になったというわけです。
おわりに
このことは意識的にやっていたことではないので、気が付くのに、数か月かかりました。
ですが、頭の中で考えることが、どれだけ有効な自主学習になるかということ、
そしてそれが仕事でどれだけ効力を発揮するかを身をもって体感できたことは今年の大きな収穫だと感じています。