(15)プライベートスペースを少し犯すくらいの間隔

 吾輩はシステムエンジニアーである。リーダーに必要なことは、組織を私物化しない努力である。

 好物の豚の生姜焼き定食を食べ、オフィスに戻ったとき、くだんの二人はまだ戻ってきていなかったが、しばらくして、吉沢さんが先に戻ってきた。着席し、長財布をかばんにしまいこむ彼女に、お昼前の吾輩の勝手な判断の報告をする。

「あ、吉沢さん、パソコンがロックされてなかったんで、フタを閉めておきました。いつも、ちゃんとロックしてるのに珍しいですね。」
 その言葉を聞いた彼女は何かを思い出したかのように目を見開き、
「あっ、あ、ありがとうございます。」
 と、言葉を詰まらせながら答えてくれたが、見ようによっては少しうろたえているようにも見えた。

 開発現場の日中に雑然とオフィスの宙を舞うキーボードの音というのは、よくよく耳を澄ませば、その音が、何を作っているのかわかるのかもしれない。ブラインドタッチの英数入力で英語ベースの単語が打たれるプログラミングの音、ローマ字入力で日本語が打たれるドキュメントが作られる音。そして、それらの合間にマウスカーソルが動かされ、実際のそれと同じような間を含む、会話文が打たれる音。隣席から聞こえる音は、基本的には、マウス操作と画面を入力するテストの音だったが、それを阻害するかのように、頻繁に手が、マウスに持ち替えられ、明らかなローマ字入力の音が聞こえたあと、少し強めのエンターキーが響く。どうやら、川村マネージャーからの執拗なチャット攻撃にあっているのだと想像するのはたやすい。そして、吉沢さんはそれをよしとしていない。

 「3Aの大きめの4画面」は、今日の終了時には、動作確認までいけそうだ。毎朝、浅見リーダーによってメンテナンスされるスケジュールは希望的観測に基づくのは見て明らかで、今朝の最新情報では、明日が単体テスト完了となっていたが、この大物がようやく動作確認まで来るのは、このプロジェクトによっとも彼にとってもよい知らせであろう。喫煙に立とうと思った吾輩の横で、エンターキーを押す鋭い音が響いたと同時に、吾輩のモニターにIPメッセンジャーの封書が届く。送信者は吉沢さん、直接口に出して言えないことか。開封する。

(山口さん、すみません。私、今日八時ごろに終わると思うんですけど、山口さんは何時に終わりそうですか?もしよければ、地下鉄の駅まで一緒に帰ってもらいたいのですが・・・)
 お誘いなのかお願いなのか判断に困る内容だったが、彼女の表情をチラっと見ると、昼食前のあの困った眉毛になっている。進み具合によっては、十時くらいまでを覚悟していたが、そういうことなら一肌脱ぐかと返信する。

(よくわかりませんがいいですよ。ドキュメントのありかを教えてくれたお礼ということで。ちなみに、川村さんが関係ありますか?)
 吉沢さんからは言葉を選ぶように少し間をおいて、
(ええ・・・。無事に帰れたらお話しします。)
 という返信が来た。昼食時の検討の結果、何が起こっているかはだいたい察しがついていたが、しばらく知らんぷりを決め込む。

 夜7時55分、吉沢さんからの依頼事項をまわりに悟られないように、手提げかばんにノートと筆箱をしまい、そろそろ帰るというポーズを隣席にとる。オフィスに人はまだわりと残っている。パソコンがシャットダウンされたのを確認し、お疲れ様でしたとプロジェクトの空中に発し、ゲートを通り抜け、エレベーターの下ボタンを押す。高層ビルでは、この時間でも、10基のエレベーターはフル稼働で、なかなか止まらない。だだっ広いエレベーターホールのすみっこでそれらの行き来を眺めている間に吉沢さんがゲートから出てきたが、その後ろに、吉沢さんのプライベートスペースを少し犯すくらいの間隔で、川村マネージャーもついてきている。エレベーターホールまでやってきた吉沢さんと目で合図をし「お疲れ様です」と会釈し、彼女は、吾輩の近くに立つ。それを見ていたのか、川村さんは少し、距離を置いたところに陣取った。

 しばらくして25階で止まったエレベーターに、当然のように三人で乗り込む。運よくと言うか、乗り込んだ3号機には誰も乗っておらず、下界までの数十秒は何の会話もなかったが、おそらくこれが吾輩の本日最大のミッションだろうと、ビルの出入り口の自動ドアで吉沢さんと立ち止まり、川村さんが先に地下鉄の駅に向かうのを「お疲れ様でした」と見送った。二人で小さい歩幅を重ね、彼の後ろ姿が小さくなったのを確認し、吾輩が知らんぷりを解禁する。

「いつも、こうなんですか?」
「ええだいたい。しつこく誘われます。最近は手を握ろうとしてきますね。」
「どうします?このまま駅まで行ってもまた彼に会いますよ。軽く呑んで時間つぶします?」
「そうですね。少し呑みましょうか。」
 

(14)やんごとない

 吾輩はシステムエンジニアーである。ハラスメントはされたほうの感情が害された時点で成立するそうである。

 さて、吉沢さんのおかげをもって手に入れた売上金の按分ルールのドキュメントは、考慮すべきケースは多いものの、結果的には複雑なロジックにはならなかった。書き上げたプログラムを見返しながらほっと胸を撫でおろす。

 こういったドキュメントは、たいていの場合、お客目線で書かれていることが多い。彼らの言葉では、たくさんの場合分けや条件があるために、大変な仕事という感覚であるのだが、実際にプログラムに落とし込むと、共通化をはかったり、ここまでは違うがあとは同じ、というフローに帰着できたりするから、実装はそこまで難しくならないというのはよくある話である。今回もそのケースに当てはまった。
