2008年9月10日水曜日

コーディングに大切なこと

コーディング(=プログラミング)とはパズルのピースを効率よくはめていくような仕事だと思う。効果的に美しくはめることができれば、その瞬間すべての苦労が報われる。より難易度の高いパズルであればあるほど、その喜びはひとしおで、ついつい時間を忘れて没頭してしまう。この感動の達成感のために毎日コーディングに対する工夫と問題解決の腕を磨く。

その感覚は、ミュージシャンがギター片手に作曲活動に没頭している姿を想像し、偶然、見つけたメロディラインの美しさに、大ヒットの予感を感じる瞬間に似ているのではないだろうか。

時間がないという理由で、コーディングにおけるアルゴリズムの手抜きやテスト工程の省略は、プログラムの完成度(品質)を落とすことになる。妥協して作った曲が大して売れないことと同じように、バグ含みで逆に時間のかかる仕事になってしまう。

そう考えると、最初のコーディングから、真剣勝負で挑んで、いいものを作ろうとする姿勢が大切なのではないだろうか。

ひいては、この考え方が『3 . 品質は検査よりも、最初の製造段階が重要である。』という言葉につながると思う。
僕はこの『最初の製造段階』を『最初の真剣勝負』と訳したい。