Copyright (C) Ada72 All Rights Reserved.

第40話 虫取り 1999/08/23

夏休みらしく(笑)。

クワガタムシって、 高いらしいですな。
なんでもオオクワガタムシが 1000 万で売れたそうで。

虫が高いのはこの業界でも同じだ。

いったんバグが埋め込まれてしまったら、 それを取り除くのに、結構なコストがかかる。
世の中は都合悪く出来ているもので、 バグを埋め込んでくれるのは大概出来の悪いプログラマなのだが、 そういうヤツに限って自分の埋め込んだバグを自分で取れなかったりする。
で結局単価の高いベテランプログラマがそいつの尻拭いをさせられる。
だから虫は高い。

その程度ならまだいいのだが、 最初に書いた野郎がとんでもない糞プログラマだった場合、 「 全書き直し 」 という最悪のパターンも待っている。
こうなると糞プログラマが働いた分、 時間が押した分、 ベテランプログラマが書き直した分だけのコストがかかり、 虫は更に高くなる。

いや、 もっと高いのもありますな。
もっと最初の、 ビジョンとか、 要求定義とかでミスがあった場合ですな。
これをバグと呼ぶかどうかは別としても、 とにかく高いですよ〜。
上で書いたようなバグがモジュール単位で何とかなるのに対して、 これはプロジェクト単位、 プロダクト単位ですからねぇ。
しかしこの業界、 そんなデカイ単位でのミスが案外多いってのがいやはや、 恐ろしい。

あと、 バグを取ったつもりが別のバグを埋め込んでたりすることもありますな。
これを、 業界では 「 虫取りが虫を入れる 」 と言う ( ウソ ) 。
で後で処理を頼まれたプログラマが見つけて激怒するわけね。

どうです? オークションにかければ、 きっと高値がつきますぜ!!

オイラとしては、 「 虫取り野郎 ( バグハンター ) 」 に高いギャラを払って欲しいなぁ…。
そうすると、 アイツとか、 アイツとか、 アイツの埋めた虫を採るのも楽しく ( ? ) なると思うんだけど…。

お前の虫の方が高いって? そりゃそうだ。

第41話 モノより思い出。 1999/08/29

これは、 ある車の CM のコピーである。
この CM の意図は、 多分、 車そのものではなく、 その車を買うことによって得られた思い出 ( 例えば家族でバーベキューに行ったとか ) を買ってくれ、 というものなのだろう。

モノの世界では既に、 「 モノそのものを買う 」 から 「 モノに付随するイメージを買う 」 というマーケティングへと移行している。
先の車で言えば、 同じ車を限界まで乗りつづけられるとメーカーは困る。
消費者の買い替え意欲を刺激する宣伝を売っていかないと、 生き残れないというわけだ。

同じことが我々の産業にも当てはまる。
既にハードウェアベンダーは、 機械だけを売るだけでは儲けが薄いため、 さまざまなソフトをバンドルして売ったり、 企業向けにはシステムやサービス込みで一括導入したりしている。
ソフトの世界も同じことが起きている。
パッケージソフトだけをぽんと売っているだけでは儲からないのだ。
パッケージを使ったシステムごと、 導入、 カスタマイズ、 運用、 サポート込み込みで大規模受注を取り付けなければ厳しい時代になってきた。
それって抱き合わせ商法なんじゃないの? と思ってるのはオイラだけか?

余計なツッコミはさておき、 そうなると企業の体制から変えていかなくてはならなくなる。
プログラマは冷暖房完備の静かな部屋でプログラミングをしていさえすればいい時代は終わるだろう。
システムのコアをプログラミングする要員を除いて、 プログラマもコンサルタントや SE へと変身しなければならない。
さて、 プログラマのうち何割が SE やコンサルタントに転身できるのか?
それが、 今後のソフトハウスの試練なのだろう。

お前はコンサルタントにはなるなって? そうかも。

第42話 再現と非再現の間には 1999/09/06

今日も冷たい雨が降るのです(笑)。

ソフトハウスには、 テスタという職業の方がおられるということをご存知だろうか。
出荷前、 カットオーバ前のソフトを徹底的に触り倒してバグを見つけてくれる人のことである。

彼らの使命は、 単にバグを見つけるのではなく、 そのバグが必ず再現するパターンをつきとめることにある。
バグレポートには、 バグを再現させるための手順が書かれているのが普通だ。

テスタさんからバグレポートを貰ったら、 まず再現手順通りに操作してみて、 再現するかどうかを確認する。
ところがこれが意外と再現しないことがあるのだ。
イベント周りとかだとマシンクロックが速くなっただけで再現しなくなるバグがある。
ユーザさんやテスタの使っているマシンと、 開発者が使ってるマシンはスペックが違うことが多く、 ユーザやテスタのところで再現したものが開発者のところでは再現しないことがあるのだ。
こういう場合の解決策は二つあって、
  1. ゲームセンターあらしも真っ青の豪速で操作を行う。
  2. パワーユーザも真っ青のメチャクチャ重いデータを作る。