しかし、お客さんとしては、この業務は複雑であるという感覚は変わらないわけであり、プログラマー目線で導いた「複雑ではないもの」という感覚を、ベンダに与えられた仕事が業務改善ではないときに、これをお客に押し付けて、険悪な雰囲気になるということもわりとある。
 お客の気持ちを理解しないまま、プログラム開発の現場の感覚を貫く人間は、お客との会話の場、いわゆるシステムエンジニアリングにおける「前線」からは退場を促され、「後方」支援にまわる。かといって、最前線にいる人間も、後方のことは考えずにお客のほうばかりを向いていることが多い。吾輩はこれまで、最後方から徐々に上がっていき、一度最前線を見たあと、好んで後方寄りの中盤に収まることが多いから、どちらの気持ちもわりと理解しているつもりである。しかし、同じ「味方」であるのに、前線の人間が客みたいな顔して偉そうな態度を取られると、言うことが違う客が別々にいる感じがして、混乱するというよりは、神経が衰弱する。

 そんななかで、前線から退場を促された尖ったエンジニアは、最後方にまわっても尖ったままであり、こちらも困る。彼らはどうやら「私はすぐれた技術を持っており、頼まれてプログラムを書いている」という孤高の感覚のようであるが、そのわりに寂しがり屋であるために、その裏返しで、自己顕示が恐ろしく強い。会話が噛みあわないか、こちらの話を理解しようとしていない。結果、こちらがいくら言葉を積み重ねても、ちいとも彼らには響かないことがわかり、歩み寄ろうという発想自体がなくなっていく。比較的気の長い吾輩でも、そういった感覚になろうというときには、彼らは後方からすらも退場を促されている。これが自然淘汰というやつだろう。いっぽうの、ずっと客の顔をしている前線の味方は、自然淘汰はされない。商流や社内政治、またスキルの事情などがあるからだろう。少なくとも日本においては、プロジェクトメンバー全員が、エクセルやパワーポイントをぬるぬると使え、プログラムが読めるだけではなく、正しく書けて、お客の言葉と仕事を理解でき、そして、ニュートラルな感覚を持っているというわけではない。閑話休題。

 ちょうど昼休憩のチャイムが鳴り、お客のビジネスルールが三段組みでぎっしりと書かれたA4横、三枚のそのドキュメントを手に取って天を仰ぎ、そういえば、安藤さんと川村さんの一件以降、一回も煙草に席を立っていないと思い出した。いや、その前に、このドキュメントの所在を教えてくれた隣席の「味方」に礼を言わなければ。苗字をさん付けで呼ぼうと、彼女のほうに視線をやったが、なにか話しかけづらいオーラが出ている。
 描いていない地毛の眉毛の角度は明らかに困っており、キーボードのホームポジションに置かれた両手は固まっている。なんか新しい問題が出てきたのかしら。それとも、久しぶりのお通じが来たのかしらと下世話なことを思いつつ、お礼を言うタイミングが与えられないまま、吉沢さんは、鞄から長財布を取り出し、静かに立ち上がった。そうか、今日の昼ごはんは何にしようかと考えていたのかと自己解決し、彼女がオフィスのゲートに向かう背中を眺めながら、彼女のパソコンがロックされていないことに気付く。画面の真ん中に長方形のIPメッセンジャーのウィンドウ。送信元はさっきひと悶着したプロジェクトリーダーの川村さん。

 なんだろう。彼女は一介のプログラマーと決め込んでいるはずで、これまで二人が会話をしていることなんて見たことないのに、あのオッサンと何か話をすることがあるのだろうか。ウィンドウの「開封」ボタンを押せば、彼から何が送られてきたのか見られるが、いずれにしても、ロックされていないことはまずいので、彼女のノートパソコンのフタを静かに閉めた。落ち着いて考えると、彼女はこのメッセージが来たことを見て、あの表情になったのかと思い、川村さんのほうを見ると、彼も吉沢さんの背中を意味ありげな表情で追っていた。何かやんごとないな。

(13)これが個人の裁量か

 吾輩はシステムエンジニアーである。構想時は全12回だったのだが、いざ書いてみると、一向に終わる気配がない。そろそろ回収に入ることにする。

 酒席の乱れた会話をしらふのときに持ち出すのはタブーではあるが、あのあと、小倉さんに聞いた人間関係を整理する。
 いつも腕まくりをしている浅見さんは、現PLであるが、DBAの桜木くんに「現行踏襲」と言い放った安藤さんがもともとのPLだったようである。スケジュールが厳しくなり、無理がたたった安藤さんが体を壊し、1週間くらい休養していたときに代行としてやってきたのが浅見さんで、復帰後の安藤さんはサブリーダーとして落ち着いたようである。この3人がレインボーソリューションの主要メンバーである。

 いっぽう我々、ランサースタイルは、新規開発をすることが最適な山中さんと、彼に追従するもしぶしぶテストをすることになった里見さん、なんでこんなところにいるかわからない美貌の持ち主は隣席の吉沢さん。あと、昼間は一言も言葉を発することなく、朝9時に現れ、夕方6時きっかりに帰っていくお誕生日席に座っているのは蒼井さんというらしい。小倉さんによれば、蒼井さんがこのシステムのもともとの構造を設計し、ランサースタイルとしてのリーダー的な位置だったようだが、ある時期から、プロジェクトには一切口を出さなくなったそうである。
 エンドユーザーとレインボーさんの間には、元請の会社が入っていて、レインボーさんの上位にあたり、ランサースタイルはレインボーさんの一員として常駐している。小倉さんは元請の会社の、岸さんという人の紹介で直請で入っているそうで、岸さんはこのプロジェクトのPMだということだ。

 そして、元請の子会社もこのプロジェクトに参加しており、その会社の川村さんという人が、エンドユーザーから見た開発部隊の責任者だということである。岸さんはもともと技術者だったそうであるが、川村さんはインフラには長けているが、プログラムは書けず、もともと業務知識をカバーするために入ったということであったが、開発時のあらゆるコミットメントは川村さんの役割であり、彼にシステム開発の経験がないことに、安藤さんと蒼井さんに不満があったらしい。
 そういった立ち上がりからの経緯で、ある時期を過ぎ、蒼井さんはプロジェクト推進に関わることを辞め、安藤さんが体を壊し、どちらかというとエンドユーザーのわがままで帳票設計に不備があるとされ、新しい体制が明確に計画されないまま、浅見さんがやってきて、レインボーさんが会社的にソフトランディングを目指しているということのようだ。ようするに、このプロジェクトはすでにバラバラで、このあと、いかに波風立てずに終わらせるかが、浅見さんのミッションである。
 
 
 そんななか、吾輩のミッションは「3Aの大きめの四画面」である。進捗状況はおおむね不足しているプログラムの挙動が整理できたが、基本設計書にある「売上金の按分ルールについては別紙参照」の「別紙」が見つからない。ここに大層な業務ルールが書かれており、コーディングにインパクトを与えるような気がして、不足分のコーディングが始められない。どこを探してもないということは、体制が変わる前の出来事であろうから、安藤さんに聞くのが一番と考えた吾輩は、昨晩の小倉さんの話を確かめるために、一芝居打つことにした。基本設計書の該当ページをプリントアウトし、その部分に赤線を入れて、安藤さんのもとへ席を立つ。

