世の中には二種類の人間がいる。
「動けばいい」と祈りながらクソコードを世に放つ臆病者と、その後始末を請け負う命知らずだ。
俺たちの事務所に持ち込まれる案件は、どれも似たり寄ったりだ。
「仕様書と挙動が一致しません。挙動の方が正しいと思ってください」
「なぜ動いているのか、社内の誰も知りません」
そんな甘い囁きと共に、数万行の泥沼がUSBメモリという名の棺桶に入れられてやってくる。
「……おい、この関数名を見てくれ。logic_final_final_v3_dead() だ。前任者の断末魔が聞こえるようだぜ」
相棒はキーボードを叩きながら、安物のバーボンを一口煽るような顔で、エナジードリンクを啜った。
「いいか、コードを読み解くのは、凶悪犯のプロファイリングと同じだ。なぜここでグローバル変数を書き換えたのか? なぜ、わざわざ再帰処理の中でDB接続を張ったのか? 犯人の――いや、開発者の『絶望』を理解したとき、ようやくデバッグの入り口に立てる」
俺たちは画面の中の暗黒街を歩く。
1フレームごとに発生するメモリリークは、雨上がりの路地裏に溜まるヘドロだ。
そして、ようやく見つけたバグの正体が「タイポ(打ち間違い)」だったとき、俺たちは乾いた笑い声を上げる。