megamouthの葬列

長い旅路の終わり

残業キャンセル界隈と企業カルチャーの死

news.yahoo.co.jp

Z世代が残業をキャンセルして大変らしい。それでなくとも、理由も告げずに有給休暇をとる、注意や指摘をハラスメント扱いする、さらにはそれらが高じて、あろうことか、信じられないことに、給料が安いという理由で会社を退職するというのである。

まさに世も末だ。滅私奉公、24時間働けますか、会社は家族、血の小便が出るまで仕事しろ、といったかつての「美しい国」の労働倫理はどこへ行ってしまったのか。高市早苗でなくとも嘆かずにはいられないというものだ。

この手の話は、「最近の若者は合理的すぎる」とか「タイパ至上主義だ」という世代論に落ち着きがちだ。しかし、この断絶の正体は「合理的かどうか」などという生易しい話ではないように思う。少なくとも私たちが真に苛立ち、恐れさえ抱いているのはそこではない。

Z世代の逸話を聞くたびに私たちの胸がうすら寒くなるのは、自分たちが長年積み上げ、守ってきた不文律――組織のカルチャーを身体化するという作法――つまりは「企業のカルチャー(と経営者が呼びたがる『空気』)を読んで働く」という作法が、新しい世代には全く継承されていないのではないかという疑念だ。

ここで、私たちのような氷河期世代が、いかに「空気」で仕事をしてきたかということを正直に告白しなければならない。私たちは、なぜあんなにも理不尽な残業や転勤を受け入れてきたのか。
それは給料が高かったからでも、高潔な責任感があったからでもない。単に「そうするのが当たり前」というカルチャーに依存した強迫観念があったからだ。 契約書にない業務でも、理不尽な要求でも、上司のちょっとした「説得」程度で、「自主的に」行う。私たちをそうさせるために機能していたのが空気であり、美辞麗句を除外した企業カルチャーだった。

具体的に思い出してみてほしい。 なぜ、日本の会社は執拗に飲み会を開催したがるのか。なぜ、貴重な予算を投じてまで社員旅行や運動会を企画するのか。あるいは、一部のWeb系企業などで見られる、若手社員を巻き込んだ内輪受け全開のドッキリ動画のような、はたから見ればクソみてえな茶番になぜ付き合わされるのか。

これらはすべて、カルチャーという名の共同幻想に力があると信じて疑わない人間たちの仕業だ。 同じ釜の飯を食い、同じジャージを着て汗を流せば、理屈を超えた一体感が醸成され、個人の自我の境界線は溶け落ち、「会社」という大きな物語の中にみんなで融合できる、といった極めて宗教的な儀式なのである。
かつての私たちは、その儀式の意味を(無意識にせよ)理解していたからこそ、喜んで、あるいは苦笑しながらもそれに参加し、その「空気」を多少なりとも内面化してきた。

Z世代からすれば、なぜそんなバカげたことをしていたのか?と思うことだろう。奇妙なことだが、それが、「有能」になるための条件だったからだ。

「教師や上司といった権力者の望むことを先回りして考え、そのように振る舞う」ことを優等生的というならば、「有能」であるということは、集団の中で浮かび上がらずにそれをやってのけ、場の支配力をもって集団をまとめ、周囲に優等生的な振る舞いを自然に認識、伝播させていくような存在のことだ。(つまり漫画に出てくる真面目な風紀委員タイプは優等生ではあっても、「有能」とは言えないということだ。)

真に有能な優等生とは、権力者の論理を単に「理解」して従うのではない。それを「摂取、内面化」し、あたかも自分自身の内発的な動機であるかのように振る舞うことができる。 「先生や部長が言うからやる」のではない。「私がそうすべきだと思うからやるのだ(そしてそれは偶然にも権力者の意向と一致している)」という顔をして、涼しい顔で周囲を巻き込んでいく。組織の論理を完全に身体化し、組織という生き物の一部として機能する。これこそが、かつて日本企業が何よりも愛した人材像だったのだ。

そこまで完成されていなくても、かつての若者の多くは、少なくとも組織のカルチャーを「理解」しようとはした。内心では舌を出していたとしても、組織の空気を読み、調整役として立ち回る「準・有能」として振る舞うことで、居場所を確保してきたのだ。


