戦う_ソフトウェア_エンジニア

【小説】戦う!ソフトウェア・エンジニア

『盤下の敵』(1)

●開戦前夜

朝礼が始まった。

始業前にも関わらず、社員は課長の「訓示」を「ありがたく拝聴」することが「強制」されていたのである。

同僚のTは私の斜め前で無表情に休めの姿勢をとっていた。

後ろには昨夜飲みすぎたのか、K先輩とM先輩がダルそうにしながら、私の後ろに隠れるように少し小さく前かがみになり、ややもすると私にため息がかかるくらいの距離で立っている。

ソフトウェア開発現場…、そう、そこはもう「戦場」。

私は入社してまだ1年ちょっと、やっと職場の空気にも慣れたが、配属直後の数ヶ月で既にこの部署のただならぬ雰囲気を感じ取っていた。

配属1週間で実際の製品開発を命じられた。

そして、その製品が出荷されたのは半年後。
まだひよっこ同然の私が作ったプログラムが搭載されていたのだ。

さして大きくない会社の、さして大きくない事業部の、さして大きくない部署。

部署の人数は全部で30名ほど。課が3つあり、それぞれ10名程度。

会社全体から見ても、ソフトウェア開発部署だけあって年齢構成は若い。

「ソフトウェアエンジニア35歳定年説」なんてものが、かなり本気で信じらていたせいもあって、35歳以上でプログラムなんて書いている人は一人もいない。

35歳以上の社員は管理側にまわり、我々若い社員だけが設計・製作・試験を担当する。

今朝の訓示も相当に長いものだった。

課長:「皆もよく分かっていると思うが、我々の立場は今、非常によくない!」

ほぼ一週間以上に渡って、この出だしから始まる。

先日客先に納入した機械が度重なるトラブルを起こして、客先は怒髪天にきている。

まだ問題解決していない。それどころか原因すらわかっていないのだ。

課長の苛立ちはすでに最高潮。
いつ、高血圧で脳血管が切れてもおかしくない。

それは、数週間前の一本の電話から始まった。

客先:「在庫数が間違って指示され、次工程が欠品のため異常停止する」

最初は単純なマスタデータのレシピ設定ミスだと疑った。

客先からマスタデータを取り寄せることにした。

マスタを管理していた第1課が最初に分析を開始する。

データベースを丸ごと取得して転送してもらうにはデータ量が多すぎたので、現地のエンジニアが現場入りしてデータを圧縮してハンドキャリーで運んできた。

音響カップラで300ボーでデータ転送していた時代である。現在のように「メールに添付して、ホイ」でデータは送れない。

連日のように客先に出向いては現地調査を進める。

が、いくら調整しても問題は解決するどころか、もっと酷い状態になっていった。

当初見込んでいた利益は一瞬にして吹っ飛んだが、それでも信頼を回復しないと後がない。

取引先は弊社の機械を定期的に購入してくださる大口。
もし、取引を停止されたら大変なことになる。

データベースのデータを全部紙に打ち出して、部署全員でマスタデータと付け合わせる。

だが、やはり決定的な証拠はなかった。

マスタデータと現場データベースに相違がないということは、指示データ作成過程でミスがあったのかもしれない。

そこで、第3課の我々にお鉢が回ってきたのだ。

在庫管理と製造指図機能は同僚のTが作っていた。

私は工程指図と通信処理が担当だった。

K先輩とM先輩は製作にはタッチしていない。(だから朝礼でも身が入っていないのがわかる)

マスタデータと現場データベースに差異がないので、在庫管理がピッキング(取り出し)数量を間違えたのかもしれない。
Tはここ数日ずっとコードを追い、試験をし、検証を重ねている。

私は私で、製造指図から工程指図を作る処理をずっと追いかけていた。

ソースコードを紙に打ち出して色鉛筆で印をつけながら目で追う作業は刑事が現場に残された遺留物を一つ一つ丹念にチェックする様に似ている。

酷い時にはA4用紙では足りず、A2くらいの用紙に打ち出して、それを床に並べて這いつくばってチェックした。

色鉛筆で色付けされたソースコードは戦国絵巻のようになっていった。

T:「おい、そっちはどうだ?」
私:「全然、ダメ。ここ(指図)じゃないのかな?」
T:「もう、悪魔の証明みたいだ」

こんな会話を深夜0時すぎにしている我々って、どうなん?と思いながらもずっと追い続ける。

悪魔の証明…。

「悪魔が存在することを証明するには、悪魔を一匹(?)見つければ済む。しかし、悪魔が”存在しない”ことを証明するのは困難だ」

という、一つのパラドックスみたいなものだ。

プログラムにバグがないことを証明することはとても難しい。

逆にバグがあることを証明するには、1つでもバグを見つければ済む。

「無いこと」を証明することは難しいので、推定とか検定ってものが良く使われるのだと思う。

現在のように開発環境が優秀でないので、紙と鉛筆で作業していると言っても過言ではなかった。

こんな生活を長く続けていると、上司が帰宅途中に発作で倒れたり、社員が突然失踪したり、自殺未遂をする後輩が出てくるのもわかる気がする。

いや、理解できたわけじゃない。それはとっても異常なことだけど、夢じゃないってことだけが理解できた。

T:「しょうがない。もう一回、問題を起こした設備を図にしてみよう。追いかけている部分が間違っている気がする」
私:「確かにな。今のところで処理がミスっているとすると、他の現場でも絶対に発生するもんな」

私たちは終電が既にないことを悟って、不夜城と化した執務室兼開発室で機械の接続図を書き出すことにした。

(つづく)





ソフトウェア・エンジニアを40年以上やってます。 「Botを作りたいけど敷居が高い」と思われている方にも「わかる」「できる」を感じてもらえるように頑張ります。 よろしくお願い致します。