俺のソースコードがスパゲッティすぎて異世界の魔法が暴走する件〜チーム開発で世界を救います〜

アルゼン枕子

第1話 異世界転移したらパイソニスタになった件

## 前書き

過労死寸前のITエンジニアが異世界転移!転移した先は魔法がプログラミング言語で動く世界でした...


---


午前3時のオフィスに響くのは、キーボードを叩く音と、空調設備の単調な唸り声だけだった。まるで地下鉄の終電みたいに、規則正しく無機質な音だ。


蛍光灯の白い光が、上村翔太の疲れ切った顔を照らしている。28歳、ITエンジニア。今月の残業時間は既に200時間を超えていた。もう数字というより、人生の墓標みたいなものだ。


『また無茶な仕様変更かよ...』


モニターに表示されたバグレポートを見ながら、翔太は深いため息をついた。緊急修正、緊急修正、緊急修正。デスマーチはもう3ヶ月も続いている。


「お疲れ様でーす」


同僚が帰っていく。翔太は軽く手を振り返すのが精一杯だった。


『みんな帰るのに、俺だけ残業...これが「チーム一丸」の現実かよ』


コーヒーは既に冷めていた。5杯目だったか、6杯目だったか。カフェインが血管を駆け巡っているのに、眠気だけがジワジワと這い上がってくる。薬が効かないゾンビ映画みたいだ。


キーボードを叩く手が重い。目がかすむ。でも、締切は明日の朝だ。


「あと少し...あと少しで...」


翔太がreturnキーを押した瞬間、世界が真っ暗になった。


***


『...ん?デバッグ終わった?』


翔太は目を開けた。見慣れない天井がそこにあった。石造りの梁と、やけに凝った装飾。


『ここ、どこだ?会社の仮眠室にこんな内装あったっけ?』


体を起こすと、完全に中世ヨーロッパ風の部屋だった。ベッドの足元には、RPGの村人が着てそうな服が置いてある。


「おお、目覚めたか」


振り向くと、白いローブを着た老人が立っていた。


「君は『シュウ・ヴァルド』。この世界に召喚された者だ」


『...は?召喚って、RPCコールのことじゃないよね?』


「魔法と科学が融合したこの世界、インデント・シティで新しい人生を始めるのだ」


翔太...いや、シュウは頭を抱えた。過労で幻覚が見えてるのか、それとも本当に異世界なのか。どっちにしても、現実逃避としては上出来すぎる。


『異世界召喚?死んだ記憶もないし...まあ、あの残業量なら過労死も納得だけど』


「ところで、そなたの前世での職業は?」


「えーっと...ITエンジニアです」


老人の目が輝いた。


「素晴らしい!君が十全に能力を発揮できる職を手配しておこう!」


***


インデント・シティの街並みは、確かに中世ヨーロッパ風だった。石畳の道、石造りの建物。でも、妙にハイテクな違和感がそこかしこに漂っている。


『なんだ、あの光ってる物体...街灯がBlueScreenしてる?』


建物の壁に取り付けられた四角い物体が、不吉な青い光を放っていた。よく見ると、見慣れた文字が表示されている。


「ERROR: Syntax Error in line 42」


『...うわあ、異世界でもエラーメッセージかよ。悪夢が現実に追いかけてきた』


「おお、シュウよ。あれはこの街の魔法システムの状態表示だ」


老人が説明した。


「この世界の魔法は、君たちの世界でいうプログラミング言語で記述するのだ。あれは街灯の制御魔法にバグが発生している証拠だな」


『プログラミング言語で魔法?』


シュウの頭の中が混乱した。


街の中心部に向かう途中、いくつもの「エラーメッセージ」を目にした。「Index out of range」「Null reference exception」「Memory leak detected」...まるでバグ報告書を街角に貼り付けたみたいだ。


『なんで異世界でもバグと戦わなきゃいけないんだ...転生特典で「デバッグ不要」とかなかったのかよ』


***


ふと気づくと、<魔法インフラ保守ギルド>と書かれた看板の前に、シュウは立っていた。


『保守...メンテナンス系か』


建物の中に入ると、見慣れた光景が広がっていた。デスクには魔法鏡モニター魔法盤キーボード。壁には付箋紙がびっしり。コーヒーの香りが漂っている。もうこれ、異世界じゃなくて隣のビルのSIer企業だろ。


『魔法の世界なのに、なんでこんなに既視感があるんだ...』


「君が新しく来た魔法士プログラマーか?」


振り向くと、40代くらいの男性が立っていた。疲れた表情だが、どこか親しみやすい雰囲気がある。


「俺はコミット・マージン。この支部の支部長だ」


「シュウ・ヴァルドです。よろしくお願いします」


不思議なもので、こっちの世界での俺の名前が自然と口に出た。


「前職の経験は?」


「デスマーチです」