さて、話を戻そう。 Z世代が残業をキャンセルし、権利を主張する様子を見て、氷河期の生き残りの有能たちが感じる居心地の悪さの正体はここにある。 Z世代は、彼らが必死で身につけた「組織の論理の身体化」という高等技術に見向きもしない。それどころか、最初からそのゲームに参加する気配すらない。

ここでようやく、冒頭の騒動に対する一つの残酷な仮説が導き出される。 残業をキャンセルするZ世代の問題とは、単なる労働条件や世代間ギャップの話ではない。 それは、「Z世代が企業カルチャーを理解しない(あるいは、理解しようともしない)」という、組織論の根本的な崩壊の問題なのだ。

では、なぜ彼らは理解しないのか。 ここで、身も蓋もない一つの仮説を提示しなくてはならない。 それは、そもそもその会社に「カルチャーを身体化し、理解する能力のない新人が入社している」という可能性についてだ。

なにしろ、今は空前の人手不足である。 就職氷河期を生き抜いた私たちの世代とは、前提条件がまるで違う。かつては、中小企業であっても、買い手市場の中で「空気」を読み解くリテラシーの高い優秀な人材を選り好みして採用できていた。 そして何より、かつてはカルチャーという踏み絵を踏めない人間は、居心地の悪さに耐えかねて勝手に辞めていった。企業側もそれでよかった。「ウチに合わなかったね」で済ませ、また新しい「有能」を採用すればよかったからだ。

だが今は違う。猫の手も借りたい人手不足の中で、企業はもはや「カルチャーに合わない人間」を追い出す贅沢など許されない。 喉から手が出るほど労働力が欲しいから、異物であっても抱え込まざるを得ない。追い出せないからこそ、「Z世代がカルチャーを理解しない」という問題が、これほどまでに表面化し、経営課題として突き刺さっているのだ。 「カルチャーの不理解」は、若者の怠慢ではなく、単純な能力と採用のマッチングエラー、そして企業の背に腹は代えられない懐事情の結果なのかもしれない。


だが、もう一つ、さらに深刻で救いのない可能性についても触れなければならない。 それは、彼らに能力がないのではなく、「そもそも、今の企業カルチャーには、内面化するほどの価値がない」と見抜かれているという可能性だ。

かつて、企業カルチャーへの同一化は、終身雇用という「救済」とセットだった。魂を売る代わりに、一生の生活が保障され、だからこそ、滅私奉公という信仰は成立した。 しかし今、ネットを開けば、その信仰がもはやカルトと紙一重であることが白日の下に晒されている。

品川駅で「今日の仕事は楽しみですか」と問いかけたポスターが嘲笑され、強固な組織風土を誇った名門・東芝が「チャレンジ」の名の下に不正会計に手を染める。日本電産(現ニデック)のようなカリスマ経営の企業ですら、その強権的なカルチャーの歪みが取り沙汰される時代だ。 「企業カルチャー」という美名が、しばしば経営者の暴走を正当化するツールや、従業員を安く使い潰すための麻薬として使われていることを、Z世代は生まれた時からネットを通じて知っている。

そんな彼らに向かって、「この会社のカルチャーは、君たちが内面化するに足る素晴らしいものだ」と信じ込ませることが果たして可能なのだろうか? 「カルチャーを理解しない」のではなく、「理解するに値しないと判断し、キャンセルした」というのが実態に近いのではないか。

私は、ここに、様々な経緯を経て企業カルチャーがほぼ経営者と株主のものになってしまった、という事実があるのではないかと思う。経営者の孤独を癒やすため。あるいは、経営者の思いつきや株主の欲望を「崇高な理念」に変換して、下々の人間に効率よく実行させるための装置に成り下がってしまっているのだ。

Z世代は、その欺瞞を敏感に嗅ぎ取っているのかもしれない。 「なぜ社長の自己満足や、株主の利益のために、僕のかけがえのない人格の一部を『内面化』までして捧げなきゃいけないんですか?」 彼らの態度は、そう問うているようにも見える。そしてその問いに対して、胸を張って反論できる人がどれだけいるだろうか。

もちろん、カルチャーを全否定し、全てを契約書とマニュアルだけで縛るギスギスした組織が良いとも思えない。それはそれで、働く人間にとっては地獄のような監視社会だろう。

