megamouthの葬列

長い旅路の終わり

今、僕たちがAIと掘っている穴

皆が忘れかけているので、ChatGPTが登場する直前のIT業界がどんなだったか、というのをちゃんと振り返っておきたい。

ChatGPTの登場は2022年11月だから、2022年10月のはてなブックマークを見ていると、ちょうどいい記事があった。

qiita.com

Readableなコード、マネジメント、TypeScriptとReact。この記事以外のものを付け加えると、まだ皆がRTXでpytorchを動かしていた頃のPythonとWeb3.0(ブロックチェーンメタバース)ぐらいか。僕らが大好きだったエンジニア・ブログ・スフィアの最後の姿とは、こういうものだった。

このうち、Readableコードと、TypeScriptのアクロバチック型定義とReactの脳が裏返りそうなヘンテコアーキテクチャの話題はすっかり霧散してしまった。人間が書くプログラムにはいくらでも文句のつけようがあるが、AIの書くそれに文句を言っても始まらない、と皆が早々に諦めてしまったのが窺える。結局は莫大な無断引用データとH100がないと学習もままならないことがわかって、Pythonの記事も減った。(Web3.0については、AI関係なく黙っててもそのうち消えていたろうから言及しない)


そして、このブログが代表すべき業界の下世話な話題でいえば、「人手不足」が最大の話題だったように思うが、今や誰もその話をしていない。

これはもうはっきりとAIの影響だ。「人手不足」の話題というのは、端的に言えば「いかにしてエンジニアを採用し、教育し、定着させるか」という話だったわけだけど、この話が、「AIを使いこなし、10人分の成果を出すエンジニアになるにはどうすればいいか」みたいな話題にすり替わってしまった。

これ、考えればけっこう奇妙な話で、別にAIがいても人は人で採用すれば生産性は10倍が20倍、30倍になるんだからいいように思うんだけど、そうでなく、「人手がいらないとは言わないけど、とりあえず今ここにはいらない」みたいな話になっている。10倍になればそれで十分だし、AIで済むなら人間は僕の案件に入ってほしくない、みたいな意思すら感じる。というか実際、僕自身がそうなのだ。


ChatGPT直前まで僕がやっていたRailsなどのWebアプリケーションに「段階的に」Reactなどのモダンフロントエンドを導入する仕事を例にとってみよう。

この手のプロジェクトは、控えめに言っても「面倒」だった。バックエンド(Rails)とフロントエンド(React)の両方に精通したエンジニアは希少で、常に奪い合いだった。結果として、チームは多くの場合、Railsに詳しい人とReactに詳しい人の混成チームになる。

すると、何が起きるか。まず、膨大なコミュニケーションコストが発生する。APIの仕様をどうするか。データフォーマットはどうする。状態管理はどちらが持つべきか。毎日毎日、そのすり合わせに時間が溶けていく。それぞれの技術スタックに対する「常識」が違うから、しばしば不毛な対立も起きた(今までerbやrequirejsで動的に必要なjQueryプラグインをincludeできたのに、どうして君たちのReactは全てをバンドルする必要があるのか?みたいなね)

さらに深刻なのは、個人の認知負荷だ。Railsエンジニアは慣れないReactのビルドプロセスやコンポーネントのライフサイクルを理解する必要に迫られ、ReactエンジニアはRailsの複雑なモデルや「暗黙の規約」の森で迷子になる(例えば定義をgrepできないマジックメソッドの存在)
新しいメンバーを一人追加するたびに、この「相互理解」のための教育コストがチーム全体にのしかかる。これが、ChatGPT以前の「人手不足」の現実だった。人を増やせば増やすほど、調整コストが指数関数的に増大していくような徒労感があった。

さて、今、同じ仕事を一人でやるとしたらどうなるか。

まず、APIの設計で迷えばAIに叩き台を作らせる。「RailsAPIモードで動かして、こういう仕様のJSONを返すControllerのコードを書いて」と。React側では「このAPIを叩いて結果を表示するコンポーネントを、TypeScriptとTailwind CSSで作って」と指示すれば、数秒で骨格が出来上がる。Railsの知らない規約も、Reactのライブラリの使い方も、すべてAIが教えてくれる。

