Joel Spolsky氏による記事の翻訳です。Joel氏は書籍『Coders at Work』(Apress刊)を読んで、本に出てくるNetscape Navigatorの主要開発者でありMozillaの名付け親でもあるJamie Zawinski氏を「ダクトテーププログラマ」と称賛しています。
ダクトテーププログラマとは、コードのきれいさやエレガントなテクニックにこだわらずリリースすることを何よりも優先するプログラマを表しています。またJoel氏はダクトテーププログラマの対極的な位置付けとして、過剰なアーキテクチャにばかり関心を寄せてしまい実際の業務を進めようとしない人を「アーキテクチャ宇宙飛行士」と呼んでいます。
今後の保守性などを考えるとダクトテーププログラマの振る舞いに対して抵抗を感じてしまいますが、この振る舞いの背景には1994年当時の状況があったようです。当時、Netscape Navigatorを半年で作り上げなければ、ほかのブラウザが世に出てシェアを奪われてしまうかもしれないというプレッシャーがありました。1日でも早くリリースするために、C++やマルチスレッドの利用を見送ったり、やるべきとは認識しつつもユニットテストをあまり行わないなどの判断をせざるを得ませんでした。Joel氏は記事中で、「実際にリリースすることは製品の非常に重要な機能の一つだ」と主張しています。
記事には「C++、テンプレート、多重継承などは難し過ぎて使うべきでない」という主旨の内容も書かれており、元記事が公開されたところ著名人を含む多くの人の間で物議をかもしました。
URL:http://local.joelonsoftware.com/wiki/ダクトテーププログラマ