ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。

鼠と竜のゲーム(12) コードを見れば分かること

»

 野崎が「LIBPACK Room No.2」のドアを開けると、室内で続いていたらしいなごやかな会話が、瞬時にピタリと途絶えた。開発ルームにいた7、8人のエンジニアが、一斉にドアの方を怯えたような視線を向けたが、野崎の顔だと認識した途端に、全員が安堵の表情を作った。

 奥のリーダー席を見やると、城之内の姿はどこにもない。以前に訪れたときは、この室内には息苦しくなるような緊張感が満ちていたというのに、今、エンジニアたちが和気あいあいと談笑していたのは、主任の不在が理由なのだろう。城之内が部下をどのように扱っているのか、逆に城之内が部下からどのように見られているのかが、この雰囲気だけで分かろうというものだった。

 野崎は、咎めるつもりはない、という意味で軽くうなずくと、そのままリーダー席に歩いて行き、サブリーダーの西尾ミドリという女性に話しかけた。

 「城之内主任は?」

 「席を外しています」固い声が返ってきた。

 「打ち合わせか?」

 野崎はそう言いながらホワイトボードを見た。城之内の名前の横は空白だった。

 「さあ。聞いていません」野崎から顔をそむけたミドリが、軽蔑するような視線を主のいないリーダー席に投げた。「どこかで何かやってるんでしょう。私たちごときに、いちいち説明されるような人ではありませんから」

 野崎は時計を見た。15時を7分ほど経過している。ランチタイムとは思えない。

 「戻りは?」

 「存じません」素っ気なく冷たい返事だった。

 「西尾くん」野崎は穏やかにミドリの顔を見て、少し声を落とした。「そう、カリカリするなよ。君を責めてるわけじゃない」

 ミドリはうろたえたように赤面した。以前、短い間だったが、ミドリが野崎の下で官公庁相手の開発業務に従事したことがある。そのときは明るく笑う、元気の絶えないムードメーカー、という印象だった。今よりも、頬もふっくらとしていて、愛嬌のある瞳が眩しいぐらいに輝いていたものだ。

 今のミドリは、顔色が悪く、全体的に不健康に痩せている。笑顔の浮かべ方すら忘れてしまったようだ。

 「……すみません」

 「いや、いいよ」野崎は声のトーンを落とした。「あいつと仕事するのは神経使うだろうからな」

 ミドリは神経質な笑い声を上げた。

 「ここで待たせてもらうから、仕事に戻りなさい」

 野崎はそう言うと、城之内の席に腰を下ろした。身体を半分回して、窓の外を眺める。どんよりと曇った空からは、今にも雨粒が落ちてきそうだった。

 窓ガラスに、モニタに向き直ったミドリの横顔が映っている。その鋭角的な顎の線を見ながら、野崎は城之内のことを考えた。

 新卒採用が基本の五堂テクノロジーサービスにあって、城之内は数少ない中途採用社員だった。通常、中途採用されるには、よほどの技術力を持っているか、他社で相当の実績を残すなど、何らかの特徴がなければならないのだが、城之内は設計、実装、どちらのスキルも平均以下でしかない。確か今年で31歳になるはずだが、彼がこれまで携わってきたプロジェクトのメンバーによれば、せいぜい2年目の新人レベルのスキルしかないというのが正当な評価だ。

 そんな城之内がスキルチェック試験を免除されて中途採用され、2年足らずで一足飛びに主任となり、五堂テクノのドル箱パッケージの1つである<LIBPACK>シリーズの、保守チームの開発リーダーというポジションに就いている理由は技術力とは別のところにあった。城之内の父親が、五堂テクノのメインバンク、五堂トラスト銀行の取締役である、というのがその理由だった。

 縁故による採用は、これまでも例がなかったわけではないが、大抵の場合、○○監査役というような、給料はいいが実権のない職位に就くのが通例だった。ところが、城之内の場合、前職が五堂トラスト銀行システム部門のエンジニアで、「知識と経験を生かした仕事をしたい」という本人の強い希望で、実戦部隊に配属されることになった。

 当初は橋梁計算ソフトの開発チームに配属されたが、3次元構造解析の知識ゼロでついていけるはずもなく、チームメンバーから露骨にお荷物扱いされたことで一騒動起こし、わずか2週間で異動することになった。続いて、官公庁向けの施設管理システムの開発プロジェクトチームに配属されたが、自分よりも年下の区役所職員にタメ口を叩いて、プロジェクトそのものを頓挫させかけ、3週間で異動。受け入れ先が見つかるまでのつなぎで、社内のインフラ・ファシリティ課に席を移したものの、知識不足と怠慢から来る操作ミスによって、社内共有バックアップの3割を消失させ、しかも他人に罪をなすりつけようとしたため、怒り狂った課長と殴り合いの寸前まで行き、1週間で放逐された。

 その後も同様の事態で、いろんな部署を出入りしたあげく、城之内の身柄は、無数のクエスチョンマーク付きで、ソリューションデベロップメントDivisionに回されてきた。

 最初にこの使えない男の噂を耳にしたとき、野崎は話半分に聞いていただけだった。人間には適性というものがあり、たまたま最初に配属された部署の業務内容が、城之内には合っていなかっただけだろうと、好意的に解釈したのだ。しかし、同じような事態が繰り返されると、性善説をモットーとする野崎の好意はみるみるうちに水位を下げていき、最後には底を突いた。だから、自分が統括する部門に、社内の厄介者を引き受けざるを得なくなったとき、思わず頭を抱え込んだものだ。

 それでも野崎は、何とか城之内の能力――そんなものがあればだが――を生かす業務を見つけてやろうとする努力を怠らなかった。たまたま、プロジェクトを1つ完了して、手が空いていた主任の1人に命じて、彼の適性を見いだそうとしたのだ。

 「すまんが、何とかしてやってくれ」

 「はあ」命じられた山下主任は、もちろん城之内の噂は耳にしていたから、ウンザリした顔をしたものの、野崎の方針には理解を示した。「仕方ないですね。何とかやってみます」

 「明日から私は関西へ出張で、戻りは火曜日になる。火曜日に報告してくれるかな」

 「分かりました。まずは面談して……それから誰かのヘルプという形か……とにかくコードを書かせてみますね」

 「やり方は任せる。とにかく頼む」

 翌週の火曜日の朝、出張から帰ってきた野崎は、旅費精算を後回しにして、山下主任をミーティングルームに呼ぶと、開口一番に聞いた。

 「どうだ?」

 「ラップした方がいいですか?」山下主任は仏頂面で尋ねた。「それともストレートな方がいいですか?」

 「……ストレートに頼む」

 「奴は無能です」山下主任は断言した。

 「厳しいな」野崎は苦笑した。「ラップすると?」

 「彼は使えません」山下主任は、表現が違うだけで同じ意味の言葉を返した。

 「根拠は?」

 「まず面接で前の会社でやってきた仕事内容を聞きました。主に不良債権の担保評価査定を算出するソフトの作成をやっていたようです。これは、職務経歴書にも書いてあったことですけどね」

 「うん、それは読んだ。どんなロールだったんだ?」

 「本人はプロマネだったようなことを言ってますが、実際はどうですかね。まあいろいろ口当たりのいいことを言ってましたが、どうも口ばかりで手を動かさないやつだったみたいです」

 「そうか」野崎は心の中で、マネジメント業務をリストから消した。「銀行業務の業務知識はどうだ?」

 「いくつか質問してみましたが、大してなさそうですね。勘定系や証券系など、金融システム特有の業務知識も、上っ面程度でしかないですし」

 業務知識を生かした製品開発も無理か。予想はしていたものの、野崎は肩を落とさざるをえなかった。

 「驚いたことに複式簿記の知識すらないんですよ」山下主任はあきれ顔で続けた。「仮にも銀行のシステム部だった人間がです。for文の使い方を知らないプログラマみたいなもんです」

 「……実際にコーディングさせてみたのか?」

 そう聞いたのは、業務知識はなくても、ひょっとしたらプログラミングスキルだけは高い職人プログラマなのかもしれない、という希望的観測からだったが、山下主任は厳しい顔でその願いを打ち砕いた。

 「させました。複雑な機能や画面は無理だと思ったので、<LIBPACK-III>の属性メンテナンス画面を見せて、同じものを作らせてみたんです。JSPはそのまま使わせましたが」

 野崎はうなずいた。<LIBPACK-III>は、すでに開発が終了したバージョンなので、誰に迷惑がかかるわけでもない。

 「それで?」

 「Javaのコーディングは、まあ普通にできるようです。少なくともfor文ぐらいは使えます」別にジョークを言ったつもりではなかったらしく、山下主任はにこりともしなかった。「ただ、文法がどうのというより、データベースの仕組み、いやDBを使ったアプリケーション構築のノウハウがないようなんですよ。これ、見てください」

 山下主任は手にしていたDivision内共用のタブレットPCをタッチすると、野崎の前に置いた。Eclipseが起動していて、1つのソースが開いている。野崎はクラス定義に目を走らせた。