「安藤さん、すみません。この設計書のこの『別紙』なんですが、どこにありますか?」
赤線を指さし尋ねると、太古の記憶を強引に呼び戻された安藤さんは少し不快な表情を見せ、
「あ、これね。これ、以前の構成で作ったものなので、今はどこにあるかわかりません。ドキュメントの管理ルールが決まっていないので。」とチラチラと川村さんのところを見る。視線に気づいた川村さんはこちらを向いて立ち上がり、
「いや、それは少し誤解がある。『管理ルールは定義しない』と決めたのであって、管理ルールがないわけじゃない。」その言葉を聞いた安藤さんはあきれ気味に
「それは『ない』のと同じでしょう。」
「うちのプロジェクト標準では、管理ルールを定義せずに個人の裁量に任せる、でも問題ないとなっている。このルールでうまくいった前例もある。」
つまり、あなたの立場としては標準には遵守しているから何の問題もないということか。
「そういうわけで、プロジェクト的にそのドキュメントはありませんので。何かありましたら、川村さんへ直接どうぞ。」
どうせないんだろうなあと、すごすごと川村さんにもインタビューしようと思ったら、吉沢さんがこっちこっちと手招きしている。バタバタと自席に戻ると、
「以前のドキュメントは別の共有フォルダにバックアップしてありますよ。これですよね。」

 良かった。これが個人の裁量か。

(12)フリーの意味を履き違えているということかな

 吾輩はシステムエンジニアーである。しかし、システムエンジニアーには明確な定義があるわけではない。

 記憶を固く閉ざしていたリナちゃんのことが脳裏から漏れ溢れ、胸が締め付けられる思いになった吾輩がどんな表情だったのかはわからなかったが、何かを察した小倉さんは、話題を本来吾輩が所望していたものに変えてくれた。

「ところで、大変な現場に来ちゃったね。初めてのフリーの現場なんだろ。ボクは、レインボーさんの上位の会社の、岸さんという人の紹介で途中から入っているけど、いろんな人の思いが交錯しているというか。」
「どうしてこうなってしまったのかは、まだ入って間もないんでわからないんですけど、ちょっと、ここのメンバーは、僕の考えていたフリーランスというのとは違和感があるんですよ。」
「というと。」
「たとえば、隣の席の吉沢さん。彼女はもともと歯科技工士からの転職で、フリーという立場で一生懸命システムエンジニアリングを修得しようとしている。いや、彼女はよいとして、やりたくない仕事を押し付けられたからといって現場に来なくなるひとがいたり、テストではなく新規開発をすることがプロジェクトにとって最適な方法であると言わしめるひとがいたり。」
「フリーの意味を履き違えているということかな。」
「いや、そこまでは言ってないんですけど、小倉さんは僕が新人のころから、フリーランスだったわけじゃないですか。確かに、プロパーの判断を仰いで仕事されていたわけですけど、それでも、普通のパートナーさんよりも、プロパーに近い位置で仕事をされているように見えた。それはつまり、プロジェクト全体や、会社やお客さんのこと全体を見て動いていらした。」
「それはそうだよね。ボクは一人社長で、営業でもあるわけだから。確かにシステムエンジニアリングだけがボクの仕事ではなかった。でも、プロパーに近いと感じたのは、ボクが山口くんのところに長くいたからとか、斉藤さんと古い仲だったからというのもあるんじゃない。」

 斉藤さんというのは吾輩がサラリーマンだったときの部長だったひとだ。そういえば「システムエンジニアーの価値は、IT以外のことをどれだけ知っているかで決まる」とか「仕事はプロジェクトマネージャーが取ってくるもの」というのは斉藤さんの教えだったように思う。吾輩が続ける。

「そうなんです。原価管理もするようになって、人脈や技術に裏付けができて、フリーランスになれると思ったから僕は独立したんです、僕は。」
 夜遅くさらに疲れていたからか、1杯目のジントニックがいつもより早く浸透してきたようだ。

「おやおや、それはたいそうなことで。ちなみに、言ったかもしれないけど、ボクも以前はサラリーマンだったんだよ。小さい会社だったけどね。とある朝出勤してきたらね、社長がみんなを集めて、『はい、いまこの会社は潰れました。再就職はできるだけ斡旋しますが、全員解雇しますので、就職活動してください。』って。会社ってそんなに簡単に潰れるもんなんだって、そのときは驚いたよ。知ってた?手形が2回不渡りになると会社って潰れちゃうんだよ。そんでいくつかあった人脈をたどって、斉藤さんに仕事を紹介してもらったりして、現在に至ると。」
 三十路を過ぎたばかりの吾輩には少々衝撃的な話だったが、笑い話のように言ってのける姿に驚きつつ、小倉さんは噛みしめるようにウィスキーを呑みこみ、

