メインコンテンツへスキップ
見出し画像

仕様書は3重構造、残業はステルス、上司は歩く脆弱性

    【あらすじ】

    「5分でやっといて」が口癖の役員。
    「空気感」の調整に時間を溶かすリーダー。
    そして、本当にシステムを動かす仕事は、深夜の自宅へ持ち越される。

    シニアITアナリスト・レイが放り込まれたのは、大企業のレガシーシステム刷新プロジェクト。

    会議では「順調」。資料では「問題なし」。
    しかしシステムの底では、10年前から放置されたバグが静かに眠っていた。


    仕様書は3重構造。残業はステルス。上司は歩く脆弱性。

    IT用語と会社員の不条理が同期する、お仕事デバッグ小説。


    第1章 事前ミーティングの無限ループという名の脆弱性


    「それでは、明日のクライアントミーティングに向けた『最終すり合わせ会議』に先立つ、本日の『事前方向性確認ミーティング』のための『たたき台調整キックオフ』を始めます」

    若手プロジェクトリーダーの佐々木くんが、Zoomの画面の向こうで、まるで洗いたてのタオルのような爽やかさで微笑んでいる。

    「よろしくお願いいたします」

    画面に向かって、完璧に角度を計算されたビジネススマイルを出力した。

    しかし、液晶ディスプレイに並んだ二人の肌の解像度の差は残酷なまでにリアルで、胸の奥のプライベートな領域(セクタ)がチクリと痛む。 そんな経年劣化のエラーログを、しわ一つない白のブラウスと非の打ち所がないプロフェッショナルな表情で隠蔽(ハック)しているのが、今の私――シニアITアナリストのレイである。

    だが、思考プロセスは無限ループに陥った。

    バカじゃないの?

    「事前」のための「さらに事前」の、そのまた事前の調整。ロシアのマトリョーシカ人形だって、ここまで執拗に中から同じ顔は出てこないわよ。あなたたちのカレンダーを埋め尽くしているその不毛な「忖度と調整」の時間は、システム的に1ミリの利益も生み出していない。ただのメモリの無駄遣い。今すぐタスクマネージャーから強制終了(キル)したい。

    今回のプロジェクトは、会社にとっても、そして私のキャリアにとっても、少々厄介なバグを内包していた。クライアントは、日本を代表する伝統的な大企業、大和重工株式会社。彼らが四半世紀にわたって秘伝のタレのように継ぎ足し、もはや誰も全貌を把握していないレガシーな基幹システムを、最新のクラウド環境へ刷新するフェーズ3のプロジェクトである。

    誰もがその炎上リスクを察知し、アサインを回避しようと社内政治のスキルをフル活用して逃げ回る中、なぜかカードは私に回ってきた。現場の技術も、組織のめんどくさい社内政治も知り尽くしているベテランだからこそ、こういう「泥をかぶる役」が綺麗にフィットしてしまう。悲しいかな、それが43歳の仕様(スペック)なのだ。

    「えー、今回のミーティングの目的ですが」

    佐々木くんが画面共有したスライドには、『方向性の共有に関する事前合意の形成について』という、日本語としての体をなしているのか怪しいタイトルが踊っている。

    「まずは大和重工のIT推進部長である高橋様に、我が社の提案の『空気感』を掴んでいただくための、前段階のコンセンサスを得るための、ええと…」

    佐々木くんの言葉は、Windows 95並みにセキュリティ脆弱性に満ちており、かつ驚くほど中身がない。彼は32歳。仕事ができる風のタイトなスーツを着て、カタカナビジネス用語を好むが、その本質は「上に怒られたくない」という強固な防壁(ファイアウォール)で守られた、典型的な事なかれ主義のリーダーだった。

    「空気感を掴む」って何? 私たちは大気汚染の調査でもしているわけ? システムの要件定義に「空気感」なんていう曖昧な変数を代入した瞬間、プログラムはコンパイルエラーを起こして爆発するわよ。あなたがやっているのは、意思決定という責任のパケットを、少しずつ小分けにして周囲に分散し、万が一の時に自分が100%のダメージを受けないようにしているだけの、マイルドな保身の最適化ね。

    「レイさん、明日の提案資料の進捗はいかがでしょうか?」

    佐々木くんが、そのフワッとした説明の着地点を見失い、私にパスを振ってきた。

    「はい、佐々木さん」

    私はすました顔のまま、淀みのないビジネス敬語を出力する。

    「骨子はすでに構築済みですので、このミーティングでの方向性に沿って、本日中に微修正をかけますね。大和重工様が懸念されているデータ移行のバグに関するプロトタイプも、すでに検証環境に反映してあります」

    「さすがレイさん、話が早い! じゃあ、その資料のベースを使って、まずは社内の役員向けの『事前レポ』を30分で作ってもらえますか? ほら、上からは『そんなの5分でやっといて』って言われてるやつだから」

    出たわ。「5分でやっといて」。

    この世の上司という生き物は、なぜ部下の労働時間をカップラーメンの待ち時間と同じ感覚でハックできると思い込んでいるのかしら。5分でできる資料なら、あなたのその優秀(そうな見た目)な脳のメモリを使って、自分で生成(ビルド)すればいいじゃない。

    「承知いたしました。至急、役員向けに最適化したサマリーを作成しますね」

    私の口から出たのは、そんな脳内の罵倒を100倍に希釈した、美しく調律された大人の対応だった。

    当然のことながら、定時の時間枠(9:00〜18:00)は、こうした「調整」と「忖度」の会議で100%消費される。本来のアウトプット―つまり、システムを正しく動かすための仕様書や、バグの検証データを生成する時間は、日中には1秒も残されていないのだ。

    18:00ジャスト。私はオフィスの勤怠管理システムに、何食わぬ顔で「退社」の打刻を行う。

    もちろん、本当に仕事が終わったわけではない。ここからが、現代のIT労働者が血涙を流す隠蔽仕様―「ステルス自宅残業」の始まりだった。

    深夜2時。江東区の自宅マンションのリビングで、私は一人、MacBookを開いていた。

    昼間のオフィスの喧騒が嘘のように静まり返った部屋で、キーボードを叩く音だけが規則正しく響く。
    目の前には、漆黒の画面に流れる、無機質で冷徹な0と1の羅列だ。余計な装飾を排し、ただ、正常な挙動だけを追求したコードの深淵。それは、無駄のない思考そのものだった。

    その作業はまるで、世界の終わりに誰もアクセスすることのないサーバーの電源を、たった一人で静かにメンテナンスしているような、孤独と諦念に満ちていた。

    私は大和重工の既存コードを解析しながら、背筋が凍るような記述を見つけていた。

    「…何これ。10年前のバグを修正せずに、上からダクトテープを巻くみたいに別のコードで隠してあるじゃない」

    読み進めるうちに、目眩がしてきた。変数名には『tmp_data2_final_revised』といった、場当たり的な修正の歴史を物語る絶望的なネーミングが並び、処理の分岐(if文)はネストを重ねすぎて、さながら終わりのない無限ループという名のバグの巣窟のようになっている。
    さらに最悪なのは、随所に書き残された過去のエンジニアたちの悲鳴(コメントアウト)だった。

    // 理由不明だが、ここをコメントアウトすると動かない。触るな危険(2012年 鈴木)
    // 仕様変更により急遽追加。本番反映後に要リファクタリング(※結局されてない・2018年)

    それは、表面上は正常に動いているように見えても、今回のクラウド移行の負荷がかかった瞬間に、すべてのデータが虚無へと消え去るような、致命的な脆弱性(ロジックバグ)だった。

    これよ。これが現場の真実。リーダーたちが「空気感」を調整している間に、システムの底辺では静かに破滅のカウントダウンが始まっている。

    私はため息をつき、画面の輝度を少し下げた。

    徹夜のログを刻むには、私のHP(ライフ)は少なすぎる。そして、明日の朝には、この恐ろしい真実を「お化粧」して組織に報告しなければならないという、もう一つのクソ仕様が待っているのだ。



    第2章 資料の3重構造という名のフェイク


    翌朝、私は完璧にアイロンがけされたネイビーのジャケットを羽織り、豊洲のオフィスビルへチェックインした。

    前夜の睡眠不足(総ログイン時間:3時間)はコンシーラーの厚みに正比例する。しかし、ゲートを通過する私の背筋は、システムのエラーログ一つないサーバーのように真っ直ぐだ。

    1.現場用資料(真実100%)
    正しくシステムを動かすための、あらゆるリスクと障害データをあからさまに書き殴った、デバッグのための真の仕様書。昨夜、私が深夜の深海ですくいあげた「10年間ダクトテープで補強されていた致命的バグ」のキャプチャが、血の滴る生肉のように生々しく貼り付けられている。 

     2.役員用資料(お化粧100%)
    「5分で状況を知りたい」偉い人のための、不具合やトラブルの兆候を綺麗に隠蔽し、全てが完璧に順調であると錯覚させる書類。カラーは目に優しいパステルカラー、グラフの矢印はすべて右肩上がり。バグは「要最適化領域」という、文学的とすら言えるマイルドな表現にパッチが当てられている。

     3.クライアント用資料(提案100%)
    成果をアピールしつつ、次の契約リソースをハックするための美麗なプレゼンテーション用スライド。文字数は極限まで減らされ、代わりに「DXによるアジリティの向上」「次世代インフラへの昇華」といった、耳触りは良いが辞書には載っていないようなバズワードが並ぶ。

    なぜ私たちは、大の大人が集まって、何千万もの給料をもらいながら、こんな精緻な嘘の3重構造を構築しているのだろう。

    「レイさん、ちょっといいかな?」

    私の脳内プロセッサが静かに煙を上げていると、背後から佐々木くんが声をかけてきた。相変わらず、彼のシャツの襟元からは、毎朝念入りにスプレーされているであろう、シトラス系制汗剤の「完璧に計算された清潔感」が漂っている。不快なノイズを一切排除した、若きリーダーの隙のないエチケットの香りだ。

    「大和重工の役員向け事前レポの件なんだけど、犬飼さん(我が社の役員)が『せっかくの大型プロジェクトなんだから、もっと夢のある仕様を追加できないか』って言い出してさ」

    犬飼執行役員。現場のコードを1行も読めないくせに、最新のガジェット誌をパラパラめくった知識だけで「これからはAIだよ、AI。生成AIを組み込んで、自動で業務フローを最適化する機能をマストで入れよう」と会議で叫ぶことで有名な、我が社の「歩く脆弱性」である。

    「…生成AI、ですか」

    私は完璧なビジネス敬語のトーンを維持したまま、わずかに首を傾げた。

    「大和重工様のデータは、タンスの中身がぐちゃぐちゃに引っかき回された状態です。そこに最新の全自動洗濯機(生成AI)を繋いでも、中から出てくるのは『きれいに絡まり合った、どうしようもないゴミの塊』だけでございますが」

     
     
    仕事、家族、恋愛、ときどき台所の失敗。 少し笑えて、少し生きやすくなる物語にしています。 家族譚、人間観察の小説、ワクワクする宛先から書く。 音楽も書くことも好きです。 十年以上続くブログ|kanonway.link 小説|kakuyomu.jp/users/kanonway

    あなたへのおすすめ