IT業界、特に「Web系」を自称する人達は気楽ですよね。システムがダウンしたところで人命には全く影響ないですから。IT業界全体、自分達の「社会的責任」について無頓着極まりないと、傍らか見て思うのです。ITエンジニアの職業倫理に関しては個人的に疑問を呈します。
— HASUNUMA Kenji (@khasunuma) June 18, 2019
普段ミッションクリティカルな仕事をしていると、字面的にはこういう話わかるのね。わかるんだけど、急に社会的責任とか言われるとアホかとも思ってしまうわけですよ。確かに、なんとかPayなんかはまあまあ酷いことがあって技術力でイキっているベンチャーの正体なんてそんなもんかなと思うことが最近特に多い。まあ、当初はきれいだっただろうコードは実際に銀行とかと連携しようとしたら設計当時考慮しきれない異例系(これはクリティカル系で長く経験がないと思い付きもしないパターンの集積なわけですよ)の考慮が足りてないって指摘されて例外に次ぐ例外処理を入れざるを得なかったみたいな事情はあるんだろうけど。
でもね、品質とはコストなわけですよ。もちろん、開発の品質については手法でカバーできる。でも、異例系をどこまでカバーするかみたいな仕様の設計品質なんてのはコスト見合いで考えるべきことではあるので社会的責任というのは要件定義で明確になっている仕様を実装してないクソ野郎とかそういうところに大して発するべき言葉であって、システムがダウンしたことそのものに対してではない。
僕自身、某でかいところの仕事から同業の小さいところの仕事に移った結果として一つ学習したのは、「業務がでかすぎると量的な問題で人間系でリカバれないからありとあらゆる問題に備えてシステムを作らなければならない」んだけど、そこの閾値を超えてない規模の業務量の場合、「え、そんなところまで頑張らなくていいからもっとスケジュール縮めてよ。え?障害起きたら?そりゃ俺たちが運用でカバーするから大丈夫だよ!めったに起きないわけだし」なんですよね。そりゃそうだ。