読者です 読者をやめる 読者になる 読者になる

正義と微笑

numb_86のブログ

心地よい開発と素振り

Food Health API を利用したデモを公開した。

フロントエンドを一から書いたのは久しぶりだが、以前に比べれば格段にいい設計で書けるようになった。
書き始める前の時点で、(以前に比べれば)スマートな設計を考えることが出来るようになったし、書いている途中でも、「ここはこうしたほうがスマートだな」と分かるようになった。
本当に出来る人からすればまだまだだが、自分なりに、保守性や拡張性、再利用性というものを、感じ取れるようになった。

これは知識というよりは感覚に近いかもしれない。
頭でうんうん唸って捻り出すのではなく、感覚で感じ取る。緻密に検証して判断するのではなく、直観。
プログラムは全て個別なのだから、当然かもしれない。
全てケースバイケースだから、最適解もそれぞれ異なる。それを判断する能力は、知識というより感覚といったほうがしっくり来る。もちろん、土台には知識があるわけだが。

そのおかげで、このデモは比較的楽しい気分で開発できた。

いい設計で書ければ、気分よく開発を進めていくことが出来る。
ストレスを抱えずに済む。本質的ではないことに気を煩わされることがない。頭を悩ませなくていい。

バグやデグレへの不安、加速していく複雑度、理想的とは言い難いデータの持ち方……。
何か懸念や危機感、後ろめたさを持っていると、そっちに意識を持っていかれてしまう。
目の前のコードを書いているつもりでも、意識の2割くらいは、懸念に気を揉むことに使ってしまっている。

正しい設計が出来ていれば、そういうことに頭を悩ませることなく、目の前のコードに集中できる。
後ろを気にすることなく、思い切り走ることが出来る。

そして、「正しさ」を感じるための感覚は、日々の素振りによって培われる。
失敗を繰り返すことで学習を積み重ね、自分なりの感覚が養われる。
経験の量と幅を増やしておくことで、技術書を読んだときの吸収効率がよくなる。あまり馴染みがない分野だと、どんなに含蓄のある言葉でも、いまいち響かない。だが自分なりの手痛い失敗事例があったり、問題意識を持っていたりすると、すぐにピンとくる。そのため、普段から色々と経験しておけば、学習効率がよくなる。

こうして、地道な素振りを日々ひたすら繰り返すことで、感覚は育っていく。
そしてそれこそが、心地の良い、楽しい開発をもたらしてくれる。