「山口くんの言うことはもっともだ。ただ、あのころとは時代は変わってきたし、ランサースタイルさんのようなビジネスモデルもある。違和感があるのは、仕事に対しての意識なんじゃないかな。『仕事』は妥協が許されず、つねに厳しさを伴うものと思うひとたちは、相手やチームの感情は二の次で厳しいことを言う。一方で山口くんは相手やチームの感情を重んじて全体を見ている。違いがあるのはそのへんなんじゃない?ただ、そういったものをふまえたうえでさ、今のプロジェクトが終わっても、また一緒に仕事がしたいと思えるかどうかだと思うんだけど。」小倉さんも少し酔ってきたかな。

「それからさ。」
「はい。」
「なんか山口くんは自分の思うシステムエンジニアー像に酔っている気がするね。」
 酒には酔っているが、それは思ったことはなかった。しかし、思い返してみると、リナちゃんが吾輩に好意を持ったのは、学生時代にやっていたIT系のアルバイト先で、プロジェクトマネージャーが優雅に仕事をこなす姿に憧れをもったことがきっかけだと言ったのを聞いて、この子は吾輩が好きなんじゃなくて、IT業界に恋をしているんだな、と思ったことを思い出した。吾輩も恋に恋い焦がれ、恋に泣いているのだと思うと、複雑ながらも、愉快な気分にもなった。帰って寝よう。

(11)リナちゃんのこと

 吾輩はシステムエンジニアーである。IT業界が華やかに見えるのはただの幻想に過ぎないが、現場には、咲き誇る高嶺の花と、場違いにひっそりと咲く一輪の花というものがある。

 時計の針が10時半を回っていたのはわかっていたが、帰り際に話しかけた小倉さんとの会話が非常に懐かしくなり、一杯だけ呑もうということになった。最寄り駅までにある細い路地へ誘い込むように光る「BAR」と書かれた看板の先の、カウンターに陣取るやいなや、小倉さんはおそろしく予想外のことを口走った。

「山口くん、元気だった。そういや、前の会社のあの子とはどうなったの。なんか隠そうとしてたみたいだけど、けっこうみんな知ってたよ。リナちゃんとか言ったっけ。」
 なるほど、会社を辞めるということは暗黙のルールというものから解き放たれるということなのか。吾輩は10年前と、現在のフリーランスとの間の違和感について言葉にしたかったのだけど。

 流川さん、通称リナちゃんは、吾輩が常駐先からまとまった仕事を自社に持ち帰った時に手伝ったもらった女の子だ。美容系の学校を出ているのに、IT業界を志望したとのことだった。歳は23、4だったろうか。バイトで営業事務をしていたが、吾輩の仕事のスケジュールが厳しく、作業自体はパラメータの入力と画面操作でソースファイルが生成できるというものだったから、開発に興味のある彼女に手伝ってもらおうということになった。
 メンバー6人を率いたプロジェクトはこれまでと変わらず男所帯で、残業も込んできたなかでの彼女の投入は、効果てきめんだった。メンバーの負荷が減ったのが第一であるが、日頃2次元と仲良くするような、彼女と歳の近しいプログラマーたちは、彼女に興味がないふりをしつつも、彼女からの質問に嬉しそうに答え、そして、女子との他愛もない会話を楽しんだ。残業こそ微減ではあったものの、目に見えて生産性は上がっていった。

 残暑の週末のある日、台風19号が南から北上していた。吾輩は課長からのメールを受け、メンバー全員を定時前に帰した。残業に疲弊していた男衆は喜んで帰ったが、流川さんだけが、3日遅れという理由で、帰ろうとしなかった。スケジュールはどうとでも調整できたはずだったが、彼女の口ぶりから、早く一人前として認めてもらいたいと必死さが伝わってくる。吾輩は彼女の横に着いて、ギリギリまで粘ったのだが、雨風は強まるいっぽうで、とうとう電車は止まってしまった。出張慣れしていた吾輩は彼女のために近くの宿を確保し、吾輩はビデオ試写室で新作をチェックするつもりで、彼女を部屋まで送ったが、心細いからシャワーを浴びている間は帰らないで、というタテマエによって、しばらくの間、彼女と同じ部屋にいることになってしまった。

 安くはないシティホテルからの暴風雨の夜景を見ながらパソコンを広げ、残務をしようとするも落ち着かない。そうこうしているうちに浴室の水の音が止まり、ドアの開錠音が部屋に響く。アメニティーのガウンを身にまとった姿からは、下着まで雨に打たれたからかどうなのか、くっきりとそのままの大きな谷間が見えていた。

 冷静さを装い、吾輩が部屋から出ようと彼女に背を向けたとき、リナちゃんは両手を広げ、吾輩に訴えた。
「山口さん、何もしてくれないんですか。」
吾輩は振り向き、
「落ち着いて。山口さんとリナちゃんは、ただの社会的な上下関係なの。第一、オフィス・ラブは仕事がやりにくくなるからだめだよって、あいつらにいつも言っているの、リナちゃんが一番よく知ってるじゃない。」
精一杯の吾輩の強がりを聞いて、ブサイクに頬を膨らせた彼女は、少し間をおいてこう続けた。

