第一話「究極の仕様変更ドリフト」
深夜0時。東京都・錦糸町。
高架下の雑踏が遠ざかる裏通りに、ひっそりと佇む築38年の雑居ビル。
その4階で、能木デッドラインズ株式会社の小さな事務所が静かに息づいている。
ここには看板もなければ、社名らしきものすら見当たらない。
インターホンはアニメシールで埋め尽くされ、足を踏み入れた人間は三度迷うという。
ただの古びたワンルームだが、そこが、納期という名の“峠”を走るバトルフィールドなのだ。
蛍光灯が半分しか点いておらず、室内はほの暗い。
LEDデスクライトとディスプレイの光が、コーディングに集中する者たちを包む。
壁際にはホワイトボード。
かすれた文字で「Sprint9 残タスク:3/修正山積」と一覧が並ぶ。
マーカー痕は、ここが戦場を思わせる。
冷蔵庫の上には「飲んだら補充」のメモと、3本の空き缶。
投げ出されたLANケーブルは床を這い、まるで絡みつくように床を覆う。
観葉植物の葉は枯れかけ、かつてここにあったコーヒーメーカーは土台として機能している。
その最奥に、一人のエンジニアが向き合っていた。
──納戸 納男。
能木デッドラインズ唯一の新卒。
そして初案件を抱えたフルスタックエンジニアだ。
コードを打つ指先には迷いがなく、画面を見つめる背中には、確かな覚悟と静かな威圧感が漂っている。
「TOPバナーOK、レスポンシブクリア、OGP画像確認済、バリデーション通過済」
彼はつぶやきながら、ステージング環境へデプロイされた画面をキャプチャしてNotionにアップロードする。
それは、地域密着型個人店「山吹商店」のリニューアル案件で、この夜が彼にとっての最初のソロ納品だった。
修正は細かく、クライアントからの要望は「フォントはもう少し丸く」「もっと“かわいい感じ”」「猫関連はもっと増やして」など、感情的とも言えるものだった。
それらをひとつずつケアし、仕様に落とし込み、コードに重ねてきた。
「──よし」
静かな声が、薄暗い部屋に落ちた。
彼はイヤホンを差し、再生ボタンを押す。
ユーロビートが脳内を満たす。
アップデートされるテンポに、心拍が反応し、全神経が集中する。それが、彼の“納期ドリフト”モードだった。
「納男くん、コーヒーいる?」
背後から声がした。
PM兼代表の早刷 太郎である。
スウェットにサンダル姿で、コンビニの缶コーヒーを2本持ってフラリと現れた。
「ありがとうございます。もうすぐリリースできます」
「そうか……お前、ずっとこれ追いかけてたからな。山吹さん今回こそ、もう仕様変更ないって言ってたし、万全だな」
その言葉が終わるか終わらないかの瞬間、Slackの通知音が跳ねた。
画面右上に現れたのは、クライアント担当の無茶 振男からのメッセージ。
「すみません! 店長が“TOP画像、やっぱ動画がいい”って言い出して……あと、会員登録機能も追加で……!納期はそのままでお願いします……!」
深夜0時47分。
納期まで、残り3時間——。
「はあああっ!? 今更動画と会員登録!? ふざけんなっ!」
早刷が机を叩き、缶コーヒーが倒れる。
「納男、これは……無理だって言っていいぞ。断っても、普通だ、普通!」
部屋に緊張が走る。
仕様変更、それも納品前という最悪のタイミング。
だが、納男は立ち上がった。
「やります。やらせてください」
その声に、早刷の表情が変わる。
ある記憶が、無言で蘇ったのかもしれない。
そう──業界には伝説がある。
“納戸 納蔵”、仕様変更に笑って応え、納期を狂気の速さで守り切る“納期界の狂犬”。
納男は、その息子──。
納男の頭の中に、あの夜の声が響いた。
──忘れもしない、中学2年の夏。
友人たちが部活やゲームに熱中していたその時期、納戸は実家の居間で、古びたThinkPadと向き合っていた。
目の前にいたのは、冷たい目をした父。
かつて“納期界の狂犬”と恐れられた伝説のフルスタックエンジニア。
息子である納男に、容赦のない“特訓”を課していた。
あの晩も、突然だった。
「30分で会員登録フォームを実装しろ。
メール認証、再発行、バリデーション、全通し……途中で詰まったら、そこで終了だ。
失敗したら──飯抜きだ。」
夕食直前の挑戦状。
冗談かと思ったが、父の目は一切笑っていなかった。
納男は震える指でコードを書き始めた。
HTMLもLaravelも、ようやく分かってきたばかりの頃だった。
認証メール? バリデーション?
それがどれだけの仕組みの積み重ねかも分からず、とにかく夢中で手を動かした。
汗が机に落ちた。
エラーに叩き潰され、何度も途中で投げ出したくなった。
けれど、やめなかった。
やっとのことで動いたフォームを見て、父がポツリと漏らした言葉が、今でも忘れられない。
「……“間に合った”か。それだけで、上等だ。」
たった一言。それが、彼の中の何かを決定づけた。
それ以来、納男は“間に合わせる”という執念だけは、誰にも負けない自信があった。
──そして今、この仕様変更もまた、“峠”だ。
あの日の記憶が、彼の背を強く押した。
「まず動画。既存LPからvideoセクションを抽出し、MP4/WebMタグ追加。OGPタグの再設定も即対応」
キーボードの音が加速する。
「次、会員登録。Laravel Breezeで基盤構築、Role階層をDB設計。Middlewareでランク制御。SendGrid連携して、認証メール送信完了!」
ターミナルにコマンドが流れ、コンテナが再起動される。
彼の呼吸は荒く、だが手は止まらない。
「ミドルウェアはこう……あ、そっちだな……よし、マイグレーションも通った」
ユーロビートのBPMに合わせて、コードは曲線を描く。
まるで峠道を滑り抜けるかのように。
彼の集中力は、もはや“臨界点”を突破していた。
そして──午前3時12分。
GitHub Actions緑点灯。
ステージング反映完了。
認証メールも正常送信。
確認テストもパス──全てが揃った。
「通ってくれ……俺の納品!!」
クリック音が響き、Slackに通知が飛ぶ。
《無茶 振男:神対応すぎて泣きました。ありがとうございます!!》
空気が弾けた。
部屋の蛍光灯も、たった今点灯したかのように、彼の背中を照らす。
早刷は無言で立ち上がり、ゆっくりと拍手した。
「納期……“納める”ってのは、こういうことか」
朝4時過ぎ。
空がわずかに白み始めたころ、納男がオフィスを出ようとしたそのとき。
非常階段の前に、ひとりの男が立っていた。
長身で、黒縁メガネ。
片手にはMacBook、もう片手には分厚い設計書。
光の乏しい廊下に、静かにその姿を現す。
「納男、お前だったか。……やっぱり、やりきったんだな。」
その声に、納男は立ち止まる。見上げた先にいたのは
──設計 裕。
能木デッドラインズの設計担当にして、資料至上主義の偏屈エンジニア。
納男が入社して以来、会話といえば設計レビュー時に数回。
だが、何もかも把握しているような観察眼の持ち主だった。
裕は少しだけ口元をほころばせ、納男に近づいた。
「無茶振男の案件、仕様変更ドリフト込みで3時間で納めるとはな。……納戸納蔵の息子は、やっぱり“走り”が違う。」
MacBookを軽く持ち上げて見せると、こう続けた。
「お前、次のプロジェクトに乗ってみる気はあるか?
スケジュールは地獄だが──お前なら、面白い“峠”を攻められる。」
納男の胸の奥で、何かが静かに点火するのを感じた。
──その瞬間、彼の物語のギアが、一段上がった。