コミットの表情が急に真剣になった。まるで戦友を見つけたみたいな目つきだ。


「...それは、大変だったな。俺も昔、ドラゴン討伐システムの炎上案件で死にかけた」


『ドラゴン討伐システム?異世界なのにシステム開発かよ。でも、この人なら話が通じそうだ』


「で、この街の魔法システムだが」


コミットが説明を始めた。


「基本的には、この街の詠唱文言語は『パイソル』だ。ポインタ帝国のシープラよりもシンプルで、魔力メモリとの連携機能が追加されている。まあ、君ならすぐ慣れるだろう」


魔法鏡モニターに表示された呪文コードを見せてくれた。


```pythol

import fire_magic

from mana import ManaPool


def cast_fireball(target, power=50):

mana = ManaPool.current()

if mana < power:

raise InsufficientManaError("魔力不足です")


spell = fire_magic.Fireball(power=power)

return spell.cast(target)

```


『これ...まんまPythonじゃないか!しかも魔法でファイアボール撃つってどういう発想だよ』


シュウは驚いた。構文、インデント、ライブラリのimport文、全てがPythonそのものだった。ただし、ライブラリが「fire_magic」。現実離れしすぎて、逆に親近感が湧く。


「試しに、簡単な魔法を使ってみるか?」


コミットがシュウに魔法盤キーボードを向けた。


「じゃあ、import fire_magicで...」


シュウが呪文を入力し始めた瞬間、突然炎が噴き出した。


「うわあああ!」


慌てて消火魔法が発動され、煙が立ち込めた。


「おい、import文だけで発動するなよ...初心者あるあるだな」


コミットが苦笑いした。


『この世界、危険すぎる...import文がリアル爆弾とか、テストサーバーって概念ないのかよ』


***


「で、給料なんですが」


面接が一段落したところで、シュウは重要な質問をした。


「基本給は月3万魔法貨幣PYC。深夜対応や緊急案件は別途手当が出る」


魔法貨幣PYC?」


「パイコイン。この街の通貨だ。コーヒー1杯が5魔法貨幣PYC程度だな」


『物価はそれほど悪くない...』


「それで、労働時間は?」


「基本は9時~17時。ただし...」


コミットの表情が曇った。どこの世界でも、IT業界の人間が見せる「察してください」な表情だ。


「この業界、どうしても緊急対応が多くてな。特に最近は、魔法システムが不安定で...」


『やっぱり残業ありか...』


「定時で帰れますか?」


「...努力はしている」


『異世界転移して、まさかの同じ悩み。せめて魔法で残業時間を短縮できないのかよ』


でも、シュウにはもう選択肢がなかった。異世界に来ても、詠唱文プログラミング以外にできることもない。あの神様っぽい人はチートスキルのチの字も出さなかった。転移特典、ケチすぎるだろ。


「わかりました。よろしくお願いします」


「よし、明日から頼む。君の経験があれば、きっと活躍できる」


コミットが握手を求めてきた。


『まあ、とりあえず食べていけそうだし...』


***


ギルドを出て街を歩いていると、夕暮れの街並みが美しく見えた。石造りの建物に、魔法の明かりが灯り始める。


でも、よく見ると、あちこちで「ERROR」の表示が点滅している。


『この世界の魔法システム、相当ひどい状態だな...』


カフェに入ってコーヒーを注文した。5魔法貨幣PYC。味は普通だった。


『異世界転移か...まあ、前の会社の地獄会議よりはマシかもしれない』


カフェの隅では、若い魔法士プログラマーたちが技術談義をしていた。


「この関数、計算量がO(n²)になってるよ」


「え、マジで?リファクタリングしなきゃ」


『どこの世界でも、プログラマーは同じことで悩んでるんだな...アルゴリズムの計算量を気にする魔法使いって、シュールすぎるだろ』


シュウは苦笑いした。


窓の外では、街の魔法システムがまた一つ、エラーを起こして点滅していた。明日から、あの魔法システムの保守をするのか。


『やれやれ、なんで異世界でもデバッグしなきゃいけないんだ...異世界転移したら勇者になって魔王倒すとか、そういう分かりやすい話はないのかよ』


でも、不思議と嫌な気分ではなかった。久しぶりに、定時で帰れるかもしれない職場だ。前の会社の「チーム一丸で頑張ろう!」地獄よりは、はるかにマシそうだった。


『まあ、頑張ってみるか。最悪、魔法でバグを物理的に消去とかできるかもしれないし』


コーヒーを飲み干したシュウは、明日への準備を始めることにした。


異世界での新しい人生が、今始まろうとしていた。


---


## 後書き

異世界転移したのに結局プログラマー...シュウの新しい人生はいかに?次回、第2話「俺のコーディングスタイルが異世界で通用しない」をお楽しみに!


読者の皆様、★評価・感想をお待ちしております。技術ネタについてのご指摘も大歓迎です!

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る