第五話 人が足りない現場
深夜対応の翌朝、翔太は寝不足のまま出社した。
鏡で見た自分の顔は、十九歳の若さでは帳消しにできない種類の疲れをしていた。目の下にうっすら影ができ、首筋には浅いだるさが残っている。たった一度夜更かししただけでこれか、と情けなくなったが、オフィスに入ると木村や田中の顔はもっと平然としていて、情けなさを口に出す気にもなれなかった。
「おはよう」
木村はすでにコーヒーを二杯目まで飲んでいるらしかった。
眼鏡の奥の目は少し赤い。それでも声の調子は変わらない。
「昨日の件、ログはどうでしたか」
翔太が聞くと、木村は一拍だけ置いた。
「揺れは取れてた。タイムスタンプのずれも、保存ログには痕跡が薄い」
「じゃあ、あれは……」
「見間違いの可能性もある。ログ出力の順序が前後すること自体は、珍しくない」
言い方は冷静だった。
だが、その冷静さの内側に何かをしまい込んでいるのが、前より少しだけわかるようになっていた。
「今日は別件。人が足りなくて、研修課題だけってわけにいかない。小さい修正を一本、手伝って」
そう言って共有されたのは、顧客向け業務システムの入力補助画面の改修だった。
本来なら新人に任せる類ではないのかもしれない。だが、現場の人手は足りていないらしかった。田中は朝から電話で運用トラブルの対応に追われ、秋山は営業先との打ち合わせ資料を作りながら別案件の進捗確認もしている。奥の席ではインフラ担当がヘッドセット越しに誰かへ謝っていた。
翔太は指示書を読み、修正範囲を確認した。
入力フォームの補助表示。既存ロジックへの軽微な条件追加。
一見すると小さい。だが、小さい修正ほど既存影響の見極めが難しいことを、この数日で学び始めていた。
「ここ、前からこうなってたんですか」
ソースを読みながら翔太が聞くと、木村は自分の画面から目を離さずに答えた。
「前任者が継ぎ足して、また別の人が継ぎ足して、今の形。最初の設計はもう残ってない」
「仕様書は」
「最新版らしきものはある。でも、現物と一致してる保証はない」
その言葉に、翔太は専門学校で教わった“理想的な開発工程”を思い出した。
要件定義。設計。実装。テスト。運用。
きれいな順番。
けれど現実の現場では、その順番が守られたまま時が流れているわけではない。運用の途中で継ぎ足され、直され、例外が増え、誰かの都合で優先順位が変わる。そうして結果だけが積み重なっていく。
それはまるで、いつからそこにあるのかわからない古い街のようだった。
最初は設計図があったのかもしれない。だが今は、住みながら直すしかない。
午前中いっぱいかけて修正案を作り、木村へ見せる。
指摘は細かかった。条件分岐の位置。バリデーションの順序。ログ出力の粒度。
翔太は何度も直しながら、自分が“動くかどうか”しか見ていないことを痛感した。木村はその先――運用で困るか、他人が読めるか、あとで戻せるか――を見ている。
「なんでそこまで考えるんですか」
思わず口をついて出た。
木村は数秒考えたあと、椅子の背にもたれた。
「壊れるから」
「はい」
「システムは壊れる。想定通りに壊れないだけで。だから直すときは、“次に壊れるとしたらどこか”まで考える」
翔太は黙った。
壊れることが前提。学校では、完成したものは“できあがったもの”だった。だが現場では、完成はたぶん仮置きにすぎない。いつか壊れる。だから、どう壊れても戻せる形にしておく。
昼過ぎ、秋山が席まで来た。
タブレットと紙資料を抱え、少し急いだ声で言う。
「木村さん、午後の打ち合わせ、先方が前倒し希望です。あとこの修正、できれば今日中に確認画面まで見せたいって」
木村は眉を動かさなかった。
「今日中?」
「向こうの部長が明日休みで、今日中に一回見たいそうです」
「無理って言った?」
「言いました。でも、“小さい改修ですよね”って」
秋山の声には、疲労と慣れが混ざっていた。
理不尽な要求に腹を立てる段階は過ぎていて、ただ処理しようとしている声だった。
木村は小さく息を吐く。
「わかった。こっちで何とか組む。田中さん今つかまる?」
「たぶん電話終われば」
秋山が去っていく。
翔太はその背中を見送りながら、言葉を探した。
「小さい改修、じゃないですよね」
「言う側にとっては小さいんだよ」
木村はそう言ってキーボードを叩いた。
「使う側は一画面の差にしか見えない。作る側だけが、後ろで何本線がつながってるか知ってる」
午後の空気は、午前より明らかに速かった。
田中が加わり、確認観点を整理し、木村が修正をレビューし、秋山が先方との調整を挟む。翔太も小さな修正とテストデータの作成を任され、必死で手を動かした。
誰も怒鳴らない。だが、沈黙がせわしい。
オフィスのあちこちで、別々の問題が同時に進行している。
その最中、翔太はふと、自分の作業ウィンドウの隅に古い共通ライブラリの参照が入っているのを見つけた。
例の boundary を含むモジュールだ。
今回の修正には直接関係ない。だが、どの画面のどの処理にも、薄く広くそのモジュールが入り込んでいる。
「木村さん」
「ん?」
「この boundary って、結局何のためにあるんですか」
木村の手が一瞬だけ止まる。
「境界値チェックとか、入出力変換とか、そういうのをまとめた古い共通部品。たぶん」
「たぶん」
「昔からあると、誰も中を全部は見ない」
それは答えになっていない。
だが、あえてそこまでしか言わないのだと翔太は感じた。
夕方、どうにか顧客へ見せられる形まで修正をまとめ、確認環境へ反映する。
秋山が画面共有の準備をし、木村が横で挙動を確認し、田中が念のためバックアップを取る。
その慌ただしさの中で、翔太ははじめて「現場で人が足りない」とはどういうことかを身体で理解し始めていた。
ただ忙しいのではない。
余白がないのだ。
ひとつの作業に一人の頭が埋まっている。誰かが抜ければ、その穴はすぐ別の誰かの疲労になる。だから古いものは後回しになる。だから仕様の背景は消える。だから“とりあえず動く”が延命される。
打ち合わせが終わるころには定時をかなり回っていた。
先方は画面を見て満足したらしく、「これでお願いします」と軽く言った。軽く。
その言い方に、翔太は少しだけ苛立ちを覚えた。こちら側でどれだけの線がつながり、どれだけの確認が必要だったかを知らない声だと思った。
それでも木村は通話を切ったあと、ただ言った。
「よし。次の事故を減らせる形にしてから上げよう」
“終わった”ではなく、“次の事故を減らす”。
その発想が、この仕事の本質なのかもしれないと翔太は思った。
帰り際、木村が珍しく少しだけ疲れた顔を見せた。
「今日みたいなの、たまにじゃなくて普通にあるからね」
「毎回こんな感じなんですか」
「もっとひどい日もある」
冗談のように言ったが、冗談には聞こえなかった。
翔太は鞄を肩にかけながら、静かに言った。
「……でも、嫌じゃないです」
木村が眉を上げる。
「何が」
「忙しいのはしんどいですけど、問題がばらばらに見えてたものが、少しずつつながる感じは」
言いながら、自分で言葉に驚いた。
確かにしんどかった。疲れた。追いつけない時間も多かった。
それでも、混乱の中に筋道を見つける瞬間だけは、妙に心が静かになった。
木村は少しだけ笑った。
「それ、たぶん向いてるよ」
その言葉を、翔太はうれしいより先に怖いと思った。
向いている。
その一言は救いにも呪いにもなる。向いてしまったら、きっと簡単には離れられない。
会社を出ると、夜風が少し湿っていた。
道路脇の植え込みから春先の土の匂いがする。
ビルの窓に映る自分はまだ新人で、ただ疲れているだけの青年に見えた。だが、その内側で何か別の感覚が育っていることを、翔太はもう無視できなかった。
壊れたものを見ると、直したくなる。
筋道の見えないものに、手順を与えたくなる。
それは適性なのか、欠落なのか、まだわからない。