1

 「これがやらせたソースか?」

 「そうです」

 野崎は最初の数行を追った。特におかしな部分はない。もっともクラスの初期化はテンプレートで決まっているので当然ではある。個人的に野崎は、takoyaki のような意味のない変数名を嫌悪しているが、取りあえずそれは脇においておくことにした。

 「少し進んで削除確認メソッド見てもらえますか?」

 言われるままに、野崎は液晶をスワイプして、問題のメソッドを探した。

 「あ、そこです」

 山下主任の声で、野崎はスクロールを止めた。

2

 「なんだこれは?」野崎は首を傾げた。「何もしてないな」

 「ある属性が、何かの図書の属性として登録されている場合、その属性を消すわけにはいきませんよね」

 「そうだな」野崎自身は実装から離れて久しいが、<LIBPACK>シリーズは、βバージョンから開発に携わっているので、テーブル構造は頭に入っている。「その図書データを参照したとき、属性値が引っ張ってこられなくなるな」

 「ええ、ところが、あいつはそのチェックを無視しちゃってるんですよ」

 「うーん」野崎は思わず唸った。「そりゃまずいな。そう言ってやったか?」

 「もちろん」

 「そしたら何て?」

 「それぐらい大した問題じゃないでしょ、ですって」

 「……」

 「それから次の削除メソッドですが」

 「まだあるのか」

 「ええ、見てもらえれば分かります」

 「?」

 野崎はふざけたコメントを疎ましく思いながら、メソッドのソースを目で追った。こういうアホなコメントを書く奴は、よほどの自信家か、よほどの間抜けかどちらかだと思っているが、城之内がどちらにカテゴライズされる人間なのかは、すぐにわかった。

