生み出すタイプのプログラミングは一気に!
先週まで外出・出張続きだったのですが、今週はなぜかお声がかからず、プログラミングの仕事がとても捗りました。お声がかからないのが良い状態かどうかはまた別の話ですが、トラブルなどで呼び出されないという点では良いとも言えるでしょう。。
プログラミングの仕事は、大きく分けて二種類あると考えていまして、
・こなし作業
・生み出す作業
この二種類です。こなし作業は隙間の時間などでも進めることができるのですが、生み出す作業はそうはいきません。
今週は火曜日にある製品の新機能を生み出し、昨日はどちらかというとこなし作業で、今日はProDHCPの新機能追加を行うことができました。ProDHCPではある提案で欲しいといわれている機能を実現するために、大きく2つの機能を追加する必要があり、かなり面倒な追加のため、実は2ヶ月近く手をつけないでいました。
生み出す作業は細切れの時間を使ってもろくなものができません。頭の中に必要なソースコード・情報を展開した状態で、頭をフル稼働させないとできません。まあ、人によって生み出し方は様々だとは思いますが、私の場合は設計してから作ることはせず、いきなりソースを書きながら動かして考えるタイプですので、中断はしたくないのです。
午前中のうちに1つの機能は追加を終え、午後は難関の2つ目の機能の追加を行いました。こういうときは非常にピリピリしていて、部屋でのディスカッションなどの会話が聞こえてくることでもイライラしますし、「ちょっといいですか?」と声をかけられようものなら「良くない!」と答えてしまったりします。社長がそれで良いのか?という気もしますが、私でないと作れないものもあるので仕方ありません。。
何とか6時間ほど集中して、ほぼ目処はつけました。6時間くらい大したことないと思うかもしれませんが、本気の6時間はそう簡単にできません。
さて、私がなんで一気に作ることにこだわっているかというと、それが一番品質が高くなるからです。頭に全体が入っているときに、目処がつくところまで進めておかないと、あとで無駄なソースを書いてしまったり、想定漏れがたくさん出てしまうものなのです。ソースを書いては動かして、というのを、頭に入っているうちにやってしまうのが一番なのです。
さすがに細かいところまで完全に作れないことも多く、今日もかなり機能面では絞り込んで妥協していますが、骨格はできて確認まで終えたので、後は時間があるときに必要そうなものから順に追加していけば良い感じです。
とりあえず、その機能を使いたいと話していたお客さんには、評価可能になりましたとすぐに報告しておきました。
明日は外出の予定が入っていますので、こういう仕事はできません。どうしても今日中に目処をつける必要があったのでした。
もう頭を使い切ったので文書もまとまりませんが、まあ、とりあえずよかったよかった。。