日本のソフトウェア開発の問題の概要です。コーポレートサイトにある解説の原文でより詳しく書かれています。

1. 日本のソフトウェアの技術的品質の低さが生む莫大な損失

多くの日本製ソフトウェアは、セキュリティ、保守性、拡張性、堅牢性といった技術的品質が欧米と比べて著しく低く、その結果、機能追加やアップデート、リファクタリングなどの開発作業が極めて困難になっています。このような技術的品質の低いソフトウェアの開発・運用は、たとえ世界トップクラスのエンジニアであっても多大な困難と時間を要します。そのため、あらゆる作業に時間がかかり、開発費や保守費が莫大になるだけでなく、セキュリティの脆弱性や開発・運用自体の困難さを引き起こすことさえあります。

日本のソフトウェアにおける重大な技術的問題は多岐にわたりますが、その中でも最も致命的な欠陥の一例として、単体テストなど各種テストコードがほとんど、または全く存在しないソフトウェアが多数あることが挙げられます。特にビジネスロジックに対する単体テストがないことは、コード変更時に既存機能へのバグ発生が自動的に検知されないことを意味します。その結果、多くの日本の開発者はコードを書き換えるたびに、関連する全ての機能を手動でテストする必要があり、特に中規模以上のソフトウェアでは作業量が莫大に増加し、多くのバグを見逃しすことになります。この日本特有の問題を欧米の開発者に伝えると、一様に驚愕し、「怖くないのか?」「どうやって開発しているのか?」といった質問を受けることが多々あります。

技術的品質の低いソフトウェアは、品質の高いものと比較して、作業時間が数倍、数十倍、場合によっては数万倍にもなります。毎年数千万から数億円の損失を生み出していると推計されるプロジェクトが、弊社代表の経験上、複数存在しました。多くのエンジニアやプロジェクトマネージャーと長年にわたりこの問題について議論してきた結果、日本国内のソフトウェアのかなりの割合がこのように技術的品質が低く、多額の損失を生み出している可能性が極めて高いと確信しています。

2. 日本製ソフトウェアの技術的品質の低さの原因

技術的品質の低さの最大の要因は、技術的な品質の評価が全くできない人物が開発リーダーになり、プロジェクトの計画と開発者の評価を行う場合がほとんどだからです。彼ら/彼女らが品質を上げる作業を禁止し、実装のスピードだけで開発者を評価します。そのため、開発者は技術的品質をほとんど無視して、最短で実装しようとして、非開発者には理解できない技術的品質はほとんど無視されて開発が行われます。

非技術者のリーダーのチームで、開発者がソフトウェアの技術的品質を高めるために、技術的な調査を行ったり、問題を指摘したりすると、短期的な実装時間が長くなる上、既存のコードやこれまでのそのチームの開発手法を否定することになるため、マネージャーを中心に「仕事が遅い上に、人の仕事を批判するエンジニア」と言うレッテルが貼られ社内で見下されるようになります。そのため、ほとんどの開発者は技術的な問題を見ないようにしたり、問題ではないと思い込むようになります。

技術的品質の低さのもう一つの要因は、日本の技術者のほとんどが英語の技術文書を読めないことです。使用されている、フレームワークや開発ツールなどのオフィシャルマニュアルやフォーラムなどは英語しかない場合が多く、技術者の多くはそれらの技術リソースを読まずに開発します。そのため、各種ツールの作業時間を大幅に短縮する便利な機能を全く使わずに、実装するため、開発と保守作業の時間が増えたり、セキュリティが是弱になるなど多くの問題が発生します。

3. 30年間エンジニアが潰され続けたので深刻な人手不足

低品質なソフトウェアの開発においては、開発者の技術レベルに関わらず作業が進まなくなることが一般的です。しかし、日本の開発現場では品質を適切に評価できる人間がリーダーになることがほとんどないため、開発が予定より遅れると、どれだけソフトウェア自体に問題があっても、開発者の責任とされる傾向にあります。「仕事が遅い」「使えない」とレッテルを貼られた開発者たちは、技術のわからないリーダーから叱責され、社内で見下されるようになり、その結果として精神的に追い詰められることが多々あります。納期が絶対であるという日本の商習慣が、この問題をさらに悪化させています。

このような悪弊のため、弊社代表の過去の同僚エンジニアの約7割が精神疾患を経験し、うつ病で退職していく人々も数多く目にしてきました。代表の知り合いの元エンジニアの話では、2000年前後には「3日連続の徹夜が当たり前」とされ、深夜にトイレに行った同僚が戻らず、確認したところ亡くなっていたという悲惨な事例もありました。このような過酷な労働環境を平然と語る40〜60代のIT業界経験者が多く存在するのは驚くべきことです。

さらに深刻なのは、エンジニアが精神的に追い込まれることをニヤニヤと楽しんで語る邪悪な人間が、IT企業の非開発者の中に少なからず存在することです。彼らが悪びれることなくそのような態度を示す姿からは、開発者を精神的に追い詰めることを容認する狂った価値観が、少なくない日本のIT企業の文化として深く浸透している現実が垣間見えます。

2000年代に多くの犠牲者が出たことを受け、2010年代には開発者の労働環境も徐々に改善されてきました。しかし、それでもなお不当なハラスメントに苦しむ開発者は後を絶ちません。過去30年間、このような狂った状況が続いた結果、現在の日本ではエンジニアが深刻に不足しており、この問題は業界全体の競争力を低下させる重大な要因となっています。