Enter■ふつーのプログラマです。企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。月は密度の濃い日々が続く月となった。先立つ数ヶ月、開発センターを停滞気味な空気が支配していたから、なおさらそう感じたのかもしれない。白川さん不在の間、代理を務めた今枝さんは、開発センターのパフォーマンスを最大限に活用できないどころか、後退させていた。人の補充要員の投入は事態を打開するどころか、混乱に拍車をかけただけだった。月末のカットオーバーを大幅に延期せざるを得なくなったに違いない。分ほどかけて状況を把握した後、全プログラマをフリースペースに集合させた。「今、作業中のものも含めて、全てのアサインを一度、取り消します」白川さんは笑顔でとんでもないことを告げた。「今日はみなさん、退社してください。勤務記録を全員につけておきます。今後の方針の説明をしますので、ここに集合してください。私たちが茫然と立ち尽くしている間に、白川さんはさっさとコマンドルームに入り、扉を閉ざしてしまった。エース社員たちも事前に知らされてはいなかったらしく、私たちに劣らずうろたえている。「あ、あー」気を取り直した今枝さんが咳払いした。何人かが手を挙げて質問しようとしたが、サブリーダーたちはそれを避けるように、自分の席に逃げ帰ってしまった。私たちは仕方なく帰り支度を始めた。「会社戻りますか?」細川くんが訊いた。「戻ってもやることないしなあ」東海林さんが当惑したように言った。「チケットキャンセルしてどうするんでしょうね」私は言った。「俺に訊くなよ」東海林さんは苦笑した。「普通に考えれば、ここまで遅延してしまったら、リスケしたところで焼け石に水だろうが、白川さんは普通の人とは言えんからなあ。日でどうにかなるもんかな」さすがのエースの白い魔女でも、この状況をリカバリーするには、かなり時間がかかるのではないか、と誰もが考えていたが、その予想は覆されることになった。一つ目は、開発センター内がやけに閑散としていることだ。その理由を考えていると、一緒に出社した細川くんが不思議そうな声を出した。「あれ、あいつらいませんね」あいつら、というのは、先月から投入された補充要員のことだ。言われてみれば、姿が一人も見えない。ログインしながら言った。あれ?」グループウェアを開いた私は首を傾げた。新しいチケットがアサインされている。枚もアサインされている。「複数枚アサインできたのね」私は東海林さんを見た。枚だ」東海林さんは唸った。並行してやれってことですかね。日頃の行い度数とか、いい人係数とかじゃないのか。それとも、お前は新婚だから、少なめにしてもらってるとかな」その理由はすぐに明らかになった。フリースペースに集まった私たちに、白川さんは告げた。「今日からチケットの扱いを変更します。気付いていると思いますが、各自に複数枚のチケットをアサインしてあります。どれから実装してもらっても構いませんが、途中で放置して別のチケットの実装を行うことはできないようになっています。一つ、これまでチケットのトレードは認めていませんでしたが、今日から解禁します。各自で判断し、必要であればトレードできるようになっています。譲渡ではなくトレードです。遅れている分を誰かに丸投げすることはできません。遅れている分は、こちらで調整します。「はい」東海林さんが挙手した。「ああ、出ると思ってました」白川さんは微笑んだ。「東海林さんには多めにアサインしてあります。これは東海林さんの人格や性格を考慮したわけではなく、単純にスキルの問題です」そこかしこでクスクス笑いが起こった。続いて手を挙げたのは草場さんだった。「アサインされたチケットを見てみました。「その通りです」白川さんは頷いた。パーツ、というチケットがほとんどでしたが、今後は複数パーツの組み合わせが増えてきます。これは単体テストに回しやすくするためです。蜂須賀テクノロジーの岡沢さんが手を挙げた。白川さんは氷のような笑みで岡沢さんを見返した。言い換えると、全て期限厳守だということだ。階を使って何とかしてください。「すいません、いいですか」東海林さんが反論するように言った。「スケジュールが遅延しているのは、エースシステムさんに責任があるんだと思いますが。「確かに」白川さんは静かな声で言った。「この状態になったのは、弊社のマネジメントのミスによるものです。それを隠すつもりはありません。何事もなくオンスケで進んでいたとしても、おそらく今年の年末ぐらいには、あなたたちの負荷は急激に増大することになったはずです。このことは最初に説明していますね。東海林さんは渋々頷いた。確かに白川さんは、最初の説明会のとき、最後の数ヶ月は日々の労働時間が、12から14時間ぐらいになるだろうと予言していた。「とは言っても」白川さんは破顔した。「エースシステムが何のペナルティもなし、というのは確かに不公平です。上乗せをプラスすると連絡しました。元々のベースアップ分とは別計算です。どの会社も、二つ返事で了承してくれました。何人かが笑い声を上げたが、苦虫をかみつぶしたような今枝さんの表情を見ると、すぐに途絶え、居心地の悪い沈黙に変わった。下請けへの支払を、社員の給与からのマイナス分で充当することなどできるはずがないから、白川さんのブラックユーモアだとわかってはいるが、ひょっとするとエースシステムには独自のペナルティシステムでもあるのかもしれない。名には、お引き取りいただきました。細川くんや岡沢さんはホッとした顔をしたが、私はもう少し先のことを考えて、それほど明るい気分にはなれなかった。そこまで余裕がなくなっているということは、今後、負荷が増えることはあっても、減ることはないだろうからだ。白川さんの次の言葉も、それを裏付けていた。「最後に、これまで土日祝日は基本的に出勤不可としてきましたが、こちらも今後は解禁とします。岡沢さんが表明したような不安を感じている人は、休日も使用してください。カードのタッチが必要となります。相変わらず有効なので気を付けてください。カードをタッチするのを忘れて入室し、帰りに出られなくなるというミスは、これまで何度も発生しているが、誰か近くにいる人に声をかければ出してもらえた。気を付けなければならないのは、深夜に一人で残っている場合だけだったが、今後、休日で人数が少なくなる場合は、昼間であっても出られなくなるケースが考えられるということだ。「開発も折り返し地点ですね。ありふれた表現で恐縮ですが、みなさん、馬車馬のように働いて、このプロジェクトを完成させましょう。いうか、プロジェクトを完成させるためには、馬車馬的作業が必要になるはずです。◇エースシステム社員が誰も口にしなかったこともあり、新美さんの一件が尾を引くことはなかった。プログラマたちが何か迷惑を被ったわけではないからだ。草場さんのことはしばらくの間、プログラマたちの中にわだかまりを残した。白川さんは、草場さんが潜入捜査をしていたように印象操作し、草場さんもそれを否定しなかったからだ。多くのプログラマは、必要がない限り草場さんと話をしようとしなくなった。草場さんは表面上、何の影響もないかのように仕事をしていたが、内心では様々な葛藤もあったはずだ。何とかしてあげたいとは思ったが、草場さんの信頼を取り戻すには、鳩貝さんについての真実を公表するしかない。鳩貝さんが秘かに携わっている業務の性質上、それは不可能だった。私はこれまで全く注目していなかった鳩貝さんを、秘かに観察するようになった。実に平凡な顔立ちで、イケメンと醜男のちょうど中間にいるようだ。見ると、それなりに整った輪郭なのだが、少しの間、目を離していると、途端にどんな顔だったのか思い出せなくなる。ここまで特徴がないと、それが逆に特徴になりそうなものだが、いかなる意味でも人目を惹く、ということがない人だった。アサインされたチケットをこなしているかのように一日中キーを叩いているが、実は一つのコンテナも実装していないことなど感じさせない。草場さんとはたまに小声で言葉を交わしているが、それすらもカモフラージュではないかと思わせる。私が正体を知ったことは、草場さんを通して伝わっているはずだし、私の視線に気付いていないはずがないが、ちらりとこちらを見ることさえしない。それが演技なのか、素なのかさえわからない。何日か迷った末、私は東海林さんにだけ、鳩貝さんの正体を伝えておいた。の」と、私と同じような反応を見せたものだ。「そういうことか」東海林さんは何度も頷いた。「わかってる」東海林さんの大きな手が、私の肩を軽く叩いた。「草場さんが優秀なプログラマであることには変わりがないからな。高校生の部活や大学のサークルならともかく、社会人なら最初に評価するのは仕事人として信頼できるかどうかだろ。「それに、白川さんが言った通り、そんなことを気にしていられないぐらい忙しくなるだろうしな。白川さんが明言した通り、私たちの作業量は急激に増大し、帰宅時間は大幅に遅くなっていた。階の宿泊設備は毎日フル稼働している。今枝さんのマネジメントによって生じた昼間のムダな空き時間を、夜に取り返す、という苛立ちが蓄積していく日々に比べれば、遙かに充実した毎日だった。私に限っていえば、プライベートも充実していた。ランチを草場さんと一緒に取ることが多くなり、深夜まで実装を続けるような日には夕食も同じだった。帰りも東海林さんや細川くんではなく、草場さんの車で送ってもらうことが増え、車中では仕事の疲れも忘れて、尽きることなく話を続けた。私はいろんな話をした。残念な結末に終わった結婚のこと、息子のこと、母親のこと、死別した父親のこと、最近観た映画のこと、好きな料理、嫌いな食べ物、好きなお店、二度と行きたくないお店、読んでいる本、途中で放り出した本。草場さんのこともいろいろ知ることができた。開発部門のトップであること、新しいものが好きなこと、サッカーが好きなこと、牛肉より豚肉が好きなこと、奥歯がずっと痛いが歯科に通う時間がないこと、ネコを飼いたいと思っているが仕事がら実現しないこと、出身が静岡県であること。私は草場さんの好きなことを好きになり、草場さんは私の好きなものを好きになってくれた。義務が伴わないセックスの楽しさと素晴らしさを思い出し、自分の身体の思ってもいなかった箇所にホクロがあることを知った。指を絡めるだけ、唇を触れ合わせるだけでも、脳内にドーパミンやセロトニンが沸き起こるのを感じた。私たちはプライベートで醸造した親密さを、職場には持ち込まないことにしていたが、本人たちがうまくやっているつもりでも、この手の秘密が周囲にバレるのは経験済みだ。私と草場さんの関係は、プログラマたちの間ではすでに周知の事実だったが、さらに一歩段階を進めたことも、間もなく知れ渡ってしまった。草場さんに対する疎外的な空気はまだ残っていたため、私はしばらくの間、女子だけのランチに参加することができなかったが、それは些細な代償だと思われた。月の時点で白川さんに生じていた些細な変化に気付いていたのかもしれない。設定にかかりきりになっていた。コンテナドライバとコンテナコーディネータによってメッセージを介在され、システムの一部として機能することになる。これは適当に組み合わせただけでは、まともに動作しない。まで熟知していないと、ログイン画面すら表示されないことになる。今のところ、それができるのは白川さんだけだった。白川さんはランチに出ることすら止めてしまい、一日分の飲食物をコマンドルームに持ち込んで、私たちの前にほとんど姿を見せなかった。朝は誰よりも早く出勤し、いつ帰っているのか、そもそも睡眠を取っているのかさえ、はっきりしなかった。チャットで質問すれば、ほとんど即座に答えが返ってくるので、仕事をしていることは間違いなかったが、私は少し心配だった。日に見せた憔悴ぶりは新美さんを油断させるためのフェイクだったとしても、それまで入院していた事実は変わらないのだ。月中旬のある日、久しぶりにコマンドルームから姿を現した白川さんは、東海林さんの席にやってきた。目の下にひどい隈ができているが、疲れている素振りは見せていない。「何か相談があるとのことですが」白川さんは東海林さんに訊いた。「いくつか修正を加えたいと思いまして」東海林さんは答えた。ライブラリを使う機会がこのところ増えてきている。と直接やり取りする必要があるからだ。ライブラリが、よく考えられて使いやすく作られている、という白川さんの言葉にウソはなかった。つの値を瞬時に取り出すのは得意だが、複数の値をソートして取り出す、という処理は苦手だ。存在するのだが、複合キーにしておく必要があり、なおかつその中の1つのキーしか指定できない、などの制約があり、使い勝手がいいとはいえない。採用を決定した人間は、そのあたりの検証を怠っていたようだ。上の人間が決定を行い成果を得るが、面倒な尻ぬぐいは全て部下や外注、というケースは、どの業界にかかわらずよくある話だ。エンジニアは、おそらくかなり苦悩したのだろうが、技術的なテクニックでこの問題を解決することを選択していた。ついては、あらかじめソートしたキーの一覧を作成しておく、というシンプルな方法である。行を追加したいとする。いう名のテーブルとして作成しておくわけだ。テーブルを更新しなければならないのは面倒だし、別のキーや複数キーでのソートが必要になった場合、新たにテーブルを作成する必要がある。考慮しなければならない。パッケージを通して行うことにしていた。処理を実行するだけで済む。全ソースを調査し、よく作られていることを認めていた。「会ってみたかったな、これを作った人に」東海林さんは珍しく手放しで誉めた。「相当、手間だっただろうに。これがなければ、面倒なトランザクション制御やソート用テーブルの更新処理で、数倍の工数が発生していたかもしれない。「ただ、一部の実装がまだ途中だったみたいだな」東海林さんはソースの一部を示した。「今後の改良点がコメントで入れてある。今だと、引数にソートキーを指定してやる必要があるんだが、テーブル情報から自動的に取得する機能の追加仕様とかな。開発の効率を上げるためにも、このあたりはメソッドを追加しておいた方がいいかもしれん。ライブラリの使用頻度が上がってきたため、思い出したのだろう。東海林さんの説明を、白川さんは頷きながら聞いていたが、話が終わると乾いた声であっさり告げた。ライブラリを修正する必要はありません。「えーと、あのですね」メリットをしっかり伝えられなかったのかと、東海林さんはもう一度、説明しようとした。「その話はわかっています。行政オンラインシステムは、今回のリニューアルプロジェクトの範囲ではないので、当面、現在のシステムが稼働し続けることになります。そのライブラリが使われています。「思います、では困ります」白川さんは顔をそむけた。「人間がやることです。どこかでミスをしたり、見落としたりすることは、いつだってあり得ます。保証がない限り、許可できません」そんなことを言ったら、そもそもソフトウェア開発などできないじゃないか。思ったものの、口に出すのは控えた。白川さんが聞きたいのは、そんな言葉でないことはわかっていたからだ。「以前にも言いましたが、もう一度言わせてもらいます」白川さんは切れ長の瞳を真っ直ぐ東海林さんに向けた。「この案件は、何が何でも成功させる必要があるんです。完成の式典を行う予定で、その日程まで固まりつつあります。そこに間に合わなかった、というような事態になったら、うちの責任になるんです」そのために高い金をくぬぎ市からもらってるのでは、とでも言いたい衝動に駆られたが、それ以上に私は白川さんの態度に困惑していた。こんな責任論を口にする人ではなかったような気がする。「言っておきますが」白川さんは唇に妖しい笑みを浮かべた。「私は責任を回避するつもりはありません。降格でも左遷でも、いさぎよく会社の指示に従うぐらいの覚悟はあります。なったときは、必ず参加している全てのベンダーを道連れにしますからね」これが他の誰かのセリフであれば一笑に付すところだが、私は笑えなかった。冗談を言っているような表情ではなかったからだ。この人なら、やりかねない。「わかりました」東海林さんは引き下がった。白川さんは頷くと、コマンドルームに戻っていった。私は東海林さんの顔を見たが、私が感じているのと同種の困惑が浮かんでいた。(続)この物語はフィクションです。実在する団体名、個人とは一切関係ありません。特定の技術や製品の優位性などを主張するものではありません。本文中に登場する技術や製品は実在しないことがあります。09:33「そこかしこでクスクス笑いが起こった。」東海林さんの人気に嫉妬。12:57来週は3月26日。第一回の後へ進むのか、その前にもうひとゴタつきがあるのか。12:58わかる...レベルと士気の高いチームだと、激務でもなんだか楽しいんだよなー。上の人の苦労は、やっぱり並大抵ではないのだなーとも。優秀な人ほど早く壊れてしまう、この業界に限ったことでもないけど、しみじみ。13:04>その前にもうひとゴタつきがあるのか。作中の年末にもトラブったらしいですからね。連載冒頭が4月でしたっけ。連載開始時点で作品はできているそうですから、計算どおりなんでしょうけど、やっぱり見事なものです。私は責任を回避するつもりはありません。降格でも左遷でも、いさぎよく会社の指示に従うぐらいの覚悟はあります。なったときは、必ず参加している全てのベンダーを道連れにしますからね溢れ出んばかりの「秩序にして中立」っぷり。13:32連載開始時点では思わなかったけど年度末になると気づいた。確かに年始ってそういうしょうもない官公庁行事多いね。上乗せをプラスすると連絡しました。>元々のベースアップ分とは別計算です。どの会社も、二つ返事で了承してくれました。白川さんの目には、ベンダーのスタッフがバナナか何かに見えてるんじゃあ......。15:49どこにホクロがあったのかなぁ(・∀・)ブラウンアイズがスマホを隠していた場所と合わせて妄想が捗ります。00:29alさん、ご指摘ありがとうございました。08:22連載冒頭は3月25日23:00ですよ。3月26日8:00がデッドライン。次回のアップ時間がデッドライン。11:36第一話を見直したら鳩貝さんもいた。深夜からの騒ぎに現実が追いついてつながるのか。13:01とても気になる機能があります。そのために鳩貝さんがいる。あの中では鳩貝さんしかできないことが。名前を記憶しておくコメント:リーベルGふつーのプログラマです。企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。