ここで重要なのは、AIは文句を言わないし、疲れないし、政治的な振る舞いもしない、完璧なペアプログラマーだということだ。僕一人の頭脳と、AIという無限の知識と実行力を持つアシスタント。この組み合わせの前では、かつてあれほど問題だった技術スタック間の断絶や、人間同士のコミュニケーションコストはほぼゼロになる。

こうなると、かつて切望した「もう一人の優秀なエンジニア」の存在は、むしろ邪魔ですら感じられるようになる。彼をチームに迎え入れるための面接、オンボーディング、日々のすり合わせ、コードレビューのやり取り…想像するだけでゾッとしてしまう。AIと一人で没頭している「ゾーン」とはかけ離れた世界だ。

生産性が10倍になった状態で、なぜ人を増やして20倍、30倍を目指さないのか。
答えは単純で、人を増やすことで生じる「摩擦」が、生産性の向上分を上回ると、肌感覚でわかっているからだ。一人とAIで完結できる仕事に、「もう一人分の人間(あるいは人間+AI)の複雑さ」を混ぜ込みたくない、というのが多くのAI協業プログラマの本音ではないだろうか。


だが、ここで立ち止まってよく考えてみたい。「人手不足」とは本当にそういう話だっただろうか?という点だ。上司に対する言い訳の一つだったとしても、僕たちは違う主張をしていたように記憶している。それは「プロジェクトの属人性」だ。

「あの人がいないと、もう誰もこの仕様を説明できない」
「このコードは、Aさんが書いた秘伝のタレだから誰も触れない」

僕たちは、特定の個人に知識や権限が集中することのリスクを、声高に叫んでいなかっただろうか。トラックナンバー(そのプロジェクトの主要メンバーが何人トラックに轢かれたらデッドロックするか、という指標)を憂い、ペアプログラミングやモブプログラミングを推奨し、ドキュメントの重要性を説き、知識のサイロ化を批判していたはずだ。人を増やして知識を分散させることこそが、プロジェクトを健全に、そして持続可能にする唯一の道だと信じていた。

さて、翻って現在の「AI協業プログラマ」である僕たちの姿を見てみよう。

AIという完璧なアシスタントと対話しながら、一人で設計し、一人でコードを書き、一人でテストを回す。思考のプロセスは、僕の頭の中と、AIとの対話ログの中にしかない。なぜそのアーキテクチャを選んだのか、どんな代替案を検討して捨てたのか、どのビジネス要件がこの複雑なロジックを生んだのか。その決定に至るまでの文脈や機微は、他の誰にも共有されないまま、コードという成果物だけが積み上がっていく。

これは、かつて僕たちが最も忌み嫌っていたはずの「究極の属人性」の姿そのものではないだろうか。(あなたが自分が全くそうでないにも関わらず、AIと人間の対話ログ、あるいはAIが書き殴ったマークダウンテキストを丹念に読んでくれる他者を仮定できるなら話は別だが)

AIは僕の生産性を10倍にしてくれた。しかし、それは同時に、僕という個人への依存度を10倍にしただけなのかもしれない。僕がこのプロジェクトを去れば、後任のエンジニアは、文脈が抜け落ちたAIとの対話ログと、AIが生成した膨大なコードの海を前に立ち尽くすことになる。それは、僕たちがかつて批判した「秘伝のタレ」のコードを解読する作業と、何が違うというのだろうか。

バイブコーディングは快適だ。誰にも邪魔されず、自分のペースで、圧倒的な成果を出せるのだから。だが、その快適さの裏側で、僕たちは自分たちが乗りこなすプロジェクトのトラックナンバーを、自らの手で「1 or AI」にしている。

僕たちは今まさにAIと墓穴を掘っているのかもしれない。


ジョニーはブラック企業へ行った

ヒンドゥーに、二つの体が抱き合う姿をした神がいる。
一体は魔王で、もう一体はそれを鎮めるための観音菩薩だという。その神は障害を取り除き、莫大な富をもたらすが、祀り方を間違えれば、あるいは、捧げるものを怠れば、あらゆるものを奪い去っていく。
富と破滅。聖と俗。歓喜と絶望。極端が同居するその神のことを私が思ったのは、オフィスの壁に真新しいお札を見つけたからだった。