3

 「……トランザクション制御がないな」

 「そうです。ご存じの通り、このバージョンまではトランザクション制御を実装する必要がありました。まあ、まさにこういう凡ミスを除外するために、私たちはその方法を捨てて、フレームワークで制御する方法に切り替えたわけなんですが」

 野崎はうなずいた。山下主任があえて古いバージョンを城之内に使わせたのは、基礎的な実装能力を見極めるためだろう。

 「で、それについて、彼は何て?」

 「トランザクション? 何それおいしいの? という意味のことを言ってましたね」

 普段から部下に対しては面倒見がいい山下主任なのだが、このときの口調は冬の朝の吐息ぐらいほどの暖かみもなかった。おそらく実際に城之内が口にしたのは、より人を苛立たせる言葉だったのだろう。

 「そうか……」

 「他にもいろいろありますが、まあ、簡単に言うと、彼はアプリケーションを構築する能力を持っていませんね」山下主任は総括した。「持っているのは、せいぜいサンデープログラマレベルのプログラミングスキルと、人を見下す態度と、まったく根拠のない自信だけです」

 夜の帳のような重苦しい沈黙が下りた。

 「とはいえ、あいつは解雇できない」しばらくして、野崎は重い口を開いた。「これ以上、異動を繰り返すのも無理だ。となると、何とかうちで居場所を作ってやるしかないな」

 「言っておきますが、私のチームは勘弁してくださいね」山下主任が先手を打った。「あいつを受け入れるぐらいなら、異動願いを出します。絶対、何かやらかしますよ、あいつは」

 「……分かった。ありがとう」

 その後、野崎は、何人かのチームリーダーに対して、城之内の件を打診してみたが、そのすべてに拒絶されてしまった。プログラミングスキルもヒューマンスキルも低いのに、どちらも向上の努力をしようともしないのでは、受け入れ先がないのも至極当然のことだった。

 結局、解決方法は1つしかなかった。城之内自身を主任として、<LIBPACK>シリーズの保守チームのリーダーを任せたのだった。ただし、経験があって野崎が信頼しているエンジニアを、サブリーダーとして付けるようにした。西尾ミドリもその1人だ。あとは城之内が嫌気がさして、自分から辞める気になるのを待つことしかできなかった。

 残念なことに、山下主任の「絶対、何かやらかしますよ」という言葉は、大して月日が経過しないうちに現実となった。それが五堂テクノ社内で語り継がれることになった「BP事件」だった。