だから今、私たちが考えるべきなのは「どうやって若者にカルチャーを理解させるか」ではなく「社員を含めた全員が幸せになるためのカルチャー」ではないだろうか。

経営者のための洗脳ツールでもなく、選別のための踏み絵でもない。 そこで働く人間が、互いに敬意を持ち、少しでも健やかに、そして誇りを持って働くための共通言語としてのカルチャー。 もしそんなものが本当に存在するのなら、Z世代だって喜んで受け入れるに違いない。

残業を拒否して帰っていく彼らの背中は、古いカルチャーに対する「キャンセル」の通知だ。 その通知を受け取った私たちが、次にどんな「新しい答え」を提示できるのか。それとも提示できずに契約社会の砂漠を歩くのか。 まあ、そんな理想的なカルチャーがあるなら、私もグレずに済んだのかもしれないのだが。


ビジネスの耐えられない柔らかさ

AIのせいか年をとったせいか、おそらくその両方で、ビジネスのやり方が変わって、ふんわりした話にばかり関わっている。

「生成AIを使って暗黙知化したプロセスを形式知化して、御社のサプライチェーンオプティマイズして、セールスをグロースさせます」とか「エンジニア間のスキルギャップをスクラムによってファシリテリテーションして御社のデベロップメント課題をイシュー化します」とか、なんだかそういった感じの話に関わっているのだ。

こういうふんわりした案件は、会議で何を発言しても面映ゆくなるというか、口に出せば出すほど脳が痒くなってくるような感覚があって、結局お前達の求めているものは売り上げと人員整理によるコストカットであって、もっと言えば人間の求めるものは不老と美食とセックスなんだから、そうはっきりと言え、と会議室の真ん中で叫びたくなってくるのを必死でこらえているのだった。


以前は、私の仕事はこんなではなかった。月間8000万PV程度のCMSを稼働できるWebサーバーとMySQLサーバーを高可用性構成をディザスタリカバリ付きで構築しろ、とか、納期が1ヶ月後に迫って壊滅寸前のPHPシステム案件に加勢しつつ、マイルストーンを設定して顧客がブチギレないようにクロージングしろ、とかそういった、確固たるゴールと、泥沼のプロセスがあった。

要求された性能が出せるか出せないか、スケジュールは間に合うか間に合わないか、顧客がブチ切れるかブチ切れないか、全て具体的で、地面は凍りついたように硬く、少なくとも自分が何をすればいいのかはわかっていたのだ。

それがいつの間にか、Typescriptの型定義から何マイルも離れた場所に私はいる。理由の一つはそういった地上の仕事を若手がAIの手助けを借りてできるようになったらしいこと(確認してはいない)、もう一つはこういう空中の雲の中でするような会話のほうがより価値を生むらしい、ということがわかってきたからだった。

なぜか。一つ目の答えは、ビジネス用語を使うと「レバレッジ(てこ)」だ。 「硬い」仕事、たとえばPHPのコードを一行書く価値が「1」だとすれば、「柔らかい」会話は、エンジニア100人の努力を「A」ではなく「B」に向かわせる「舵」を切る仕事であり、その価値は掛け算で効いてくる。舵の角度が1度変われば、到着地点は何百マイルも変わるというわけだ。 少なくとも理論上は、そうだ。

まだ地上にいた時、私は今ひとつその理屈が理解できないでいた。以前書いたこともあるが実感として上手くいった「施策」というものに巡り会ったことがないからだった。奇妙な研修、全社会議の方針発表、自己研鑽としか答えようがない目標管理シート、明らかにsyslogの存在を知らないプロマネ、打ち合わせの度に担当者が変わる外注先、転職を決意させるためだけに行われるボーナス査定と上司面談、そういった種々の思い出があって、上部のふわふわした雲の中で行われている意思決定というものを信用することがどうにもできなかったのである。

だが、私がわかってきたのは、もう一つの側面だ。 それは、「舵の切り方」そのものと同じくらい、「結果の測り方」も柔らかくなる、という事だ。

「硬い」地上の仕事は、結果が残酷なまでに出る。8000万PVに耐えられなければサーバーは落ちるし、納期に遅れれば顧客はブチ切れる。失敗は硬い事実だ。
一方で、「柔らかい」仕事はどうか。 「デベロップメント課題をイシュー化します」という決定が、本当に正しかったのか? 「オプティマイズ」した結果、セールスは本当に「グロース」したのか?