その冬に中途入社したばかりの私は、深夜、缶コーヒーを片手に、天上近くの壁に貼り付けられたお礼を見ていた。梵字のようなものが複雑なパターンを描いて、一見すると禍々しくも見える。
「なんですかこれ?」
ディスプレイに向かっている古株の社員の背中に問いかけた。
「それね、触らないほうがいいよ」古株の社員は、こちらを見もせずに言った。そして警告するように作業の手を止めた。
「毎年大晦日になると社長が東京からわざわざやってきて貼り替えているんだよ。0時きっかりに」そして、血走った目をこちらに向けた。「妙なところで、信心深いんだよ。社長」


ブラック企業について何かを書こうとした時、自分でも飽き飽きするのは、それが「不幸ポルノ」にしかならないことだ。つまり、悪辣な経営者がいて、崩壊した組織があって、主人公がデタラメな労働環境にさらされて、何らかの精神疾患を負って、組織を出る。だいたい全部そういう話になってしまう。

そうした幾千もの物語のおかげでこの国からブラック企業が少なくなって、間違ってそういう会社に入った人にも退職代行業者が代わりにモー無理!と言ってくれるようになって、悪は成敗されて私たちは崩壊しなくなったと思ったら、代わりにどうも社会が崩壊しつつあるらしい。正直、それはそれでいい気味だと思うけど、もう少し生産的な見方をすれば、結局のところ根本の問題は何も解決していない、ということなのかもしれない。

*

「前の会社では開発リーダーだったんですね」

目つきの鋭い初老の男が私の職務経歴書に目を通しながら言った。男は面接官だったが、さして熱心なわけでも、冷淡なわけでもなく、不適切な人間に採用通知を出さないようにだけ気をつけているという様子だった。

「あなたが辞めた時、さぞかし会社は困ったんじゃないですか?」

ええ、と私は頷いた。そうかもしれません。
でも―――

「5年間給料が上がらなかったんです」

私は少し拗ねたような口ぶりで言った。前にいた会社は正直で善良な人間の経営する小さな制作会社で、私たちエンジニアが何をやっても、昇給の原資を稼ぐことができなかったのだ。
正直どういうビジネスをやってるんだと思っていた。私たちはコードを書く、勉強して最新のWeb技術を駆使するが、単価はCGIでフォームを作ってる頃と変わらない一人日3万円で案件規模がでかくなろうが、入金までの期間が伸びるだけで身の入りは変わらないという計算だ。取引先はすました顔で、引き取り手のない高難度案件を持ってくる、営業は大喜びで受注する、私たちは徹夜する、誰かが辞める、回らなくなった仕事とプレッシャーで、私の自律神経は悲鳴を上げる、というわけだ。

「それは仕方ないですね」

面接官は言った。私に辞められるのも仕方ない、なのか、給料が上がらなくても仕方ない、なのかどちらとも判断がつかなかった。

その後、面接官は50インチはある会議室のディスプレイを使って、自社の最近の実績をざっと説明した。聞き覚えのある大手のクライアントの小綺麗なWebサイトが並ぶ。

「クオリティもそうなんですが、納品までのスピードも大事だと考えているんです」
面接官はパチンコメーカーのサイトを表示しながら言った。

「スピードは売り上げに直結しますから」

と言って、私の目を試すように捉えた。

*

なぜ転職する気になったのか、といえば、確かめたかったからだった。自分はもう終わりなのか、それとも、そうではないのか。
前の会社を辞めてから、フリーランスを名乗って仕事をした。会社員の頃から客先との折衝も含めて自分でやっていたから、食べていける程度のことであれば、それほど苦労はなかった。

フリーランスに回ってくる仕事は、そのほとんどがクソみたいな仕事だ。客は技術のことなど何も分からない素人ばかりで、間違って受注しかけた大それたシステムの話があったとしても、こちらの見積もり一通で吹っ飛んでしまう。元請けの手に負えない仕事の選別を無償でやってあげる以外は、高校生でも出来そうなWordpressテーマ制作だけが、真実の仕事で、もちろんそれを納品すれば感謝はされたが、それは主に金額と納期に対するもので、見えない部分で苦労しても、その価値が伝わることはないように思えた。

