今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

VB6 と VB.NET

近くにいる人が外注したソフトウェア、VB.NETを指定(エンドユーザからの指定)してたのに外注が VB6 で作ってきたらしい。
隣の部屋で作業している彼ら。コンパイルできなくて困っているようなことを言っていたので、「動くようになるまで1ヶ月はかかるよ、たぶん。」と近くの人にはコメントしといた。
しばらくがんばってたようだけど、とうとう「持ち帰って作業したい」と泣きが入ったらしい。
結局、一山いくら(←どっかで見かけた表現だけど、とても気に入った(^^))のプログラマなんてそんなもんなんだろうな、と。

テスト

最近、プログラムをいろいろと触っているけど、単体テストをなかなか書けない。
コードを読んでバグを発見しても、そのバグがGUIに関するところとか、マルチスレッドに関するところとかで、もともと非常に再現しにくいものだからテストを作りにくいから。
最近は WinRunner を導入してくれたおかげで、そういうバグでも、比較的容易に動作確認できるのが嬉しい。例えば、確率的に1万回に1回発生するような現象だとしても、1秒に1回の試験を実施できるとすれば、WinRunnerを起動して週末に動かし続けていれば、月曜の朝までには20万回以上のテストができ、少なくとも10回以上は再現する。コードを修正して同じテストを翌週末に実施し、月曜の朝になっても一度も発生していなければ、(完璧ではないとしても)かなり改善できていると判断できる。
文句を言わずに何度でも同じテストを繰り返しやってくれるって、非常に助かる。

一山いくらのプログラマの罠

一山いくらのプログラマを雇うと、仕事を始めるまでに膨大な教育コストがかかる罠。さらに、かけた教育コストも無駄になる罠。優秀な人は知識が豊富で教育コストはほとんどかからない。教育コストをかければコスト以上のメリットを受けられる。
一山いくらのプログラマを雇うと、発注側で膨大なコストをかけて詳細な文書を作成し、こと細かに指示しないと動いてくれないし、しかも目的を達成してくれない罠。優秀な人なら要点へのポインタだけ示せばドキュメントを読み、コードを読み、自分で情報を集めて目的を達成してくれる。
一山いくらのプログラマを雇うと、もし指示ミスがあると指示ミスを盾に居直られてしまう上、改善するには納得のいかない追加料金を取られる罠。優秀な人なら指示ミスを指摘できない自分にも責任があると認識して謝ってくれるし、追加のコストは仕方ないと思える。
一山いくらのプログラマを雇うと、スパゲティコードの山を築き上げられ、将来的に膨大なコストを負担しなければいけない上に、怒りとストレスと残業で体調まで崩す罠。優秀な人のコードは保守しやすく、しかもコードを読めば自分まで勉強になるおまけ付き。
一山いくらのプログラマを雇うと、中にはたまにやる気がある人がいる。でも、周囲の一山いくらの先輩方の妨害で成長が阻害される上、社内のメンバーにも悪影響を与える。優秀な人はお互いに研鑽しあい、社内のメンバーにも前向きな気持ちを与えてくれる。
言うまでもないけど、すべてのプログラマは「一山いくら」からスタートする。そこから抜けるのかどうかはその人次第。
とっても重要な追記
一般的には300万円/月×2人より60万円/月×10人の方が5倍の成果が上がると思われている罠。
かなり個人的な追記
100円の発泡酒が何本あろうと手をつけないが、300円の黒ギネス1本があればそれなりに満足できる現実。