その結果を測る指標自体が、イシューの消化率やKPIの相対的改善といった、奇妙な「柔らかい」言葉で再定義されていく。 もしプロジェクトが現場の人間に直感的に理解できるぐらい、成功をしなかったとしても、それが「硬い」失敗として記録されることはない。「プロセスは形式知化された」「ファシリテーションは適切に行われた」という別の「柔らかい」成果が光を浴びることになる。

もちろんビジネスの成果が、常に「柔らかい」基準で判断されるわけではないだろう。アル・カポネ孫正義会議室でバットを素振りしているというし、一度立てたKPIやKGIを無策に悪化させれば、恐ろしい制裁が待っているに違いない。しかし、というべきなのか、だからこそ、なのか、その計画の立案段階では、いかに失敗のインパクトそのものを「柔らかく」吸収してしまう構造を作るか、というところに注意が払われているように私には思えるのである。

我々が「柔らかい」会話で生み出している価値とは、その「掛け算」の可能性への期待であると同時に、この「誰もが決定的な失敗を直視しなくてよい」という、構造的なクッション機能に対する対価でもあるのだろう。


この「硬さ」の感覚の違いを理解すると、過去の色々な疑問に答えが見つかったような気がするのである。

かつて営業の人間から「失敗したって、命までは取られないじゃないですか?」と言われたことがある。私はどうにもその感覚がわからなかった。 サーバーの構築に失敗し、サービスが開始時刻にオープンできなかったら? 比喩ではなく、それこそ命を取られるほどに落ち込む私としては、どうにも理解しきれない忠告だった。
確かに命がなくなるわけではない。が、死という不明瞭な状態と、現世での決定的な失敗という状態は、主観的に見て、大きな違いがどうにも見いだせなかった。自分もまだまだ死というものが、人生というものがわかっていないのだなあ、とぼんやり考えたりもしたのだが、今思うと、そういう哲学的な話でも何でも無くて、彼が言う「失敗」とは、おそらく商談の失注か何かだろう。今の私に言わせれば、それは「柔らかい」失敗なのだ。顧客の虫のいどころ、タイミングの問題、なんとでも言えるような失敗だからなのではないか。

この感覚のズレは、他のPMとの会話でも感じた。 プロジェクトの遅延が濃厚になった時、私はPMにこう聞いたことがある。「プロジェクトが遅れてても、自分が手を出して早めるわけにはいかないのって、辛くないですか?」と。 私は、かつて自分がそうしてきたように、手を動かしてでも「硬い」納期に間に合わせることを考えていた。だが、彼はピンとこない顔をしていた。

今ならわかる。彼の仕事は、私のような「硬い」タスクの実行ではなかったのだ。彼にとってのプロジェクトとは、それ自体が「柔らかい」不確定性の塊であり、そのマネジメントこそが仕事だった。遅延もまた、マネジメントすべき「柔らかい」事象の一つに過ぎないのだ。だからPMは計画に間に合わせるために自分が徹夜でプログラミングする代わりに、プロジェクトの完遂に向けて仕様と要件を整理し、各方面の面目が立つようにリスクをコントロールする手段を講じれば良いのであって、そこにもどかしさはないに違いないのだった。

*

私は、打ち合わせから帰宅すると、自宅のPCの電源を入れた。地上の仕事を奪われた私にとって、最後の安住の地は、この趣味のプログラミングをする時間だった。
難しい処理の実装にさしかかって、私は、ふとその部分をAIに書かせてみることにして、すぐにAIは、それらしいコードを吐き出した。だが、それは要件を満たしているのか満たしてないのか、今ひとつよくわからないコードだった。私はAIにコードについての質問をしたが、どうにも要領を得なかった。チャットUIの外側にある注意書きが目に入った「生成AIは不正確な情報を表示することがあります。生成されたコードは再確認するようにしてください」再確認?何を?誰が?

その時、私は奇妙な心境になって、ひどく不安になった。PMも、営業も、そして今やAIさえも、みんな「柔らかい」霧の中にいる。 みんなが宙に浮いている。 かつて私が立っていた、あの凍りつくように「硬い」地面には、もう誰もいないのかもしれないのだった。


今、僕たちが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と墓穴を掘っているのかもしれない。