そういう日々を孤独な作業部屋で過ごしていると、「自分は、一体どの程度の人間なのだろう?」ということが気になって仕方がなくなる。
いや、もっとシンプルに言い換えれば、あんたは終わってないよ、有能なエンジニアだよ、と誰かに言って欲しかっただけなのかもしれない。証拠に、面接のあと採用通知が来て、提示された給料は1人日3万円の職場の1.5倍だった、よくよく考えればそれだって十分搾取的だったのだけど、自分の人間性が終わってる分を差し引けば十分な評価だと思えないこともなかったから、私は無邪気に喜んだのだった。

*

勤務初日、始業時間20分前にオフィスに入った。前の会社とは比べものにならないほど広いオフィスに3つのデスクの島があって、どの机にも巨大なディスプレイがいくつも置かれていた。出勤している社員はなぜだが誰一人顔を上げない。私の上司になる予定の面接官も、採用のあれこれを世話してくれた総務の女子社員も見当たらなかった。

仕方なく入り口に立っていると、見かねた古株の社員らしき熊のような図体をした男が、Tシャツ姿で森から出てきて、席に案内してくれた。
「多分ここだから」
と彼は言い残すと、再びディスプレイの森の中に消えていった。

しばらくすると隣の席に20歳かそこらの若い男が鞄を降ろした。私が挨拶して、今日から働くことを伝えると、明らかに戸惑った様子だった。

「僕も今日からなんです。新卒入社の古田といいます。開発部に配属になりました」

と彼は言った。いかにも田舎から出てきた大学生といった素朴な表情をしていた。私は改めてあたりを見渡したが、他の開発部の面々は誰も出社していないようだった。

私と彼はひとしきり世間話をした。大学で、少しHTMLをやった程度で、Webプログラミングのことは何もわからない、と彼は答えた。

開発部のメンバーらしき社員が出社してきたのは始業から30分ほどたってからだった。それぞれ私たちを一瞥すると、何も言わずに自分の席に黙って座ってしまう。

代わりに総務の女性が慌ただしくやってきて、雇用契約書のあれこれを案内してくれたり、社内ツールの設定などをしてくれたが、それも午前中いっぱいで終わってしまった。彼女は開発部の誰かに私たちのことを引き継ごうとしたが、皆、どうしていいか指示を受けていないといった様子で首を振っているのが見えた。

「皆さん、忙しいみたいで」
戻ってきた彼女は申し訳なさそうに言った。

そこに唯一顔を知っている面接官であるところの上司が出社してきた。私は立ち上がって声をかけた。

「待たせてしまってすいませんね。昨晩も遅かったもので……後で開発系システムについてはメンバーの誰かに説明させます」

バツの悪そうな顔で上司は言った。
それより、と私は言った。新卒の古田君はどうするのですか?

「それも考えなきゃなんですが、とにかく案件が詰まってましてね…あとでデザイン部のほうに話を通して、そこの新人と一緒に勉強してもらう感じですかね」

私は少し呆れたが、この状況を楽しんでもいた。なんだ、大した会社じゃないな、と思って安堵していた。
ようするにここは自由なのだ。何らかのポジションさえ築ければ、どんな仕事の仕方をしても許される。そういう類いの自由だ、と私は感じ取っていた。

席に戻ると、古田君が、不安そうにディスプレイと私の顔を交互に見ている。

「とりあえず、開発環境でも作ろうか」

私は彼に声をかけた。メンターに指名されたわけではなかったが、誰もメンターをやろうとしていない以上、私がやっても「自由」だろう、古田君と同様、私にも明確な指示は来ていなかったから、丁度良い暇つぶしでもあった。

*

「随分、面倒見がいいですね」

昼休み、近くの席の男に声をかけられた。軽部と名乗った。デザイナーだという。

「ここじゃ、新人は基本ほっとかれるんで、古田君は助かるね」

と言い添えた。古田君は顔を紅潮させて頷いている。そんなことをして新人に辞められたりはしないんですか?と私は自分も新人の一人であることを忘れて尋ねた。

「辞めますよ。そりゃ」

