魔法つかいプログラマー!
「すみません、すみません、必ず、はい。明日には間に合わせますので。申し訳ありません……。ふぅ」
受話器を下ろし、ため息をつく。彼の名前は桑島。プログラマーだ。
来る日も来る日も残業、残業の日々。今日もまた納期ぎりぎりになり残業だ。
「今時連絡が電話なんてなぁ。アナログなんだよ、っとに! もう! なんだこのバグ! ありえんだろ……あ、ここだわ……」
プログラマーの仕事というのは地味なものだ。渡された仕様通りにプログラムを書く。それだけではあるのだが、好き勝手にコードを書けばいいというものでもない。
厳密に決められたルールに従ってコードを書き、上からの命令一つで仕様変更。仕様変更が合った日には多少納期が遅れはするものの、結局やることは山のように増え、コーディングはもちろん、テストのやり直しや全体がうまく流れているかというチェックも必要になってくる。
一か所修正すれば、そこに連動しているような個所も同時に修正しなければならないのだ。
「おわんねぇよぉ」
嘆く彼の周りには数人の徹夜勢がいるが、いずれも力尽き果てている。そういう職場なのだ。昼間はオフィス全体には常に焦燥と逼迫した雰囲気があり、みな目をギラギラさせながら仕事に励んでいるし、夜は納期その他様々な敵に打倒された者どもが屍を重ねている。
「魔法でちょちょいってプログラムが完成したらなぁ~いいのになぁああ」
もはや桑島は訳がわからなくなっていた。訳がわからなくなっていてもやらなければならないものはやらなければならない。
けれども、もう自分の力でやり続けることに限界を感じた。彼が夢見るのは魔法使い。ちょちょいっと魔法の力を使ったらいつの間にかプログラムが完成してしまうような世界。
そう、目の前の納期という悪魔が彼の思考の自由性を阻害してしまっているのだ。魔法が使えたらもっといろいろなことができるのに、彼が今魔法を使ってしたいのは、プログラムを完成させること。
そんな嘆きの声を聞いた魔法使いが、彼の脳に直接語りかける。
『あなたにプログラムを作成する魔法の力を授けましょう』
「えっ!?」
桑島はついに自分の頭がおかしくなったと思った。頭の中で変な会話が成立している。怖い。やばい。どう考えてもおかしい。
『あなたが強く念じればそのプログラムは完成します。あなたはこの苦行から解放されるのです』
「あああ……」
桑島はコーディングする手を止め、頭を抱える。ああ、ついに自分も精神がダメになってしまった。目の前のプログラムをなんとかしたいあまり、自分で魔法の力が使えるようになってしまった。意味がわからない。
魔法の力とはなんだろうか。念じることによって自分の意識が吹っ飛び無意識下でコーディングの作業が続けられ意識が戻った時にはコーディングが完了しているのだろうか。それはそれでありかもしれない。
しばらく頭を抱えていると、頭の中の声はとっくに聞こえなくなっていることに気がつく。なんだ、気のせいだったのか。いや、もうだめだ。今日は早く帰った方がいいかもしれない。早くといってももう日をまたぐ寸前なのだが。
けれどもオフィス内にはまだわずかにキーボードの音がしている。まだ戦っている戦士たちがいるのだ。桑島も負けるわけにはいかない。
「よしっ!」
気合を入れ直して作業を再開する。しかし、続かない。集中力が続かない。コードはわずかにわずかにのろのろと書き進められるものの、これでは間に合わない可能性が極めて高い。
桑島は思った。頼む、もう完成してくれ、と。強く祈った。強く念じた。
さっと脳の中を閃光が駆け抜けた。瞬きし、目を開ける。画面を見る。
そこには完成したプログラムがあった。
「!?」
驚く。驚かざるを得ない。今自分が書いていた表示処理も、ただただ工数だけがかかるであろう計算処理も全て記述されていた。
「え、終わった!? 無意識かな!? こわっ! おれこわ!」
思わず一人ツッコミを入れまくる。ためしに画面を表示してみるが、きちんと仕様通りに完成している。これなら問題なさそうだ。
桑島はすごい能力を手に入れてしまったのだ。
桑島はもう働かなくてもいいと思った。この能力さえあれば、なんとでもなる。プログラムを無限に作成できる。そう思った。
しかし、次の日、別のプログラムを作ろうと必死に念じてみたものの、全く発動しない。昨日のは一体なんだったのか。やはり、無意識下で自分がプログラムを組みあげていただけだったのだろうか。やりきれない思い。
そうこうして、結局桑島の生活はもとに戻った。もとに戻ったかのように見えた。
それは長く険しい納期戦争。プロジェクトは炎上し、救援はどこにも求められず、遅れていますと報告しようにも上司もみんな遅れている。本来、救援を要請するという意味も含まれる遅延の報告が何の意味もなさない。
それでも桑島はやりきらねばならない。
自分一人が遅れることで、どんどん下工程へと遅れが広がっていくのだから。やらなければならないのだ。
そうしてまた深夜残業。納期は明日の朝。仕様変更に次ぐ仕様変更でようやく固まった仕様だったが、今から修正を行っていくにはあまりにも変更箇所が大きく、もはや一から作り直した方が良いのではないかというほど。
もうだめだと桑島は思った。
なんとしても目の前の画面にあるプログラムを完成させなければいけないのだ。いけないのだが、もう心が折れそうだ。
完成させたいという強い気持はある。念じることくらいしかできない。もう正直に、完成しませんでしたと言おう、言ってしまうしかない。プロジェクト全体はより一層炎上していくだろうが、もはや桑島一人に抱えきれるものではない。
その時だった。またあの時のような閃光が頭を貫いた。
同時に、すぐに画面を見る。
できていた。プログラムが完成していたのだ。
ピンチの時しか発動しないのかなと思いつつ、とにかく安心する。テストをしてみても、無事に動く。これでプロジェクトは大きな炎上を回避することができるだろう。このプログラムを横展開し、各プログラマー勢にも同じように作ってもらえば納期もなんとかなる可能性が見えてきたのだ。
桑島の活躍が功を奏して、なんとかプロジェクトは達成された。当初計画していたより納期は数日遅れたものの、システム導入の日付は直接ずれることなく、実務に影響が出なかったのは奇跡だった。
これ以後、桑島の評価もうなぎ上り。優秀なプログラマーとして社内の各プロジェクトへ緊急応援という形で入った。
緊急応援を必要とするようなプロジェクトなのだから、言うまでもなく絶賛炎上中なものが多かった。だからこそ、桑島の能力はより一層輝いた。
不可能を可能にする男。魔法でも使っているのではないかと尋ねられることもあったが、魔法でプログラムが組めるわけないというのが世間一般の常識であり、桑島がよもや本当に魔法でプログラムを作っているなどと思うものはいなかった。
こうして、いくつものプロジェクトが大炎上を回避し、ぎりぎりのところで踏みとどまった。
そんなある日のこと。一番最初に魔法を使ったプロジェクトの保守班からお呼びがかかる。
システムというのは常に変化するものだ。ユーザー、つまり、使用者が「データの入力の仕方が変わったからここを変えてくれ」と要望して来ればその修正を行うのは保守班の役割である。
仕様書がしっかりしていれば、本来、桑島にお呼びはかからない。しかし、炎上間際のプロジェクト、それも仕様変更に仕様変更を重ねた仕様書がしっかりしていたはずがないのだ。
保守班がプログラムのソースを読み解いて修正するというのはあまりにも非効率的で、となるとお呼びがかかるのはもちろん開発もとの人間。
「桑島君、このプログラムの作成者君だよね。少しここの仕様について聞きたいのだけれど……」
桑島はそう言われて画面をのぞき込む。複雑な処理。ん、自分が書いたはずなのに、見たことがない。
それもそのはず、このプログラムの大部分は魔法によって書かれたものなのだから。
「えっ……と……」
桑島はプログラムを読もうとする。が、それなら保守班が同じことを行ってもかかる時間は変わらない。膨大な時間を要するのだ。
「……君、自分で書いたプログラムのこと何も覚えていないの?」
覚えていなかった。全く。普通は少し読めばある程度思い出せるはずなのに。何年も経ったものでないのだからこそ、こうして呼ばれているのだから。
しかし、目の前にあるプログラムは完全なるブラックボックスだった。自分が知っているような書き方よりもさらに高度で複雑に書かれている。とんでもない。
「…………」
「工数使っていいから、こっちやってね」
結局、この問題は桑島が一人で解決するということになってしまった。
桑島はその後を考えた。緊急応援に入ったプロジェクトのシステムリリース後の仕様変更──。
何個のプログラムを魔法で書いてしまっただろう。
目の前が暗くなると共に、二度と魔法の力になんか頼るものかと思うのだった。