私は今日、Xでこんなことを書いた。
まあ、私がこんなにも日本の未来に悲観的なのは、おそらく「日本のIT業界」という最も日本の絶望的な側面が見えやすい業界にいたからだろうなあ。日本企業とソフトウェアの相性の悪さをたいていの人たちは甘く見ているからなあ。
— Eiji Sakai (@elm200) September 7, 2025
どうしてこう私が思うのか言語化していきたい。私は末端の現場で働いていただけのソフトウェアエンジニアとはいえ、この業界に30年くらいの経験がある。何かを言う資格はおそらくあるかもしれない。
日本企業の問題点を箇条書きにしてみよう。粒度はまちまちでいまひとつかもしれないがご容赦を。
- ITを戦略的に使えない
- ITを中心に据えた新ビジネスをつくれない
- ITを単なるコストだと思っている
- ITを単なるコスト削減の道具だと思っている
- ITは事務を少しだけ効率化するための道具にすぎないと思っている
- 既存のワークフローを少しだけ効率化して終わる
- ITをテコに組織改編を通じて全体最適を図れない
- ソフトウェアエンジニアを直接雇用しない
- ソフトウェアを内製化できない
- 自分たちのビジネスにフルに活用できない
- 企業内にITのプロがいないためにうまく発注できない
- 発注者とベンダーの間に封建的な身分差がある
- ITベンダーも下請・孫請・孫請のさらに下請……という重層下請構造になる
- 実際にコードを書いているのは薄給の多重下請の末端の人
- 日本人は要件定義を言語化するのが下手
- 日本人は目に見えない抽象概念の定義が下手
- 仕様書には詳細な図表はあっても「なぜその機能が必要なのか」書いていない
- 開発者が「なぜその機能があるのか」わかっていないので正しく改修できず不具合が出やすい
- ソフトウェアが必要な人と開発者の距離が遠いのでアジャイルなソフトウェアの進化が難しい
- ベンダーは仕事を請けてカネがもらえればよいだけなので発注者に忖度して本音を言わない
- 発注者はいつまでもソフトウェアの素人のままでノウハウが蓄積しない
- 発注担当者のITスキルが極めて低いことがある
- ソフトウェアエンジニアの報酬が安い
- 優秀なエンジニアたちは外資系に行ってしまう
- スタートアップに優秀な人たちがいても、結局大企業の下請けに終わってしまうことが多い
- スタートアップが革新的なアイディアを持っていても、結局、保守的な大企業の枠組みに収まってしまう
結局、企業がソフトウェアエンジニアを直接雇用しないことが諸悪の根源である気がする。直接雇用しないのは、ITのプロジェクトには、忙しさに波があるし、技術トレンドもどんどん変化していくから、ずっと雇い続ける自信がないのだ。日本の場合、解雇規制が厳しいので、一度雇ってしまうとずっと雇い続けるしかない。適切な仕事を与えられなければ、企業にとっては大きな負担になる。
その結果として、企業はシステム構築に外部ベンダーを使うことになる。しかし、日本では、発注者とベンダーの間に封建時代の身分差のような上下関係があり、ベンダーは忖度して発注者に本音を言うことは少ない。ベンダーとしても、一定の仕事をこなしてカネがもらえればよいので、システムが発注者にとって本当に役立つかどうかは二の次である。そうやって、ピントのずれた質の低いソフトウェアが量産されることになる。
こうして発注者側にはITのプロがおらず、ITを活用したビジネスのアイディアも生まれない。それが利益の源泉になることを証明できないので、IT部門の地位は低いままになる。結局、既存のワークフローをわずかに改善してコスト削減するだけのような部分最適的システムが作られることが多い。
日本の商習慣・法規制・企業文化が絡み合っているので、こうした問題はこの数十年前から指摘されているものの、一向に改善しない。たぶん今後も解消は望み薄であろう。
……とここで終わらせてしまうとあまりに希望がないので、実現性はともかく、私なりの処方箋を掲げて、この文章を終わりにしよう。
- 解雇規制を緩和して日本企業にソフトウェアエンジニアの直接雇用を促す
- 重層下請を法律で禁止
- スタートアップが大企業のただの下請けにならないように政策的に支援する