と、彼は何故か嬉しそうに言った。
誘われるまま、3人で近くの焼き肉屋のランチに昼食に向かった。

「とにかく離職率がひどいですね。僕の実感じゃ3年以内に9割が辞めます。だいたいは燃え尽きて辞めます」

ハラミ定食をかき込みながら言った。上層部や人事は毎回嘆いてますよ。これじゃキリがないって。

「どうしてそうなってしまうんです?」

私は純粋に疑問に思って尋ねた。

「うちに来る仕事がどういうものか教えてあげましょうか?大手代理店がまともなベンダーに断られた案件ですよ。つまり、予算かスケジュールか、どちらかは燃えているってわけです」

過密なスケジュールに、崩壊した組織の中で、個人が無限に近い責任分担を負う。プレッシャーの中で大抵は3年で燃え尽きる、ということらしかった。

「僕は5年もいますからね、一度、社長に聞かれたことがあるんですよ。どうしてこんなに人が辞めるのかって」

そもそもわかってないんですよ。いやわかろうともしてないかもしれません。
いいですか?人が残るには条件があるんです。一つは人間関係が良好なこと、次に待遇が良いこと、最後が希望があることです。
最初の人間関係はね、いいんですよ。燃え上がった案件をみんなで馬車馬のように処理するんですから連帯感は自然に生まれるってわけです。でも待遇は、良くならない、役員連中は給料上げるぐらいなら辞めて貰ったほうがいいと思ってるんで。そういうのを見てるから誰も希望なんて持てません。

「どうして、あなたは辞めないんです?」

空になった焼き肉弁当の赤い底を見下ろしながら私は最後に尋ねた。

「僕は、Webデザイナーですけど、元々は別分野にいましてね。短期間で人の何倍も実績をあげないといけないんです。一応名の通ったクライアントには恵まれてますからね、そういう点ではこの会社はうってつけ、というわけです」言って、軽部は会社に戻るために立ち上がった。「知らないで入った人はご愁傷様ってわけですが」

古田君は青ざめた顔で焼き肉屋の入り口を遠い目で見つめていた。

*

その後の3ヶ月で、私は4度徹夜をし、7日休日出勤をした。主に仕事はPHP製の狂人が書いたようなレガシーシステムのメンテナンスと、jQueryだった。スケジュールは火を噴いているのに、クオリティの要求は高く、クライアントが求めているというよりは、軽部をはじめとするWebデザイナーたちが深夜1時になっても、動きの修正を求めてくる。easeInQuad、easeOutExpo、フェードインは0.2secのディレイをつける、私は愚直にそれに対応した。何しろそれが出来るのは自分しかいなかったのだ。

一度、なぜここまで凄惨な職場で、このようなクオリティを求めるのか軽部に尋ねたことがある。

「よくわかんないですけど、例えばデザイナーって40歳までに何かの賞を取らないといけないんですよ」
軽部は遠い目をしながら言った。
「ああいうのって、大手のサイトか、ものすごく尖った老舗和菓子店のサイトとかじゃないと取れないでしょ?ようするに仕事としてまわってくるような場所にいないと取れないから、みんな必死なんだと思います」ふと軽部は泣きそうな顔になった。
「賞を取れなくても、転職する時に実績として使えますからね。1ピクセルでもズレて欲しくないってわけですよ」
と言って涙を流してHTMLを書き続けている。もう、情緒がぶっ壊れてしまっているのだった。


そんな生活が当たり前になった頃、古田君が会社を辞めることになった。理由は聞かなくてもわかった。彼の目の下の隈は日に日に濃くなり、素朴だった表情からは生気が失われて、ずっと何かに追われているような憔悴した視線が残っていた。彼は、この環境で燃え尽きる前に、逃げ出すことを選んだのだ。賢明な判断だった。

送別会は会社の近くの、ありふれたチェーンの居酒屋で開かれた。それは送別会というより、狂乱の宴だった。誰もが日頃の鬱憤を晴らすかのように大声で話し、浴びるように酒を飲んだ。主役であるはずの古田君は、解放感からか、あるいはただ酔っているだけなのか、泣いたり笑ったりしながら、皆の酒に付き合わされていた。

その喧騒の片隅で、私は奇妙な男の存在に気づいた。