「わかりました。でもひとつだけお願いを聞いてください。」
「内容によるけど、なに。」
「リナのあたま、ポンポンしてもらえますか。」
という言葉にまかせ、彼女は吾輩の目の前に顔を近づけて目を閉じた。

 マネージャーとして、彼女を認めたかった吾輩は、やさしく彼女の頭に手をやった。上背はなく、決してスタイルがいいとは言えないが、人懐っこさが存分に溢れたふくよかなからだを見ながら、オフィスでちょこまかと動き回るさまを思い出した。さらに凝視すれば、やはり少し鼻が上がってると再確認し、ほんとうに子豚さんのように愛おしいと息を飲み、彼女が恍惚の表情から遠ざかる意識の中で、大きな口を少し開けたとき、吾輩は彼女の唇をむさぼってしまっていた。

 ほどなく、プロジェクトは無事納品を済ませ、流川さんの送別会が盛大に行われた。ピロートークで聞いた話だが、定職に就かない娘にお父さんが激怒しており、実家への強制送還が決まっていたということだ。納品までの数ヶ月は忙しく、彼女とはそれっきりだったが、事あるごとに、私いつか両親を言い聞かせて戻ってきますからと言っていたものの、数直線もベン図もわからない女の子がこちら側に向いているとは到底思えなかったし、本当にやりたいことを貫いてほしいという親心もあった。とはいえ、彼女がいなくなったという喪失感は、今も癒えているのかわからない。

(10)変わらないことを維持し続けることこそが幸せ

 吾輩はシステムエンジニアーである。やはり、前回の話もすこぶる面白くなかった。人間は追い詰められていると、ひたすら、自分のできることをやり抜こうとするからだろう。吾輩にも気持ちにゆとりがないのだ。ちなみに、試験前に部屋の掃除をしたくなる現象のことを、セルフ・ハンディキャッピングというそうであるが、追い詰められているときに、自分が書ける、自分がふさわしいと思うコードを書ききった里見さんのコードについても、同じようなことなのかもしれないと思った。いや、彼女は決して逃げたわけじゃないのであるが。

 彼女のコードは確かに清々しく、コーディング規約にも違反していなかった。そして、彼女の言葉からわかったように、この業界に入りたてのころに覚えたロジックを正義として書かれたわけである。しかし、それは吾輩には、彼女の中のテンプレートを使い回しているだけにしか見えなかった。メインフレームの有史以来、プログラマーというものはそういうものだったのかもしれないが、いつかどこかで書いたコードの反復がわれわれの仕事ではないと、吾輩は思いたいからだろう。それが、経験やスキルと呼べるものだったとしても。
 しかしながら、吾輩のプログラムが、果たしてテンプレート化していないのかということも自問自答しなければならないと、強く自分に言い聞かせる。そして、比較的若い今の年代では、いろいろなことに対応できていっているかもしれないが、将来、家庭を持ち、変わらないことを維持し続けることこそが幸せだと思えるようになったとき、吾輩はこんな気持ちでいられるだろうか。

 プログラマー30歳定年説が覆されて久しいのは、設計書を書いている時間がないのと、プログラムの生産性が飛躍的に向上しているからであるが、吾輩は、30歳を境に、コーディングへの執着は失せている。代わりの執着は、人間も含めた「システム」というものが出来上がっていくさまである。対して、吾輩のスマホは8ヶ月前のアップデイトをわざと適用していない。スマホは電話であり、不必要なアプリもほとんど入れておらず、ブラウザとメールさえ使えればよい。今使えているものをわざわざ刺激する必要はないからだ。

 さて、わがままな彼女も出社したし、事情聴取も終わった。最近、額も汗ばむようになってきたので、この現場で初めてジャケットを脱ぐ。スーツの上着は、椅子の背もたれに掛けると型崩れすると何かで読んだので、ていねいに左右に折りたたみ、襟のほうをつまみながら、オフィスのすみの衣文掛けに掛ける。吾輩がカフスボタンをしても不自然じゃなくなるのはいつになるのだろうかと、いつもと同じことを思いながら、袖のボタンをはずし、腕まくりをする。同僚たちも、昼食を終えて帰ってきた。さて、やるか。

「設計書のここのところなんですけど、もしかしたら、情報系のシステムからデータ連携があるかもしれないから、もう少し、拡張性を持たせておいてほしいんですけど。」
「でもそれ、その先のテーブルに連携データをいれておけば事が済むんじゃないんですか。」
「いや、別のプログラムを起動できるようにしておいてほしいんです。」
「んー、安藤さんのメモを見ましたけど、データ連携のプログラムは、サーバーにあるジョブスケジューラがをキックするとのことだったので、これで問題ないとお客さんのレビューまで行ってますよね。」
「これ、新しいほうのサブシステムなんですけど、まだ、ジョブスケジューラの選定まで至ってないんです。」
「まーたそれですか。この前の帳票の件もそうだったじゃないですか。なにも決まってないなかで、いろんな場合を想定して作ったのに、僕が聞いていないことが最後に出てきた。もうそういうことはこりごりなんですけど。」

 いやいやこちらも、まーたなんか穏やかじゃない会話が耳に入ってきた。プロジェクトにとって最適な方法を検討した結果の、浅見プロジェクトリーダーが、尖った山中さんをなだめている構図だ。安藤さんのメモがポイントのようだが、安藤さんは振り向きもしない。帳票の件という発言も気になる。
 見かねて、少し離れた場所から、髪の毛を下ろした白髪のおじさんが、書類をもってこちらにやってきた。彼はふたりの間に割って入り、言葉を発しようとしたとき、ハッと気がついた。髪形が変わってて、まったく気がつかなかったが、吾輩が新人サラリーマンのときに世話になった、あの頃からフリーランスの小倉さんじゃないか!