(続く)

 この物語は事実を基にしたフィクションです。実在する団体、個人とは一切関係ありません。また司法当局の捜査方法などが、現実のそれと異なっている可能性があります。

Comment(26)

コメント

どら猫ホームズ

既に死んでいるのでは?

ななこ

「城之内の方針には理解を示した。」とありますが、
「野崎の方針には理解を示した。」の間違いでは?

senasena

「こういうアホなコメントを書く奴は、よほどの自信家か、よほどの間抜けかどちらかだと思っているが、城之内がどちらにカテゴライズされる人間なのかは、すぐにわかった。」

こいつはその両方でしょう。

ななこさん、ご指摘ありがとうございました。
修正しました。

不治ソフト

サンデープログラマ程度の実力があったのは意外だったな。

通りすがり

いつも楽しみにしています。
細かいですが、「適正」ではなく「適性」ではないでしょうか。

適正
【意】適当で正しいこと
例:適正規模、適正な値

適性
【意】その人・事柄に適していること
例:適性検査、教師としての適性に欠ける

通りすがりさん、ご指摘ありがとうございました。
修正しました。

個人投資家

人物設定が矛盾してないかな?
城之内は初登場時は「企画」をやりたいと言っていたのに、今回は「「知識と経験を生かした仕事をしたい」という本人の強い希望で」というのは明らかに齟齬があります。
(城之内は営業とか企画化では意外と使えそう)

今回の事件は、岡崎図書館のlibrahack事件がモデルですけど、あれは、
プログラム提供元のMDIS製社が、自社製品の不具合を過去に発見していたにもかかわらず新規契約か大規模増強の案件があった場合にのみしかそれが導入されなかったという組織決定の問題なので、今作のように1個人のスキルに帰着することは問題の本質からずれていくのでは?


池井戸さんの「七つの会議」みたいに、重層的に書けないかな。

「冷たい方程式」も視点が一方的すぎて、イヤだったなあ。

「冷たい方程式」はホライゾンの八木社長や、磯貝課長、淵上マネージャーそれぞれの立場から見た話を書けば、もっと面白くなったと思う。
わたしは八木社長や淵上マネージャーの心理が手に取るように判るんだけど、作者は彼らの気持ちが分かるまでの経験や年齢を持ってないのかなあ?

名無し

誤:わたしは八木社長や淵上マネージャーの心理が手に取るように判るんだけど
正:わたしは八木社長や淵上マネージャーの心理が手に取るように判るつもりになっているけど、実は何も分かってない。

