IT業界の未来
脱1対1商売とエンジニアの幸福

首藤 一幸

首藤一幸:
"IT業界の未来――エンジニア幸福論",
WEBRONZA, 朝日新聞社, 2017年 5月 26日

プログラマ35歳定年説

IT業界ではよく「プログラマ35歳定年説」が話題になります。 本当とも嘘とも言えて、いろいろ話が広がるネタなので、 飲み屋やネットの雑談にぴったりです。 35歳定年の理由としては例えば激務が挙がります。 そこには、こんなしんどい仕事ずっとは続けられないよね、 という業界への自虐も込められています。 では実際どうなのかというと、 35歳がどういう状況なのかは人それぞれ、としか言えません。

そんな35歳定年説にも、合理的な説明を付けることができます。 人月単価の上限に達してしまうのです。 受託ソフトウェア開発では、開発を請け負う際、 例えば、1人月100万円のプログラマ2人で5ヶ月かかるから、 100万円× 2人 × 5ヶ月=1000万円頂きます、という計算をします。 この売り上げすべてがプログラマの収入になるわけではありません。 会社はオフィスの賃料だとか間接部門の人件費も払わねばなりません。 プログラマの給与になるのは売り上げの1/2〜1/5です。 ということは、1人月100万円でその半分が給与になったとすると、 プログラマの年収は600万円となります。 人月には相場があり、受注したい会社間での競争もあるので、 そう上げられるものでもありません。 かくして、人月で働く以上、年収にこうした上限が付いてきます。 プログラミングの成果に対して 人月単価の限界を超えた給与をもらう/支払うためには、 人月単価で働く人々を束ねるしかありません。 つまり、プログラマを引退し、マネージャになるのです。

マネージャの大事な仕事に、予算管理があります。 技術を愛するプログラマほどそうした表計算=Excel仕事を疎み、 最近Excelばっかで全然プログラム書いてない… と自虐を愚痴ることになります。 3Kだ、いや7Kだ!と、自虐が大好きな業界です。

1対Nのビジネス、1対1のビジネス

プログラマって、ゲームやウェブブラウザ、SNSを作って 大勢に提供してるのではないの?と思う方もいるかもしれません。 こうした、大勢に対して同じ製品やサービスを提供する事業を ここでは「1対N」と呼びます。 それに対して、上記の受託ソフトウェア開発は、 特定の相手に向けて開発を行うので「1対1」です。

1対1商売は、情報サービス産業のかなりの割合を占めます。 今や、金融、交通、電気、… といった我々の生活を支えるほとんどすべてのシステムは コンピュータ制御されていて、 それらの多くはソフトを買ってくれば済むというものでもないので 1対1で受託開発されています。 1対Nのビジネスであっても、 裏では1対1で開発を請け負っている会社があるかもしれません。

情報サービス産業とは、IT業界からハードウェアを除いた、 ソフトウェア、ネット、データ提供・処理等の業界を指します。 その情報サービス産業全体の年間売上高は21.4兆円、 そのうちソフトウェア開発による売上高は10.6兆円です (経産省「平成27年度特定サービス産業実態調査報告書」より)。 ソフトウェア開発10.6兆円のうち、 1対1にあたる受託ソフトウェア開発による売上は8.7兆円、実に82%に達します。 1対Nのソフトウェア開発は残りの18%です。 情報サービス産業21.4兆円のうち、残り10兆円弱はネット、データ等の業界で、 1対1と1対Nが混ざっています。

1対1ビジネスの利点と問題

1対1商売の巨大な利点は、受注できた時点で売上がほぼ確定することです。 あとは開発・納品さえ失敗しなければ売上が立ちます。 これが1対Nだと、開発・提供したからといって 何人が買ってくれるか、売上につながるかどうか、わかりません。 この利点ゆえ、 1対Nの事業を志したITベンチャー企業が、 気づくと、食い扶持のために始めた1対1受託開発ばかり行っている、 なんてことがよく起きます。

一方、1対1商売にはいろいろと問題・課題もあります。 ほとんどの場合、開発して差し上げたソフトや提供したサービスで 価値を生むのは提供先=委託元なので、 受託する側としては、それが生む「価値」ではなく、 それにかかる「費用」を請求することになります。 レベニューシェアといった提携方法もありますが、 それは1対1商売ではなくていわば共同事業なので、ここでは置いておきます。 費用見積もりのためには、 まず、プログラムの行数やファンクションポイントとして ソフトウェアの規模を見積もり、 そこからCOCOMOといったモデルで工数、つまり「人月」を見積もります。

この、価値ではなく費用を人月に基づいて請求する、 という構造がいろいろな問題・課題の根となっています。 人月単価がプログラマの給与を制限するという上述の課題はかわいい方で、 中でも多重下請け構造は特に有名な問題です。 受託した側にしてみると、 お客様=委託元の満足を損ねない限りは、 それ以上どんなにソフトウェアの価値を高めたとしても 自身の利益になるわけではありません。 しかし費用を圧縮すれば自身の利益になります。 かくして、受託した開発の一部、ひどいと全部を、 人月単価を自社より下げて他社に再委託します。 つまり、ピンはねです。 構造上、搾取の誘惑が強すぎるのですね。 多重下請け哀歌はネットに山ほど転がっています。 元請けの社員に殴られたとか、下請けをいじめてたとか、 そういう話も耳に入ります。