(9)吾輩も自分のコードにとやかく言われるのは嫌

 吾輩はシステムエンジニアーである。いやしかし、前回(先々月)の話はすこぶる面白くなかった。

 いや、前回の話で言いたかったことは、プログラミングにはパラダイムがあるということである。
 パラダイムというのは「ある時期の背景と方法を包括したもの」を示す「時代」や「流行」とは別の便利な言葉である。IT系のひとたちにとっては、ホスト、オープン、Web(次はフロントベースのサーバーレスと続くだろう)のことであるのだが、たとえば、近代の情報収集のやり方は、一般化したインターネットのうえで、はじめはパソコンだけだったが、iモードが生まれ、スマートフォンになっていったように、根幹を為す技術は変わっていないが、情報への触れ方は変わっていった、という説明であれば、IT系でないひとでもわかると思うのだけど、このそれぞれがパラダイムである。
 そして、前回の里見さんのプログラムは、少なくともM言語を使う場合においては、直近のパラダイムにふさわしくないものだったということが言いたかったと、高層ビルに入る常駐先の社食は避けて、いつも来ている地上の居酒屋で、ランチのアジフライ定食を頬張りながら考えていた。

 ビルに戻り、喫煙所で2本吸ってからデスクに戻る。休憩が終わるまであと15分ほどあるが、昼からと言っていた里見さんがもう来ていた。ノートパソコンに向かい、休憩ではない時間を過ごしているようだ。半休が気まずい現場もあるから、少し早く来るのは懸命な判断だと感心しながら、レインボーさんの島はまだ誰も昼食からは戻ってきておらず、ランサースタイルの島も、吾輩と彼女だけであると気づく。彼女が休憩中でないのなら、前回わかった「面白い話」がなぜそうなのか、聞くなら今しかない。彼女のコードは確かに「だいぶアレ」ではあったのだが、尖ったものというか、ある種の執着のようなものを感じたのだ。

「あっ、里見さん、お疲れさまです。あれ?、もうご飯は食べたんですか?」
「はい。来る途中に簡単にすませてきました。」今朝は彼女が来るか来ないかで揉めていたこともあったので、心配させまいと気丈に振舞っていたのが、その話し方からわかった。あまり話を長引かせたくなかったので、間髪入れず、吾輩が続ける。

「あの、3Aの4のソース見て、気になったんですけど、変数の局所宣言がないのとループが全部後判断になっているのが、面白いなあと思って見てたんですけど。」
 こういった話をされるのが初めてだったのか、最初は驚いたような顔を見せていたものの、徐々に彼女の表情が曇っていく。
「・・・なんでしょう?私のソースに対して、何か仰りたいことでもあるんですか?」
「いえ、言いたいことは特にないです。規約違反でもないし、汚いわけでもない。むしろ、清々しいくらいです。」
「じゃあ、何ですか?」
「たとえば、このメソッドの先頭の変数宣言、先頭に20行もあると見る人が面食らうのと、半分以上は、判断とループのブロックの中で使われるものだから、それらはブロックの中で宣言したほうが処理全体の見通しも立てやすいし、変数の適用範囲はブロック内だけだから意図しない代入とかもなくなる。あと、これとこれとこのループを抜ける条件式は後でなくて前に書けば、不要な変数も出てくるし、ソースファイルもだいぶ減らせる。」
「でも動作は変わりませんよね?修正しろと言ってます?」
「いや、そういうことは言ってない。でもM言語が属しているパラダイムいえば、こういう書き方が普通じゃないかなと思って。あと、それから・・・。」
「それから?」彼女に促され、吾輩が続ける。
「なんか、こうも書き方が統一されていると、いちばん最初に覚えたやり方をずっとたいせつに守っているような気がするんですよね。もしくは、これが正解だという方法を守っている、というか。もしかしたら、これまで、あるべきロジックの議論をしてきてないのかな、とすら思いました。」
「・・・そうですか。仰りたいことは以上ですか?」

 吾輩の、以上です、という言葉を聞いて、彼女は女性にありがちな、頬をふくらませて、ぷいっと顔を背ける仕草をしてみせた。・・・図星か。我々の仕事は納期通りに品質の高いプログラムを書くことであるから、意外とその中の書き方がどうあるべきかということは議論されにくい。彼女は、そういった機会が与えられることなく、自分の正解を貫いてきたんだろう。だから、他人の書いたコードは触りたくないという結論に至ったんじゃないかと思う。そして、自分のコードにとやかく言われるのが嫌なのは吾輩も同感だ。でも、最新の事情については、つねに取り入れていかなければと、自問自答しながら、昼休みの終わりを告げるチャイムを聞いた。

(8)面白いことは気のせいではなかった

 吾輩はシステムエンジニアーである。プログラムは人間の手によって書かれるものである。

 しかし、朝から感傷に浸っている場合ではない。このプロジェクトは火を噴いているのだったと自分に言い聞かせ、焦る気持ちを抑えながら、駆け足気味にデスクに戻った。とはいえ、吾輩の担当はバカデカい七画面から、「大きめの四画面」に減ったわけなのだから、いくばくかの安堵のようなものもあったが、それはすぐに間違いだったと思い知る。「3Aの大きめの四画面」というのは、3Aの3から6のことであるが、これらは、3A本体と、3Aの1と2から呼び出されるが、渡されるパラメーターが多く、それらは複雑な条件で結びついている。つまり、「小さめの三画面」自体のテストをしなくてもよくなったのは事実だが、それらから決別できたわけではなく、書きかけのコードを追って、仕様の把握をしなければならないというのは変わらないのだと認識した。同時に、ババをつかまされたというやるせない気持ちが吾輩を襲う。念のためと、昨晩のプロパーさんの成果を期待したが、リポジトリーのソースファイルの日付は一秒たりとも変わっていない。たぶん、この画面、みんな触りたがらないんだろう。吾輩も「話と違う」とか言ってみたい。

 さて「小さめの三画面」について、最初のソースファイルをクリックし、ホイールを転がす。そして、次のファイルをクリックし、またホイールを転がす。たまには戻したりもする。そうやって前後関係を読んでいく。少し面白いことに気がついて、次のファイルをクリックし、今度は、ホイールを下に転がすだけになる。ほとんどのファイルを下向きにホイールを転がし終わったあとに、面白いことが気のせいではないとわかった。

 里見さんのコードは変数の局所宣言がほとんどないのと、ループ処理がすべて後判断になっている。ループ処理というのは、繰り返しの処理である。たとえば、ある変数aに1を最初に格納しておき、aを1づつ足しながら処理を行い、aが一定回数になったら、繰り返しの部分を抜けるというものだが、里見さんのコードは、そのaが一定回数になったかどうかの判断が、繰り返し部分の後ろにある。べつに前判断でもいいところを、後判断にこだわって、処理の見通しが悪くなっているところも散見される。
 変数の局所宣言というのは、さっきの変数aについては、aという箱を使いますよ、と「宣言」しなければaは使えない。大昔のコンパイラーは、変数の宣言は、すべての処理よりも前に書かなければならなかったが、最近の言語は、処理の最中に変数宣言があってもよい。これを変数の局所化というのだが、彼女のコードにはそれがなくて、すべての変数宣言が、すべての処理の前にあって、見通しが悪くて仕方がない。この現場で使っているMという言語は局所変数はサポートしていないのか。というか、コーディング規約はあるのか、そして、このコードは誰かレビューしたのか。

 吉沢さんにコーディング規約の場所を教えてもらい確認してみたが、ループ処理を前判断、後判断にするかの指針について触れられていないのはともかくとして、変数の局所化については触れられていなかった。なるほど、規約違反ではないのか。