安物のスーツが体にあっていない、痩せた中年男だった。彼は誰かと話すでもなく、ただ黙ってテーブルの端に座り、ウーロン茶のグラスを傾けている。顔に影が落ちているかのように、その造形がうまく思い出せない。誰も彼を紹介しないし、彼も誰かに話しかけようとはしない。なのに、その場にいるのが当たり前であるかのように、彼はそこにいた。まるで、居酒屋の偽物めいた板壁から滲み出したようだった。

宴が最高潮に達した頃、その男がすっと立ち上がり、泣き上戸になっている古田君のそばに寄った。そして、ほとんど聞こえないような声で何かを囁いた。古田君は酔った頭で、何度も何度も頭を下げている。

「ご苦労様でした」
男の声だけが、不思議と私の耳に届いた。
「あなたの分まで、我々は富を築きますので」
男はそれだけ言うと、誰に挨拶するでもなく、すっと出口の方へ消えていった。まるで、最初からそこにいなかったかのように。
私は隣でジョッキを空にしていた軽部に尋ねた。

「今の男、誰です?」
「さあ?」軽部は興味なさそうに言った。「本社の人事とか、社長の知り合いとかじゃないですかね。たまに見ますよ、誰かが辞める時に」
彼はテーブルに残った唐揚げを口に放り込みながら、付け加えた。
「東京のことはよくわからないんですよ。あっちはあっちでこっちのことがわからないんでしょうけど」

その時、私はオフィスの壁に貼られたあのお札のことを思い出していた。
歓喜天は、捧げられた供物に満足したのだろうか。
いや、違う。古田君は供物になりきる前に逃げ出したのだ。だから、神はまだ飢えている。そして、次の供物を探している。
私は、テーブルの上に並んだ空のジョッキと皿の群れを眺めていた。不思議と何の感情も沸いてこなかった。

*

冷静になりさえすれば、この会社の混乱とデタラメな仕事の原因を求めることは簡単だ。例えば、この頃に起きた「詰めて事件」というのがある。
ある案件のデザイン案を提出すると、クライアントである代理店の反応が良くない。代理店の担当は「もう少しデザインを詰めたほうがいいですね」と言った。Webディレクターは、半年前までは経理をしていたという女性だったが、「詰めて」を文字通りに受け取った。デザイナーに「もっと上に詰めてほしいと要望されました」と指示したのだ。

一応、Webデザインにはファーストビューという考え方があって、ページを開いた時、解像度の低いノートPCでも確実に表示できるエリアに主要なものを配置しなければならないという鉄則がある。デザイナーはその事を言われているのだと解釈して、余白を詰め、ナビゲーション要素をサイトデザインの上部に密集させていった。

そのデザインを見た代理店が、眉をしかめる。「デザインについては、もっと詰めましょう」、それを聞いたWebディレクターはさらに「詰めて」とオーダーする。デザイナーは半狂乱になりながらマージンを削って上部に密集する。それは代理店が「なんでこんなに上に全部固まってるんですか!?」と言い出すまで続いたという。

この話から得られる教訓は幾つかあるが、それをいちいち列挙することはしない。つまりはそういうことが日常茶飯事で、狂乱と予算の札束が飛び交う現場だったということだ。


ある程度人が辞める度に、席替えが行われる。その度に、私の席はオフィスの隅から中心へと動いていった。

深夜、ふと背後で椅子がきしむ音に気づいて隣を見ると、いつか古田君の送別会で見た、安スーツの男が座っていた。
男はこちらを見ず、ただ正面の、電源の落ちた真っ暗なディスプレイを静かに見つめている。まるで、そこに何かが見えているかのように。
蛍光灯だけが支配する静寂の中で、男の表情は水のようで、古びた寺に置かれた、由来のわからない仏像のような気配があった。

「……何か御用でしょうか」

絞り出した声は、自分でも驚くほど乾いていた。
「いや」男は、ようやくゆっくりとこちらに顔を向けた。やはり、その顔立ちは靄がかかったように判然としない。「少し、お話を」
彼の声は、居酒屋で聞いた時と同じく、抑揚がなく、どこにも響かない。

「あなたは、順調に育っていますね」

「……はあ」