>あれは、プログラム提供元のMDIS製社が、自社製品の不具合を過去に発見していたにもかかわらず新規契約か大規模増強の案件があった場合にのみしかそれが導入されなかったという組織決定の問題なので

うんにゃ。
事件が表沙汰になった後も、メンツを守るために事実をひた隠しにして、無実の人間に責任をなすり付けていたというのが問題の深刻な部分。

でじゃ

まあ八木社長も渕上マネージャも、下の者に気持ちを理解してほしいとは思わなったんだろうな。

自分のケツを拭けないものの叫びは、いつだって見苦しい。

AAA

そもそも語り手の視点を固定するか複数にするかは単に手法の問題であって、
後者の方が高級というわけでもないしそれで面白くなるわけでもない。

だいたい、大した経験も能力もないのに作者を小馬鹿にして、自分は
分かってる人間である気でいるらしいのがイタい。

通りすがり

> わたしは八木社長や淵上マネージャーの心理が手に取るように判るんだけど、作者は彼らの気持ちが分かるまでの経験や年齢を持ってないのかなあ?

わたしはこんな事を書いた場合の作者や読者の心理が手にとるように判るんだけど、個人投資家さんは彼らの気持ちが分かるまでの経験や年齢や思慮深さを持ってないのかなあ?

マルマロ

なんでいちいち喧嘩腰…
エンジニアライフ小学校ですかここは

でじゃ

ま、他人の気持ちを謳うならせめて周りの人間に見本を示せってことだな。
できれば口ではっきり言って頂いた方が面倒も減るわけで。

そうでなければFさんのように疑念を抱かれてしまうよ。
自分サイドの肩を持ちたいけど直接反論できないから、作風にケチをつけに来ているのではないかとね。

冷たい方程式ではちゃんと自分の意見を言えていた人が多かったのに、
最近はわけのわからん被害妄想書き込みが増えているなあと感じるよ。

個人投資家

>事件が表沙汰になった後も、メンツを守るために事実をひた隠しにして、無実の人間に責任をなすり付けていたというのが問題の深刻な部分。

事件が起きる前に、MDIS製社が、自社製品の不良をユーザに周知していないのが問題ですよ。
 彼らは改善したバージョンを新規導入のユーザには渡していたんだから。
 そうした企業の行動は、現場の末端のSEとかで行えるものじゃなくて、メンージャー層や経営層が組織決定として行うことです。

k

> わたしは八木社長や淵上マネージャーの心理が手に取るように判るんだけど、作者は彼らの気持ちが分かるまでの経験や年齢を持ってないのかなあ?
私はわかってなきゃ書けないと思いますけどね。
わかってない人が書いた話だったら八木や渕上はもっと荒唐無稽な設定になってると思いますよ。
一読者である貴方が、書かれた人物像や設定を見て「手に取るように判」ったつもりになれるってことは、書き手がそれだけ「わかってる」ということに他ならないでしょう。

個人投資家

>後者の方が高級というわけでもないしそれで面白くなるわけでもない。

複数の視点を使い分ける方が、小説の技巧としては上だし(それぞれのキャラクターの考え方が違うから、同じ場面の描写でも注目するところが違うので、書き分けはかなりスキルがいる)、同じ出来事を別々の視点から眺めることで全く違う像が見えてくるので、普通は面白くなります。
 
池井戸さんの「シャイロックの子供達」は、ある銀行の支店で日次の精算で100万円が消失していたという一つの事件を、窓口係や、融資係、営業課長、支店長、副支店長など、それぞれの立場の人から描いた短編集で、短編毎に主人公と視点がが変わる。
 視点が変わることによって単純なミスだと思われた事件が、実は意外な側面を見せ始める(部下のミスを庇う熱血上司が実はとか)というパズルストーリーになっています。

 だから、「冷たい方程式」はもっと話を膨らませて面白くできる素材なのに、もったいないと思っています。

個人投資家

>一読者である貴方が、書かれた人物像や設定を見て「手に取るように判」ったつもりになれるってことは、書き手がそれだけ「わかってる」ということに他ならないでしょう。
 
 他なります。。