「吉沢さん、この現場ってコードレビューってしてます?」
「前はやってましたが、フレームワークが変わってからはものづくり優先ですね。」そうか、では。
「M言語って、変数の局所化ってサポートしてますよね?」
吾輩はM言語は初めてである。
「ループのときに、変数宣言するやつですよね。ほとんどのサンプルコードがそうなってますから、普通に書いてますよ。」
拍子抜けである。

 さて、里見さんは昼から出社すると、レインボーさんの島からもれ聞こえてきた。ここぞと、彼女が守られていたと言っていた山中さんの反応を見てみる。
「里見さん、昼から来るみたいですね。あっちで言ってます。」
「あ、そうですか。集中していて聞こえませんでした。」
「心配じゃないですか?」
「いや、別に。」
「守ってあげていたのに?」
「それは彼女が勝手にそう思っているだけです。」
 やれやれ、そうかい。

「ところで、里見さんのコード、ちょっとアレですね。」
「いや、だいぶアレだと思いますよ。」
 知ってるのか!

(7)そんな子供みたいなことを言ってないで

 吾輩はシステムエンジニアーである。現場には、受け入れられないこともある。

 今朝は、予定通り早起きだったが、昨日は久しぶりの男の自炊だったせいか、お腹の調子が悪かった。結局、朝のイベントに時間がかかってしまい、オフィスのゲートにIDカードをかざしたのは、始業の3分前だった。ピピッと音を立てて開いたゲートを通り、吾輩は、我々のプロジェクトの島に目をやる。この時間になるとほとんどのメンバーが揃い、静かに着席しているのだが、今日は、元請のプロパーの数人が立ち上がり、朝には似つかわしくない調子で、席をまたいだ会話が繰り広げられていた。

「あれ、何かあったんですか?」
 デスクに腰掛け、かばんを一番下の大きい引き出しにしまいながら、吾輩は、隣の席の吉沢さんに、ひそひそと尋ねた。
「里見さんがね、お休みなんだそうです。」
「それは心配ですね。お腹の調子でも悪いのかな。」
「いや、そういうのではないみたいで。『話と違う』とか言って、浅見さんに一方的にLINEを送ってきて、音信不通なんだそうです。返信も既読にならないし、電話も出ないみたいで。」
 どうやらゆゆしき事態のようである。続けて吉沢さんに問う。

「うーん。話が違うってなんなんですかね?」
「私、昨日、8時半くらいまでいたんですけど、7時くらいに、里見さんが浅見さんに呼び出されて…別室で打ち合わせをしてたみたいなんですけど、 30 分くらいして、里見さんが、涙目で怒ってるみたいなそんな感じで帰ってきて。そしたら、何も言わずにノートパソコンのフタをバンッってすごい音を立てて閉めて、挨拶もなく、無言で帰っていったんです。」

「なんか無茶なこと言われたのかしら?」
「…そうですねえ。たぶん、ずっと嫌がっていたテストをやってくれとお願いされたんじゃないかなと思います。私も、そのあと、浅見さんに、少しペースを上げてくれとお願いされたので。」
「そうですか。昨日、僕が早く帰っちゃったからですかね。」
「それはまだ関係ないんじゃないですか?」
 目は笑っていないながらも、パッと口角を上げる吉沢さんの表情に見惚れていた吾輩に、デスクに座ったままの浅見さんから声がかかった。

「すみませーん、ちょっと山口さんいいですか?」
 朝が早いこともあり、まだ浅見さんは腕まくりをせずに、ジャケットすら着ている。心中は穏やかじゃないのだろうが、変わらず冷静に、横に立った吾輩に曰く、
「少し担当の割り当てを変更したいんですが。3Aの6画面のうち、山口さんの担当は、大きめの4画面に変えます。そのあとは、基本的にもともとは里見さんがつくったものを割り当てていたんですが、別の人がつくったもので割り当てます。」
「はあ、よくわからないんですけど、彼女がつくったものが僕の担当ではなくなるということに、何か意味はあるんですか?」
「プロジェクトにとって最適な作業を検討した結果です。」

 その常套句を言われると、吾輩も言い返せない。釈然としないながらも、了承の返事をしたとき、いつもYシャツの胸ポケットに入れている、吾輩のアイフォーンが震え出した。発信元は、営業の出水さんだ。これは出たほうがいいな。
「あっ、すみません。ちょっと電話がかかってきました。とりあえずお話はわかりましたので。」
 浅見さんとの会話を終わらせ、オフィスのゲートの外の廊下まで移動した。着信は止んでしまったので、こちらからかけ直す。