また、専門性軽視という問題もあります。 プログラマ間の腕の差は1,000倍とも言われますし、 そこまででなくとも、大学なり高専なりで学ぶ内容、 例えば、計算複雑さや計算機システムの知識によって プログラムの効率はときに桁が違ってきます (ちょっとだけ大学教員としてのポジショントークかもしれません)。 しかし、だからといって人月単価は桁違いとはならず、 せいぜい50万円〜200万円、 相場を反映した社内の単価表で決まります。 そこでは、経験年数や資格が支配的なパラメータです。 例えば、経験1年なら50万円、といった具合いになります。 目に見えないパラメータ、 定量化されていないパラメータを単価に反映させることは難しいでしょう。 経験年数は同じだけど、 彼/彼女はすごくセンスが良くてプログラムは読みやすくミスは少なくて… だから相場の2倍の単価を頂きます、と言って お客様=委託元に納得してもらうことは難しいですよね。 かくして、プログラミング初心者も、学生時代から腕を鳴らしたすご腕も、 社外に売られる際は同じような人月単価になってしまいます。

情報サービス産業の将来

2009年と少し古い数字ですが、日本では、 IT技術者数102.6万人のうち、 ITユーザ企業の技術者数は25.5万人と、24.8%に過ぎません。 一方、ITサービス企業=1対1商売の技術者数は77.1万人で、こちらが75.2%を占めます (IPA「グローバル化を支えるIT人材確保・育成施策に関する調査」報告書より)。 ITユーザ企業の技術者数、 中国は27.6%、インドは20.2%と、日本と大差ない比率です。 一方、米国は逆で、ITユーザ企業の方が多く、71.5%を占めます。 こうなった理由は誰にもわかりませんが、 雇用流動性が低いため、という説明は腑に落ちます。 つまり、雇用流動性が低い日本では開発のために雇ったり解雇したりが 難しいため、ITサービス企業が人材プールの役割を果たしている、という説明です。

しかしこの状況も、中長期的には変わっていくはずです。 ユーザ企業の側で活躍する技術者が増えていきます。 そう信じる理由はいくつかあります。 1つは、どんな業種であれ、 事業におけるITの重要性は上がりこそすれ下がらないこと、です。 そりゃそうですね。 例えば、ネット上の小売業、つまりB to C ECの市場規模は、 2010年から2015年で、7.8兆円から13.8兆円へ、77%も伸びています (経産省「平成27年度我が国経済社会の情報化・サービス化に係る基盤整備 報告書」より)。 これによって、ユーザ企業がIT技術者を雇用する意欲は高まっていきます。 (もっとも、 1社に専心するのではなくプロジェクトベースの働き方が増えていくだろう、 という雇用とは逆の流れもあります。)

理由はまだあります。 ユーザ企業側の「業務の知識」は社外・業界外になかなか出ず、 ときに明文化すらされないのに対して、 「ITの知識」はすごい速さでコモディティ化すること、です。 開発に必要な知識はネット上で見つかります。 また、プログラミング言語や開発ツールの進歩によって、 開発それ自体もどんどん容易になっていきます。 1995年のJava言語は質の良いソフトを開発しやすくしましたし、 2004年のRuby on Railsはウェブアプリケーションの開発をかなり容易にしました。 大勢での大規模なソフトウェア開発は、 それはそれでITサービス企業側の「業務」知識であり続けるのでしょう。 しかしそれでも、ユーザ企業側の手に負える範囲は これまでもこれからも広がり続けます。

ある小売業大手、つまりユーザ企業のIT責任者が言いました。 「ITの専門家に作ってもらうより、 業務を知っているうちの社員がITを学んで作る方が早い。 実際、そうして開発した業務システムを使っている。」 もっとも、これはかなりデフォルメした言い方であって、 「いや、ITの専門家も欲しいんですけどね」 とのことです。 ユーザ企業が専門家を欲しがるなら、技術者にとってはしめたものです。 こうしてユーザ企業側での活躍の場は広がっていくことでしょう。 このIT責任者も、前職はITサービス企業でした。

開発をユーザ企業が主導すると、 費用にばかり目を奪われるのではなく価値を追うようになり、 上で述べたような1対1商売ゆえの問題は解消します。 一方で、自分はIT(だけ)を極める!という姿勢は許されにくく なるのかもしれません。

結び

さらに未来、 人工知能がプログラマの仕事すら奪っていくのかもしれません。 しかし、ソフトウェア開発すらコンピュータがこなす未来、 人間は、ローマ市民よろしく、 食べるための労働から解放されているかもしれません。 いやいや、そんなに甘くはなくて、 より高次の仕事 --- 心を動かす仕事や身体を必要とする仕事 --- に追いやられて、 あいかわらず経済システムの奴隷を続けているでしょうか。

謝辞: この原稿を読んでコメントを下さったK氏、長谷川秀樹氏、細川努氏に感謝致します。


首藤一幸(しゅどう・かずゆき) コンピュータ科学者、東京工業大学准教授

1973年神奈川県生まれ。2001年早稲田大学博士後期課程修了。博士(情報科学)。早稲田大学助手、産業技術総合研究所研究員、ウタゴエ(株)取締役最高技術責任者を経て、2008年12月より現職。つまり、私大、国の研究所、スタートアップを経て、国立大学。IPA未踏人材発掘・育成事業プロジェクトマネージャを兼任。 魔法のようなソフトウェア、分散システムが好き。