「古田君は、早すぎた。熟す前に、自ら枝を離れてしまった。あれは、残念でした。我々以外を知らなければ、とも思ったんですが」

男の言葉は、まるで農夫が作物の出来不出来を語るようだった。そこに、人間に対する感情は一切感じられない。

「我々、というのは?」私は尋ねずにはいられなかった。

「この場を、この『富』を維持する者たち、とでも言っておきましょうか」男は静かに言った。「社長も、役員たちも、皆、川の流れの一部にすぎない。彼らもまた、捧げる者であり、いずれは捧げられる者なのです」

男は、私のデスクに無造作に置かれた栄養ドリンクの空き瓶を、指先でそっと撫でた。

「あなたは、前の会社に不満があったそうですね」

それは質問ではなく、事実の確認だった。

「評価されないこと。成長が感じられないこと。そして何より、あなたの持つ力が、富に変換されないこと。その渇きが、あなたをここに呼び寄せた」

男は私のすべてを知っている。職務経歴書に書いたことだけでなく、その裏にある、自分でも直視したくなかった醜い欲望のすべてを。

「我々は、あなたに機会を与える。あなたの力を、存分に『富』に、いや、それはあなたが実際に求めているものとは違いますね、あなたという『存在』に変換する機会を、与えます。」

私は、息を呑んだ。男は芝居じみた台詞を続けた。

「その代わり、あなたにも捧げていただくものがある」

「……何をです?」

「あなた方が『魂』と呼んでいるもの、でしょうか」

男は立ち上がり、私の肩に軽く手を置いた。その手は、氷のように冷たかった。

「神様はね、常に飢えている。そして、より純粋で、より熱量の高い供物を求めている。あなたは、その器を持っているかもしれません」

男は、オフィスの奥を顎で示した。あの、禍々しいお札が貼られた壁だ。
男は私の耳元で囁いた。

「ここで、あなたは何になりますか? 」

男は、それだけ言うと、また音もなく私の隣から離れ、闇に溶けるように消えていった。

*

それからも私は黙々と働いた。

燃え盛る案件に次々と飛び込み、狂人が書いたコードを解読し、後輩たちを鼓舞し、時には切り捨てながら、納期という祭壇に成果物を捧げ続けた。徹夜の数はもう覚えていない。ボーナスは業績不振という名目で、1.5ヶ月だったが、いずれにせよ使う時間がないのだった。

軽部は大きな案件実績を元に、もっと条件のいい会社へと去っていった。彼の最後の言葉は「あとはよろしく」だった。その目が、かつての私と同じように、ひどく疲れていたのを覚えている。

そうやって主要なメンバーが一人、また一人と「供物」としての役目を終えていくたびに、社内には奇妙な権力の空白が生まれていった。神に仕える古参の神官がいなくなり、祭壇の管理方法を知る者が、私を含めて数人しかいなくなったのだ。

神は、飢えていた。

それなのに、捧げられる供物の質は、日に日に落ちていった。

決定打となったのは、東京本社から送り込まれてきた新しい支社長だった。彼は神の存在も、我々が続けてきた血塗られた儀式のことも何も知らなかった。彼はただ、コンサルタントが作ったような空虚な経営理論だけを手にやってきたのだった。

彼が最初にやったのは、祭壇の破壊だった。
「前時代的な労務管理だ」と言って、我々が残業できなくした。
「コストがかかりすぎる」と言って、古参の派遣という矛盾した存在の契約を打ち切った。
そして、「こんな古臭いお札は、オフィスの見栄えが悪い」と言って、壁から、あの禍々しいお札を、あっさりと剥がしてしまったのだ。

その瞬間から、すべてが崩壊し始めた。
神の加護を失った私たちの仕事は、ただの「無茶な仕事」に戻った。これまで奇跡のように収まっていた案件が、次々と炎上し始めた。クライアントからの信頼は失われ、金の流れは滞り、優秀な(あるいは、ただ麻痺していただけの)社員たちは、沈みゆく船から逃げる鼠のように、次々と去っていった。

支社が閉鎖される、という連絡が来たのは、それから半年後の、雨の降る日だった。