人物像や設定から判るのではなくて、社長やPMがどういう考え方をしているのかをあらかじめ世間知として知っていて、それに当てはまる描写が断片的にあるという状態です。
 点と点を結ぶとプロジェクトの状況が判って、それなのに主人公(おそらく作者の分身なので)が全く自己の置かれた状況を理解しておらず、平のプログラマとしての振る舞いや指向から抜け出せていない、最終回に至ってもまだ成長してない描かれ方をしていないので、作者の認識の限界がそこらへん止まりなのではないかと思うわけです。

uFitna

そりゃ単に上の立場から書かれてないってだけでクレーマー以外の何もんでもないですな。
下からそう思われうると思って認識を改めるか、
自分で他の視点とやらを具体的にして主張するなり、面白い物語を書いてくださいな。

みすと

冷たい方程式は、最終話ちょっと前の章題「ぼくたちの失敗」を見るに
「全員が自分の立場、視点でしか物事を見ていない故にgdgdになってしまった・・・」
という話で、"読者自身も途中まで一方の視点で考えてしまってませんでしたか?"
という問い掛けをしたつもりの作りだったと私は解釈してるなあ。

けど筆者の想像を超えて最後の最後まで(ってか未だに)主人公やふっちー一方の立場しか見えてない人が大勢居て
コメント欄が荒れ過ぎてしまったので(笑)、今回はアングルを単純化するために
城の内というわかりやすすぎるキャラクターを設置したんじゃないかな。

けどそうなると今度はリアリティが無いとか言われて・・・難しいもんだね(笑)

数字

読者様は自分で書けば良いんじゃないですかねえ……。

オレンジ

個人投資家さんの言う複数視点手法の良さは分かりますが、どっちが上とかはないんじゃないかと思います。
単一視点でも制限の大きさゆえの難しさはありますし、どちらの手法でも面白さは詰まる所、作者の腕次第かなと。

冷たい方程式の主人公の成長については、リアルさを追及したんじゃないかと思ってます。
つまり困難なプロジェクトを経験したからと言って必ずしも目に見える成長をするとは限らないってことです。(何らかの成長はしてると思いますが)


つーか、この作品がまさに複数視点で書かれてますね。
これまでに倉敷タカシ、イノウー、野崎の三人の視点があります。
今はバラバラですが、今後これが交わることがあれば個人投資家さんの望むものになるんじゃないかな。
個人的にもそんな展開を期待してます。

Jairo

個人投資家さん。

> 主人公(おそらく作者の分身なので)が全く自己の置かれた状況を理解しておらず、平のプログラマとしての振る舞いや指向から抜け出せていない、最終回に至ってもまだ成長してない

という主人公の人物像設定をしていただけであって、

> 作者の認識の限界がそこらへん止まりなのではないかと思うわけです。

とは全く思いませんでしたが。

それと、主人公は作者の分身じゃ無いと思います。

J

わかってる人はわかってないふりができますよね。
だからわかってないで書いてるかわかって書いてるかなんて、ほんとのところは読んでわかるもんじゃないと思うんです。
でもわかっちゃうすごい人もいるのかな。

ななし

>今回の事件は、岡崎図書館のlibrahack事件がモデルですけど、あれは、
プログラム提供元のMDIS製社が、自社製品の不具合を過去に発見していたにもかかわらず新規契約か大規模増強の案件があった場合にのみしかそれが導入されなかったという組織決定の問題なので、今作のように1個人のスキルに帰着することは問題の本質からずれていくのでは?


意味が分からない。
例え実際に起きた事件にヒントを得て閃いたアイデアだとしてもフィクションに対して本質どーの言う神経からして理解不能。

最近コメント欄に現実と非現実の区別が出来ていない人が多過ぎるなー。

むなしい

ニコ動に巣食う名人様がこんなところにも現れてますね
この状況に動じることなく毎週連載を続ける作者には頭が下がります

コメントを投稿する