「めんどくせえ、何とかなんねえのか」はプログラマの合言葉

小飼弾 : 404 Tiltle Not Found : #1 プログラマーの三大美徳その1「怠慢」

怠慢
全体の労力を減らすために手間を惜しまない気質。この気質の持ち主は、役立つプログラムを書いてみんなの苦労を減らしたり、同じ質問に何度も答えなくてもいいように文書を書いたりする。よって、プログラマーの第一の美徳である。

どちらかというと「怠慢な人がプログラマに向いている」というよりは、「手間を許容してしまう人はプログラマに向いていない」という表現の方が本質に近い気がするが、前者の表現の方がクールでパンチが利いている。まあだから敢えて誤解を招くようなこの表現を使っているのだろう。

—–



プログラマとして仕事を進めていく中で、「そんな面倒くさいことまだ続けてたの?」と同僚に突っ込む、もしくは突っ込まれるということがやっぱりある。面倒くさいと感じることにはガンガンツールを作っていくタイプの人間というのはやはりいて、その人達が全体の生産性の向上に寄与しているのは間違いなく、社内でも相当重宝するタイプの社員である。
こういった「社内の生産性向上」を目的としたプログラマを集めた部門を持っている企業というのは在るのだろうか。日常業務をツールで解決するといっても、ツール化できない人間的な仕事や、一回限りの仕事、ツールを作っている場合じゃない緊急の仕事というものも多々ある訳で、そういった業務から切り離し、社内の生産性向上を目的とした部門があっても良いような気はする。Lispハッカーとして有名なPaul Grahamも以下のように言っている。

Great Hackers

You may not have to go to this extreme. Bottom-up programming suggests another way to partition the company: have the smart people work as toolmakers. If your company makes software to do x, have one group that builds tools for writing software of that type, and another that uses these tools to write the applications. This way you might be able to get smart people to write 99% of your code, but still keep them almost as insulated from users as they would be in a traditional research department. The toolmakers would have users, but they’d only be the company’s own developers.

要は優秀なプログラマ群にはその他のプログラマがソフトを書くためのツールを作らせ、ユーザーから切り離したところに置いておけ、ということ。まあ彼の主張は「この方が全体的な生産性が高い」というよりは「優秀なプログラマの生産性を無駄にするな」というところから来るものであるが。

しかしこの弾さんの連載、彼のブログの語調や内容が優しい版というか、誤変換が無い版というか、あの物凄い主張が無い版というか、要はブログの読者には物足りない内容となっている気がする。まだ始まったばかりで色々言ってもあれですが、ブログとは方向性の違う面白みを提供してくれるのを楽しみにしたい。