がらんどうになったオフィスで、私は一人、自分のデスクに座っていた。かつてディスプレイの森が広がっていた場所には、今はただ、電源ケーブルの残骸と、床にこびりついたコーヒーのシミだけが残っている。
あの安スーツの男も、もう現れなかった。神は、捧げられる供物がなくなったこの不浄の地を、とうに見捨てたのだろう。
結局、何だったのだろうか。

私が捧げた時間も、健康も、魂も、すべては何の価値もなかった。神も、悪魔も、富も、破滅も、ここにはなかった。
あったのはただ、愚かな人間たちが、存在しない神のために繰り広げた、滑稽で、壮大な、無駄な努力だけだった。

私は、窓の外に広がる灰色の空を見上げた。
絶望も、解放も、何も感じなかった。
ただ、空っぽのオフィスに、私の乾いた笑い声だけが、いつまでも響いていた。
それは、泣いているようにも聞こえた。

限りなく透明に近いおぢ

最近死に支度をしている。具体的にいつ、というのがあるわけではないが、もう46歳だし、飼っていた猫は死ぬし、やることもないし、死に支度は早いに越したことはないという話だから。

死についての遠藤周作の本に、「老年に達すればあとは邪魔をしないように生きれば良い」というのがあって、確かにな、と思った。例えばWebエンジニアたちが技術記事を書かなくなって、今やネットにはAIエージェントの効果的な使い方しかない。もうあの言語が良い、フレームワークが良い、あれは時代遅れ、これは革新的、という話もなくなって、今や素PHPで新規プロジェクトを立ち上げても、このほうがAIの通りが良いんですよ、と言えば、誰も文句を言わないじゃないかとすら思う。みんな誰かの邪魔をしない生き方をするようになった。その点では良かったと、わりと本気で思っている。

とにかく死にまつわることばかり考えているので、Webプログラマの死についても考えている。僕たちは老境に差し掛かったプログラマというモデルケースに出会ったことがなくて、単に年老いたプログラマCOBOLかCの流儀でWebプログラミングに挑んで、わけのわからないPHPコンパイルオプションをいじくり出すのしか見ていないから、なんというか、あまり参考になるものがないんだけど、とりあえずどんどん透明になっていけばいい、というのはわかる。

道に転がってる石とか、そういうものを黙って拾ったり、困ってる人がいたら手を取って、自力で歩けるようになったら手を離す。誰にも気づかれないように、ただひたすら川の流れを遮らないように生きればいいのだと思っている。具体的に業務に当てはめて考えれば、仕様書を覚えて、認識の間違いをそれとなく指摘したり、心配性のPMに寄り添ったり、彼が上司に出す対策案の叩きを作ったり、といったところで、これはこれで心地良い生き方なのだ、ということが最近わかってきた気がする。

問題はそういう生き方をしても誰もお金をくれないということだ。何しろ透明だから、そこに金を払うという習慣が日本人にないのだ。思えば僕は昔からこれぐらいの役割で、とびきり難しい問題だったり、行き詰まっている問題に解答を出してきたつもりで、例えば、前のブログで「パフォーマンスの悪化したアプリのMySQL slow queryログを出して、インデックスを作ったりプロシージャを作り替えて速くするみたいな業務をやってるけど、ゴミ拾いしかさせて貰えてない」みたいなことを書いたときに、そんなわけねーだろ、みたいなツッコミをした人がいたけど、本当にゴミ拾いしかさせて貰えてねえんだよね。あの後ミーティングがあって、MySQL何もわからないマンに一から説明して、その分のギャラも一円も貰ってないわけだから。今後ともよろしくお願いします、って満面の笑みを浮かべて、それっきり話も来ない。
金を貰えるのは出来る出来ない関係なく伴走してる若者だけで、まあ彼らには金を貰う権利があって、金が有限なんだったら、僕らの取り分がなくても仕方ない話。

いかんね、俗っぽいところが出ちゃったね。こういう金を貰えなかった、認めてくれなかった恨みみたいなものだけはまだマグマみたいに貯まってる。恐ろしいことだと思う。きっとこれからの年月こういうのを全部許して、忘れて、ということに時間を使わないといけないんだろうと思う。何しろ悪いのは僕で、世界はあるがままにあるだけなんだから。