ま、 普通は後者ですけど(笑)。

しかしテスタさんというのは凄いですね。
中には開発経験者もいるとは思うのだけれど、 おそらく大多数はそこまではいかないだろう。
にもかかわらず何段階も手順を踏まないと再現しないバグを 「 再現性あり 」 にチェック入れて持ってくる。
プロなのねぇ、 と感心することしきり。

お前は開発のプロじゃないのかって? ノーコメント。

第43話 凶器としての書籍 1999/09/12

プログラミング関係の本ってもう殆ど凶器ですね。
ちょっと思いつくだけでも 「 CODE COMPLETE 」 、 「 プログラミング Visual C++ 6.0 」 、 「 Inside OLE 」 …。
出会い頭に投げつけられたら脳挫傷は確実でしょう(笑)。

「 Win32 API バイブル 」 を 3 冊一気に買ったら、 店員さんが凄い心配そうな顔で、 「 袋、 二重にしましょうか? 」 と聞いてきた。
殆ど嫌がらせだよな。 バラバラに買えよ。

いけないのがそんなバカ高いうえにクソ重い本を買って積読してしまうこと。
ベッドサイドに置いとくんだけど、 大概睡眠促進剤として機能している(爆)。
ちゃんと読めよ。

家も心配だ。
本棚の下の床はいつ抜けるのだろうか…?

枕を使わない人なので、 積読してしまうと投資価値はゼロである。
家の床が抜ければ修理代がかかるのでマイナスである。
なんとかいい利用法を考えなければ。

一人暮らししてたときは踏み台として活用してましたね。
天袋に入ってるものとか取る時に便利。
ばあちゃんにあげればうまい漬物でも漬けてくれるだろうか?

いや、 そうじゃなくて、 ちゃんと読めよって? ふえぇい。

第44話 ポインタ情報 1999/09/19

皆さんどこで情報を得てるんでしょうね。
メーリングリストとかで 「 常連回答者 」 と化してる方なんて、 本当にどこでそんなことを勉強してこられたのかと不思議で。

多分そんな人って優秀な人どうしのネットワークがそれなりにあるんでしょうね。
で、 この業界の人だからなおさらすばやく情報が行き渡る。 これは今後伸びそうだとか、 あれは使い物にならんとか。

ネットに流れてる情報も、 「 一体いつ入手したの? 」 と思うほど速く入手する人がいますね。

速さだけじゃなくて、 深さも重要。
実際にプログラムを書こうと思うと、 雑誌に載ってた情報だけではダメなことも多い。
その時に、 どれだけの情報を持ってるかで状況は変わって来る。
でも、 普段から分厚い本を最初から最後まで全部読んで、 なんて出来ないし…。

てな時に持っておくとお役立ちなのが件の 「 ポインタ情報 」 だ。
つまるところ、 「 あれってあの本に書いてあったよね 」 という情報のことだけど、 これが非常に大切。
余程難解な技術でもなければ、 次はこんな仕事が来るんだろうな…と予測して、 それから本を読み漁っても間に合うことが多い。
で、 その時に迷わず読むべき本を押さえておくというのが重要で、 ここを間違ってしまうと理解に時間がかかったり、 古い情報をつかんでしまったりする。

オイラはホームページから情報を得るのがどうも下手らしくて、 結局分厚い本を買ってきて読む羽目になるんだけど、 皆さん本当にどうされてるんでしょうね。
それにしても 「 Inside OLE 」 は厚すぎるぞ!!

第45話 日頃の行い 1999/09/25

先週は FTP に失敗して読者の皆様にご迷惑をおかけしたことをお詫びします。
思えば先週結構バタバタしていて、 コラムも手抜きでした。 ごめんなさい。
この手のコラムを公開している方って、 読んでいると性格が分かりますよね。
ちゃんとネタ帳に 「 来週はこのネタでいこう 」 とかメモっていて、 事前に調査が必要であればきっちり調査している人もいます。
そこまで力入れてコラムを執筆していて、 更新が週一だったりする方なんて、 もう脱帽モノです。 そのままプロのライターになれるんじゃ…?
もちろん、 オイラはなーんも考えてなくて、 週末になってから 「 えーっと、 今週は何にするかなー 」 ってやってるんですけど(笑)。

さて本題。
この業界、 一応は情報科学という技術の上に成り立っているのだけれど、 実態をつぶさに監察すると科学とは無縁なのでは、 と思われる場面に遭遇することがある。