「おはようございます。山口ですが、出水さん、出れなくてすみません。お電話、大丈夫ですよ。」
「ああ、すみません。ちょっと誰に電話しても要領を得ないので、山口さん入られたばっかりですが、仕方なくお電話しました。」

「里見さんの件ですか?」
「そうです。来てないんですよね?」
 出水さんが続ける。
「彼女が言うには『やりたくない仕事を押しつけられた。面接のときに、他人が作ったプログラムは触りたくない、と強く言っていたのに、押しつけられた作業は、それそのものである。話が違うから、それが解消されるまで行きません』ということなんですが、そこにいる誰に電話しても、知らぬ存ぜぬだったもので。」

「なるほど。だから、彼女がつくったもののテストを取り上げられたんですね。たぶん、マネージャーは、彼女の作業が、自分でつくったプログラムの修正作業だけになるようにしようと調整していますよ。彼女にお伝えください。そんな子供みたいなことを言ってないで、とりあえず出てこい、と。」
 最後の言葉は、自分でも少し言い過ぎ観があったのもあり、出水さんはしばらく絶句気味だったが、要領は得てくれたようで、話はまとまった。

 デスクに戻る前に喫煙所に寄った。いつもより少し力を込めて、ジッポーライターをスナップする。チャリンという甘い音を聞いて、迂闊にも、例の憧れの先輩のことを思い出してしまった。そういや、あの人もこんな感じで強く言う人だったっけ。先輩が抜けたあと、プロジェクトを任されたのはスキルが似ていた若輩の吾輩だったが、あのころは、なにひとつうまくいかなかったな。

(6)高嶺の花を満足させる自信はなかった

 吾輩はシステムエンジニアーである。現場にあるのは、仕様とプログラムだけではない。

 山中さんに話しかけるべきか、そして、なにを話すべきかも含めて、吾輩は(この休載期間の)丸3ヶ月も考えたわけだが、初めてのフリーランスとしての現場で、少し興奮しているのもある。この 10 年間のサラリーマン生活のなか、終電間際の乗換駅で、あの頃は味なんてわからなかったスーパードライを無理矢理ねじ込み、昼間の自分のふがいなさを悔やんだことを思い出す。絶対に言っておいたほうがよかった侘びの言葉を、番号を知っているにも関わらず、通話ボタンが押せなかったのは、当時が、個人主義が蔓延しはじめたころだからだったろう。それ以来、仕事は仕事と割り切ってしまったが、それでも、憧れの先輩と2人で行った出張のときの夕食では、彼女から傷心の話を打ち明けられ、僕は秘めた言葉を言えなかった。

 僕があのとき「すいませんでした、その場を取り繕うのに必死だったんです。」とか「先輩は素敵ですよ、僕が慰めたいです。」とか、ちゃんと言えていればよかったのに。…いや、高嶺の花を満足させる自信は、あの頃の吾輩には、なかったわけだけれども。
 
  
「あっ、山口さんでしたよね。あれ?帰ってもいいんですか?」
 後ろから、苗字をさん付けで呼び、振り返った彼の言葉は、概ね予想通りだったが、ちょっとした罪悪感に言葉が詰まる。

「いやっ、あのー、最初の画面がね、デカすぎてしんどくなったんです。少し動かしてもねえ、バグりまくりスティーでね。」最近、流行ってるらしい親父ギャグをブッこみ、ふっと表情を緩めた、山中さんにあえて、疑問をぶつける。

「山中さん、どうして、テストじゃなくて、新規やってるんですか?」
「え?」
「ごめんなさいね。ちょっと設計書が見えちゃったんです。10 年もやってると、机の上の表向きの資料は見ちゃうんです。」
 吾輩の言葉を聞いた彼の表情は、呆れ気味に変わり、喫煙所から見えていた、あの河川敷のほうへ目を細めた。

「下品な人ですね。」
「すんません。注意力が散漫なもので。」
「いや、謝らなくてもいいですよ。山口さんのことは、営業の出水さんから聞いてます。フリーになりたてなんですよね。だったら、人のやってることに口を出さないほうがいい。」

「その気持ちはわかりますが、どうすれば、この現場の仕事が早く終わるかを考えちゃうんです。ダメですか?」
「ダメじゃないですけど。」

 少しの間、沈黙が流れた。あと5分ほど歩みを進めると最寄り駅。次は吾輩のターンだという雰囲気の中で、次の言葉を絞ろうとしたとき、優しい彼が助け舟を出す。

「さっきも見ていたでしょ。あのプロジェクトが破綻していることは、きっと、山口さんにもおわかりでしょう?」
「お言葉ですけど、僕は、破綻という言葉は嫌いなんです。ざっと見たところ、あのプロジェクトは数千万円だと思うんですけど、書きかけのプログラムを見る限り、あの程度であれば…いや、収支的には失敗かもしれないけど、破綻という言葉は適切じゃないと思うんですけど。」

「じゃあ、破綻ってなんなんですか?」
「国家予算かしら。でも、国家予算も破綻ではないんじゃないかな。このあと、いくらでも修正が利くと思う。」

「よくわかりませんね。」
「そうですね。僕もよくわからない。」

不思議と重なっていた二人の革靴の音を聞いて、吾輩は思い出した。
「ところで、共通機能の設計書、よくできてましたね。あの分量で、あそこまで表現できているって、言葉の多い僕には絶対にできない。」

「誰もついてこれないんですよ。」
「たぶんそうなんでしょうね。」
「すぐれた技術で、エレガントなプログラムを書くことこそが、顧客のためになる。これは間違っていますか?」

「間違ってないです。でも、エレガントなプログラムなんて、僕にはもう書けないし、今では書けるひとも少ない。こちら側に来るのは、小さい頃からの夢だったけど、年もとったし、時代も変わったから。」

 微妙な空気を残しつつも、最寄り駅で地下鉄にもぐる彼を、お疲れさまでした、と声を掛け合い見送った。明日は早起きだ。