コンサルタントのネタモト帳+(プラス)

ビジネスにも料理にも役立つ“ネタ”が満載!社労士・診断士のコンサルタント立石智工による経営&料理ヒント集

労働と報酬:プログラマーが出来高払いにできない別の理由

2007-02-20 | マネジメント
pal氏のFIFTH EDITION弾氏の404 Blog Not Foundの各エントリについて、さらに尻馬に乗ってみます。

ますはpal氏の主張から。エントリ中では、プログラマーの労働と対価の関係について以下のような問題提起を行っています。
一方で、プログラマーのような職種は、そういった賃労働には向いていないように見える。

理由は、最初に述べたとおり、プログラマーという職種は、家内制手工業、つまり、生産者が、生産に必要な資本を直接所有している工業システムに近いからだ。

なぜなら、プログラマーは、プログラムを作る工場を自分の中に持っているようなモンだからだ。

そして、その工場の生産性は、そのプログラマーの優秀さに比例している。

こういう場所では、出来高給賃金のほうが、やはり合っているのではないかと思う。

これに対して、弾氏からは「プログラマーが出来高払いにできない」理由として、以下のように指摘しています。
結論から言うと、「まだ職業として確立された期間が短いから」ということになる。

プログラマーという職種は、まだ成立しうるようになってからまだ60年ちょっとしか経っていないし、プロ^2グラマーともなるとその半分かもしれない。これに対して、芸人にはすでに数千年の歴史があるし、漫画家だって少なく見積もっても江戸時代からある(i.e. 葛飾北斎)。だから「漫画家の人生ってこんな感じ」というイメージも、漫画家も「非」漫画家もすでに持っている。

プログラマーは、まだそこまで行っていない。プログラマーさえ、そのイメージをまだ確立していない。今の自分、せいぜい5年後程度の自分となるとある程度おぼろげな絵も描けるが、10年後となると霧の中だ。黎明期のプログラマーの中には、すでに天寿を全うして鬼籍に入った人もいるけれども(i.e. グレース・ホッパー)、こういった人たちは「巨匠」すぎて、アイドルにはなれてもロールモデルにはなりがたい。


このやり取りの視点で興味深いのは「プログラマーをどの職種と比較し、例えているか?」ということ。pal氏は「工場などでの生産要員」との比較として捕らえていますし、弾氏は「漫画家・芸術家」といった職業との類似性から議論を進めています。

しかしながら、以前に「渡り職人的プログラマ・SE」としてどっぷりと比較していた私としては、これらの比較の対象として選定されているものはしっくりとこない部分を否めません。

pal氏が比較対象としている「生産要員」に求められる成果とは、「指定した同種同一のものを多数製造する」ことです。一定の規格に従って一定の品質のものであれば、それは全て「1個」という形でカウントされて、成果を測定できます。だからこそ今でも内職などの分野では「出来高」での報酬払いが可能となるわけですし、「単位時間当たりの生産量」といった形で生産性の測定が可能となります。

しかし、プログラミングという仕事は「要求(指示)を満たす一点ものの機械装置(またはその部品)を生産する」という作業です。そこで生産されるものがそれぞれが独立した「1点」であり、その中身は1点ごとに異なります。つまり生産されるものは「一つずつ違うもの」ですので、個数のような足し算によるカウントが難しいという性格を持ちます。この点において、「プログラマ」と「工場での生産要員」をそのまま比較するのはやや難があると感じます。

一方、「漫画家・芸術家」という仕事については、プログラマ同様「一点もの」を生産(製作)するのが主な仕事といえます。しかしながら、漫画家や芸術家は、「製作物の内容そのもの」がおおむね自らの思想発想に基づくものであり、品質レベルについても、自らのコントロール下に置かれます(もちろん出版社や読者の影響はのこりますが)。
一方、プログラマの製作物としてのプログラムには、工業的な品質要求、すなわち「要求仕様を満たすこと」という厳然とした基準が存在します。これは、漫画家や芸術家の製作物の発想とは相容れないものであり、この点において「期待成果」が大きく異なる要因となっていると私は考えます。

では、プログラマの仕事に類するものは何かといえば、私の過去の経験から言えば「建造物の築造を行う人」であったり「工場内において機械設備装置のラインを構築する人」がもっとも近いのではないかと思います。こういったものは、大小の規模の差はあっても「一つの案件」としての個別対応が求められます。それぞれの作業において「経験や知恵に基づく仕事の精度や早さ」といったものは求められつつも、これらは「(自らのコントロール外にある)現場ごとに異なる要求仕様」を満たすようすることが大前提となります。

このような仕事の場合、期待される成果とは「指示された仕事(≒作業)を完了させることそのもの」になります。同一の仕事を反復的に行う場合であれば「仕事量」の測定もできるかもしれませんが、現実には一つずつの作業内容は異なります。仮に「一つずつ異なる作業」に応じて単価設定を細かくできればよいかもしれませんが、大規模な案件になればなるほどその複雑さは計り知れないものとなり、現実的ではありません。したがって、これらの作業を細かくは峻別せず、包括的に「労働力」として調達する工夫が必要とされてくるのです。

歴史を紐解くと、太古の時代からこのような考え方はあったと考えられます。大昔のピラミッドなどでは「現場作業」にあたっている人に対しては、同じような作業(たとえば石引きなど)に当たっていた人に対しては、同じような「報酬(食料とビール)」が分け与えられています。おそらく仕事の進め方や成果についてはその日ごと・その人ごとにバラつきは生じていたでしょうが、「一定の時間一定の作業に従事する」ということに対して、「一定の報酬」を与えられていたと考えられます。つまり、「多人数で共同して行う作業に従事する人々」とは、それが経験や知識・能力に多少の差があったとして、「一定の労働に対して一定の報酬を支払う」というのが古来から続けられてきた考え方ではないかと思われます。

つまり、(雇用されている)プログラマーが出来高払いにできないのは「仕事の内容として似つかわしくない」という点が大きいのではないかというのが私の意見です。もちろん、先のエントリでも再三指摘しているとおり、プログラマの中にも様々な「期待成果」があるでしょうし、また、建設をはじめとした他の「請負系業種」と同じように様々な「働き方」があるとは思います。しかしながら、システムが大規模になればなるほど「分業化」が必要となり、実際の“生産活動”を担う「作業者」が必ず求められます。プログラマーの本質的な役割はこの「作業者」であり、あとは「作業の完成を約束する」という請負としての働き方を選ぶのか、それとも「作業の時間を提供する(≒作業の完成は依頼者の指示次第)」という労働的な働き方を選ぶのかという、他の業種でもごく普通に見られる問題に帰結するということになると私は考えます。

あえて弾氏のたとえを借りるとすれば、「漫画家」であるプロ^プログラマーは確かに存在するものの、多くのプログラマーは「漫画家についているアシスタント」と同じポジションにあると私は感じます。しかし、アシスタント的プログラマーもまたプロ^プログラマーであると思います、特に大規模プロジェクトが多いシステム開発の世界にとっては、「優秀なアシスタント」をいかに確保するかが実は大事な点であると私は感じます。

プログラマーの労働時間・労働環境の課題については、まず「プログラマーが個人の創造力に基づく特別な仕事である」という幻想から離れ、建設業界をはじめとした様々な業種の仕事の進め方を参考にしながら「生産者としての労働時間の適切な管理」を進めることからはじめる必要があると私は考えます。


最新の画像もっと見る