例えば原因不明のバグが立て続けに報告された場合とか。
「 日頃の行いが悪いんじゃないの? 」
「 今朝のニュースの星占いで最悪の運勢だったしな〜 」
「 厄払い、 頼んだ方がいいのかなぁ 」
「 クライアントのオフィスの方角が悪いんじゃ? 」
いや、 そうじゃなくて…(笑)。

ま、 分からなくはないんですけどね。
自分が埋め込んじゃったバグならともかく、 「 お前ほんとにプロかよ〜 」 と言いたくなるようなソース押し付けられりゃ、 運が悪かったと思わなければやってられない。

他にも例えば、 大きなアプリケーションとかシステムを開発しているプログラマにありがちなのが、 「 自分の分担箇所しか知らない 」 パターン。
アプリケーションのコアはよく知ってるんだけど、 下回りの OS のことをあまりよく知らないもんだから、 下回りのライブラリを担当した人間が想像もしていないような使い方をして、 「 変だよ〜 」 とか言ってるとか、 その逆とか。
こういう場合、 ライブラリの詳細がドキュメント化されていて、 「 こんな使い方はするな 」 ってのが分かってればいいんだけれど、 案外そんなものはなかったりして、 最初に書いたような事件が起こったりする。
でさらに悪いことにライブラリ作ったヤツが辞めちゃってたりしてね〜。
ドキュメントなし、 開発担当者もいない、 ど〜すりゃいいの?
もうここまでひどい状況になったら日頃の行いが悪かったってことで諦めましょう(笑)。
皆さん、 辞める前には必ず引継ぎをしましょうね!

そんな状況を作り出してるのはお前じゃないのかって? そうかも(爆)。
今日はちゃんと自分ツッコミで落としたぞ(笑)。

第46話 作ってはいけない 1999/10/03

例えば JPEG のエンコーダとデコーダを作ってくれと言われたとき、 「 自分で作っちゃう 」 って人と、 「 どっかにライブラリが落ちてないか探す 」 って人といると思うんですね。

もちろん、 「 勉強のため 」 とか、 「 興味本位で 」 自作してみるということはとても大切なことで、 評価できる行為だけれど、 これが仕事となると話が違ってくる。
断然、 実績のあるものを使う方がいいですね。
下手に自作して、 自分が転職するとメンテナンス不能に陥るパターンって結構あるんですよね。
あと、 やっぱ、 自作するとバグもあるし。
最初の例で言うと多少の不都合があっても libJPEG とか使う方が長期的にはいいんでしょうね。

でもその辺を公私混同してるプログラマって結構多くて、 「 作っといて 」 と言うと力いっぱい謎のライブラリを作ってくれる ( しかもドキュメントはない ) 。
おいおい、 お前そんなにこのライブラリと心中したいのかよ〜。
てなヤツに限って飽きるとすぐに転職するし… っておい、 誰がメンテすんだよ〜!!
オイラなんか少しでも楽したいからいつもどっかにいいサンプル転がってないかな〜なんて探してるんですけどねぇ。
うまく手を抜くってのもプロの技のうちだと思うんだけどねぇ。

実は作れないんだろって? 大当たり ( カランカラン ) !!

第47話 ああプログラミング誌よ君を泣く 1999/10/11

ああプログラミング誌よ君を泣く、
君廃刊し給ふことなかれ。

出版社は刃を握らせて、
儲かる初心者誌を発行せよと教へしや。

DDJ は休刊へと追い込まれ、
替わりて出でし Programmer's Page は初心者誌となりぬ。

Inside Windows さへ休刊し、
もはや Windows プログラマには MSJ しか無いのか。

高レベルの雑誌もあるが、
bit などはプログラミングと言ふには広い内容。

我々プログラマは雑誌からまともな情報は得られぬと言ふことなのか。
一体どうすれば良ゐのだらうか。

ああプログラミング誌よ君を泣く、
君廃刊し給ふことなかれ。
だーっうざってー、 もっとレベルの高い雑誌を出してくれ〜!!

お前が廃刊しやがれって? 鋭い!!

第48話 休出パラダイス 1999/10/17

転職以来始めて休日出勤をしてしまいました。
デスマーチが始まると休出、 残業のオンパレードなのですが、 最初のうちってこれが案外楽しかったりして。
誰もいないオフィスを一人占めした気分になったり、 静かな環境で仕事に打ち込めたり、 実はちょっぴりサボってみたり(笑)。
今回は調べもののために出てきたのですが、 いやぁ、 これが案外大変で、 シンプルな SDI サンプルを作って試すと OK なんだけど 実際のプロダクトに組み込むとなるとあんな問題やこんな問題が浮上してきて、 はてどうしたものかと悩んでしまったり。
上司に 「 やー、 難しいですねぇ、 線表オーバしたらどうしましょう 」 と聞いたら、 「 クビです 」 とキッパリ言われてしまい ( 激ヤバ ) 、 クビになっては大変と、 今回の休日出勤と相成ったわけです(笑)。

