#システム屋限定怪談2017が流行っているようで・・・多少解説など付けてみようと思う。
偉い人「Excelが信用できないから、電卓と併用している。」
私「…え?」
偉い人「計算するシステムを作れ!」
私「Excelより信頼性の高いものを…?」#システム屋限定怪談2017— ゆったんたん (@max_yuttan) 2017年6月10日
Excelの計算にへんな癖があるのは本当。わかりやすい例は「10/3*3」が3になったりする。そういうシステムを実装する場合BCD演算を用いて、さらに入力した値の有効桁数も別途管理する必要がある。だがExcelは、2進数固有の演算誤差も発生するのでBCD演算を使っているわけでも無く、10/3は普通に無限小数になるので有効桁数を常に意識する訳でもない、不思議な実装になっている。実際にどのように計算しているのかと言った仕様も公開されていない。
また過去に演算結果が誤っていると言ったバグ(Excelにバグがあった例や、CPUにバグがあった例)もあるので、別の手段で計算結果を検証するのは、必ずしも無駄ではない。
長年使われたExcelで作られたシステム構成図、大した内容書かれてないのに開くだけで時間がかかるし編集するのいちいちもたつく。おかしいな、おかしいな、と思いつつ図形の全選択をすると、画面の中央に高さ0、横幅0の何百もの図形オブジェクトが… #システム屋限定怪談2017
— こっこ (@xkokkox) 2017年6月9日
コレはよく見かけた。何故過去形なのかというと、現行バージョンのExcelではサイズ0の図形オブジェクトを作れないからだ。ワークシートに図形オブジェクトを配置した後、行や列を選択して削除をすると、図形オブジェクトはサイズ0に縮小されたまま残ると言う、非常にたちの悪い仕様が原因。一見すると何もないように見えるので作成者も気がつかずに、サイズ0になった図形オブジェクトをセルと一緒にコピーペーストを繰り返し、大量の図形オブジェクトを内包した巨大ファイルのできあがりとなる。
銀行系システムの試験中
上司「テスト結果見たけど足りないんだよね」
新人「すみません、項目不足でしょうか?」
上司「いや、発生したバグの数」
新人「???」
上司「○○個はないとまずいからさ、なんか適当に水増ししといて」
新人「?????????」#システム屋限定怪談2017— yuki (@yuki2968) 2017年6月11日
製造したプログラムコードには一定の割合で不具合が含まれ、プログラムの規模に比例して不具合も増える前提から、テスト工程で見つける不具合の数に基準値を設けている。これ自体は悪いことではないのだけどソフトウェア開発が属人的な作業であり誰が作ったかによって不具合の発生率が全く異なってくるとか、使用するミドルウェアや開発言語によって変動すると言う視点がないため、滑稽なことになる。
不具合の報告件数を水増しするという捏造を始めてしまうと、その後も不具合を水増ししたデータを元に基準値を見直すことになり、不具合捏造を繰り返す意外になくなる。
同僚「あの会社はすごい。提携することにした」
さぎ「へー、何が決めてだったの?」
同僚「正規表現…って聞いたこと有る?すごいシステムなんだけど、それを使える人がいるらしい」#システム屋限定怪談2017— さぎにゃんのかんづめ (@arukakan) 2017年6月8日
正規表現は文字列の検索置換などを行う場合に複雑な条件を指定するために使う。これを使えるのと、使えないのでは、普通に100倍くらい生産性が変わってくる。と言っても、今時は正規表現を多少は使えるのが当たり前なので、全く使えないエンジニアは普通の1/100程度の能力って事。
その一方で完璧に使いこなせるエンジニアは希少でもある。正規表現を新規に書くのは決して難しくはない。逆に「/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$」のような記号羅列(ちなみにメールアドレスを表すらしい)を見て、既存の正規表現が何を異図しているのか、仕様通り正しく機能するのかを判断するのはかなり難しい。容易に読み解く能力を持っているなら、かなりとんがった技量を持つエンジニアと言える。
エージェント「ご紹介したい案件がございます」
わし「ほう、どんな案件ですか?」
エージェント「某メガバンクのシステム更改です。数千億円の予算と数百名の人員が関わる壮大なプロジェクトで、多国籍チームのうち一つを運営して頂きます(キリッ」#システム屋限定怪談2017— 純情のシャニ☆ガチ恋風 (@s_h_a_n_i_2) 2017年6月11日
みずほ銀行のこと。2002年の銀行合併をうけて、情報システムの統合に向けたプロジェクトがスタートした。2011年には大規模なシステム障害を起こし、金融庁から業務改善命令を受けており、システム統合が緊急の課題となっている。・・・が、度々の延期と予算増額を繰り返しておりまったく終わりが見えてこない。一応は2018年夏に稼働予定。今ではデスマーチ(死の行進)の代名詞となっており、誰もが避けて通ろうとするブラック案件と化している。