« 「簿記と業務知識のセミナー」開催 | トップページ | 8/18新大阪で勉強会兼飲み会のお知らせ »

2010.08.07

プログラミングのボトルネックは「感情」

 企業や個人といった社会システムが生み出す価値の量は、そのトータルな「能力(capacity)」ではなく「制約条件(constraints、わかりやすく言えばボトルネック)」に制限される。

 難しい話ではない。たとえば、切削→加工→仕上の3工程を備える工場があるとして、日常的に加工工程の前だけに仕掛品が溜まりがちだとする。この場合、その前後の工程を強化しても、工場全体の生産量は増えない。しかし、加工工程の能力や稼働率を高めることで、工場の生産量は増える。この工場では加工工程が制約条件となっているからだ(切削工程に投入されるべき資材の供給が制約条件となっている可能性もある)。これが「制約理論」における「制約条件」の簡単な説明だ。

 では、「プログラミングの制約条件」は何だろう。有用なプログラムを継続的に生み出してゆくための一般的な制約条件があるとすれば、どんなものなのだろう。それのせいでプログラマが生み出す価値の量が頭打ちになっていて、それを強化すれば価値の量が増えるとしたら、どんな要素なのだろう。

 「プログラマの待遇」だろうか。おそらく違う。有用なプログラムを生み出すために、その作業が有償で契約されたものであるかどうかもそもそも重要でない。数々の有用なOSS(オープンソースソフトウエア)は、待遇よりも「社会的承認」が優先されるケースが少なくないことを物語っている。奴隷労働のような勤務状況は是正されるべきではあるが、待遇の問題はプログラミングにおける一般的な制約条件とはみなしにくい。

 「プログラマの技術レベルや知的能力」だろうか。これもおそらく違う。Eclipseのように強力なIDE(統合開発環境)が普及し、便利なライブラリも続々と生み出されている。以前には手間隙のかかったことが、初心者や私のようなボンクラでも簡単に出来るようになった。まったくありがたいことだ。

 「プログラマの体力や身体能力」だろうか。これも違う。腰痛や腱鞘炎や眼精疲労、40才を過ぎれば誰もが始まる老眼等、プログラマの脅威となる身体的リスクは数多い。しかし、それらのほとんどは普段の心がけや補助具で対処も予防も可能だ。そもそも、身体的ハンディキャップが不利にならない高度専門職の代表がプログラマではないかと私は考えている。

 「適切な仕様書」だろうか。「仕様書がマトモでないからマトモなプログラムを生み出せない」という嘆きはよく聞くが、これも制約条件とは言いがたい。そもそも仕様書の有無さえ瑣末な問題だ。有用なプログラムの仕様はしばしば設計者の頭の中にしかない。それをドキュメント化して第三者にプログラミングしてもらうという分業体制も、技術革新にともなって廃れていくだろう。ソフトウエアはそれを着想した人物によって実装されるのがもっとも自然で効率的だからだ。言い換えれば、有用なプログラムをじぶんで着想できることが、プログラマの基本的素養となるだろう。

 「待遇」でも「技術レベル」でも「知的能力」でも「体力」でも「身体能力」でも「仕様書」でもない。私が「有用なプログラムを継続的に生み出すための一般的な制約条件」と考えているものは「感情」だ。前頭葉前野が関係する高度な精神作用で、もっと広い意味の「情操」といってもいい。

 有用なプログラムを着想することは、活発な感情の働きである。しかしそれだけではプログラムは完成しない。必要なリソース(資金や時間や仲間や知識)を適宜調達しつつ、プログラミングを完遂しなければならない。そのためには「意欲」や「社会性」や「知的好奇心」が必要で、これらも旺盛かつ成熟した「感情」が生み出すものだ。

 プログラミングをその見かけから「工数で給料を稼ぐための手段のひとつ」とみなしては本質を見誤る。今後、欠落していたさまざまな要素が補完されてゆく過程で、プログラミングは「ふつうの創作活動」となってゆくだろう。「ふつうの創作活動」とは、「作業時間数」ではなく「生み出された作品の社会的価値」によって意義付けられる営みという意味だ。それはまた、感情によって駆動され、感情の衰えとともに色あせてゆく創造行為でもある。そういう意味で、35歳だろうが75歳だろうが、感情の衰えた時――それがそのプログラマにとっての「限界」だ。

|

« 「簿記と業務知識のセミナー」開催 | トップページ | 8/18新大阪で勉強会兼飲み会のお知らせ »

コメント

知的好奇心がなくなればSEはやってられないと思います。それとともに、他人から評価されるという事も大変重要だと思います。

ただ、前提としてソフトは高すぎると思います。そういう点で、XEAD Driverには期待しています。

投稿: HAT | 2010.08.09 02:50

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラミングのボトルネックは「感情」:

« 「簿記と業務知識のセミナー」開催 | トップページ | 8/18新大阪で勉強会兼飲み会のお知らせ »