先にも述べたように、 休出ってなぜか最初のうちは楽しいかったりするんですよね。
さながら 「 休出パラダイス 」 。
しかーし、 これがずーっと続くとやがて地獄になり、 さらに続くと壊れてきて今度は別の意味のパラダイスになるという…(汗)。

休出の理由もいろいろで、 調査目的だったり、 コーディングが遅れているからだったりするんですが、 調査で難航すると結構滅入りますねぇ。
コーディングなら、 ある程度時間に比例して仕事が片付いていくから、 肉体的に疲れても精神的にはそれほど滅入らないんですよね。
でも 「 こりゃ〜厳しいぜ! 」 と思っていたヤツを解決した時って、 「 もしかしてオイラって天才なんじゃ!? 」 とか訳分からんこと思っちゃいますよね。
単に壊れてブチ切れてるだけなんですけど。

でもそういうのがあるからこの仕事を止められないんだなぁ、 と勝手に思っています。
上から降りてきた仕様通りにコーディングしてハイおしまいってんじゃ、 楽だけどつまんないもんねぇ。
でも、 任される部分が多い分、 結構大変で、 時々トイレで吐いてしまったりなんか。 単に気が小さいんでしょうね(笑)。

ま、 暫く休日パラダイスは続くことでしょう。
サバイバルゲームの始まり、 始まり!

お前なんか真っ先にくたばりやがれって? バカは丈夫に出来てるよ(爆)。

第49話 大脱走 1999/10/25

今回は 「 プログラミングに必要な英語力 」 の話をしようと思っていたのですが、 前の会社の同僚、 「 SE くん 」 からメールが送られてきたので予定変更。

オイラが飛び出す前、 SE くんとオイラの二人でプロジェクトを進めていたのですが、 このプロジェクト、 3 ヶ年計画だったんですね。
プログラマのオイラが 1 年目で辞めたということは、 残りは SE くん一人でやり遂げるか、 プログラマを雇うかしなければいけなかったのですが、 どうも彼一人で提案からコーディング、 テストまでやっているらしいです。
で、 「 死ぬほど忙しいぞ!! ふざけんな!! 」 というメールが送られてきた(笑)。
上司も上司で、 彼がオーバーフローしてしまいそうだと思ったら、 助っ人の手配ぐらいしてやればいいのにと思うんですがね。

3 ヶ年計画に埋め込まれて抜け出せなくなった彼には申し訳ないのだけれど、 技術者といえどたかがサラリーマン、 SE とか PG ならいくらでも替えがきくとオイラは思っています。
つまり比較的転職しやすい商売なんですよね。
逆に言うと会社の方針や上司が気に食わなければもっといい会社に移れるし、 優秀な技術者のいるソフトハウスを転々として実力をつけることもできる。
それはプログラマの正当な権利だと思うのです。

もっとあけすけに言ってしまうと、 オイラは軍隊式のプロジェクトの進め方をするプロジェクトマネージャってヤツが大嫌いです。
「 親会社の命令なんだ!! これで失敗したら俺は二度と親会社に戻れなくなるんだ!! 」 とか、 「 残業しても休出しても命を落としても期日までに仕上げろ!! 」 とか言う人のことですが、 そういう人って明らかにプロジェクトマネージャがやるべき仕事、 つまり、 要求仕様定義、 予算の折衝・見積り、 工期の折衝・見積り、 SE や PG の間の連絡等の段階で失敗してるんですよね。
その尻拭いを SE や PG にやらせといて自分は涼しい顔してさっさと仕事あがってるの見ると、 翌日には辞表書こうと思っちゃうのはオイラだけだろうか?

いや、 分かるんですけどね、 親会社との政治的な関係があってどうにも断れないとか。
でもねぇ…そこをなんとかしてもらわないとまともな人はどんどん辞めていっちゃって、 飼い殺しの悪循環だと思うんですけどね。

てなわけで会社に対する忠誠心など微塵も持ち合わせていないオイラは脱走したわけです。
ま、 あんまり誉められた話でもないのですが、 デスマーチのオンパレードみたいな会社にいつまでも忠誠を誓って自分の時間を無駄にしたくないですしね。
そんな時間があるなら技術者としてもっとレベルアップした方がよほどマシな時間の使い方だと思うんですよね。
ちょっと取り留めもない話になってしまいましたが、 プログラマ、 プログラマの卵の皆さんにこれだけは言っておきたいです。
会社のために働いてはいけません。
自分のために働いていたら、 それが会社のためにもなっていた、 という働き方をしたいものです。

お前なんか誰のためにも働けてないって? そりゃまあそうだけど。

Copyright (C) Ada72 All Rights Reserved.