1960 年生まれ、独身フリー・プログラマの生態とは? 日経ソフトウエアの人気連載「フリー・プログラマの華麗な生活」からより抜きの記事をお送りします。2001年上旬の連載開始当初から、現在に至るまでの生活を振り返って、順次公開していく予定です。プログラミングに興味がある人もない人も、フリー・プログラマを目指している人もそうでない人も、“華麗”とはほど遠い、フリー・プログラマの生活をちょっと覗いてみませんか。
※ 記事は執筆時の情報に基づいており、現在では異なる場合があります。
前回のあらすじ 受託開発による収入が不安定さを増す中で、これといったコネも持たない私は、とうとうフルタイムで仕事をする覚悟を決めた。しかし、金融をはじめとする大規模プロジェクトが立て続けに終わったばかりで、都内には数千人のエンジニアが余っているという。人材紹介会社の担当者からは中條さんなら大丈夫、すぐ決まりますと言ってもらえたが、いったいどうなることやら。それから約一週間後。「案件のご案内」というメールが届いた。

 メールによると、ジャンルは通信系だという。あとは作業場所と就業時間などの簡単な条件が書いてあるだけ。これだけで判断はできないのだが、人材紹介会社のWさんにも、この程度しかわからないのだそう。そういうわけで、とりあえず面接のアポを入れてもらう。

 面接当日。Wさんからいろいろとアドバイスを受ける。会話ははっきり明るく。自信がなくても後ろ向きな表現はしない。最終的には年齢や技術力よりも人間性で決まるものだから、などなど。あぁ、人ってそういうものだよな、と改めて思う。それから、と担当者は言葉を続ける。決まれば毎日かなりの時間を過ごすわけだから、作業場所近辺の外食事情から近くのコンビニまでの距離、職場の雰囲気まで、とにかく気になることはなんでも聞いておいた方がよい、という。確かにその通りであり、担当者の心遣いに感謝する。

 面接の内容は事細かに書けないが、通信系といってもファームではなく、稼働情報を集計するシステムの開発だった。通常はそれほど忙しくないが、集計データの解析作業をすることがあって、これが工数が読めないにもかかわらず納期が動かせないので、きついこともあります、とざっくばらんに説明してもらった。雰囲気はよかったものの、一つだけ気になる質問があった。「プログラムを書いた後、どの程度バグ出しをしますか」というものだ。

 いわゆるバグの数というのは、システムの規模に対して統計的にわかっているのだそうだ。しかも、コーディングを終えてからシステムが安定するまでに検出されるバグ数の推移曲線もほぼわかっているという。だから、実際に集計してみて理論値を外れている場合は「テストが足りない」という判断になる。バグが少ないからといって自慢することは許されないのである。

 私もその昔、少しだけこういう世界に身を置いたことがある。プログラム全体のうち、異常系の処理(エラー検出・復帰などの処理)が、少なくとも三分の一は占めるようなコードを書いていた。うっとおしいと思うかもしれないが、慣れの問題である。しかし、辛かったのはその後、「試してみて、動けばOK」の世界に戻ってからだった。慎重にコーディングすればするほど開発のスピードは落ちるわけだから、周囲の技術者に比べて「仕事が遅い」プログラマに成り下がってしまったのだ。自分のこだわりのためにスケジュールを遅らせるということを何度か繰り返したあげく、ようやく「社会復帰」できたが、スタンスの違いを思い知らされた経験だった。

 先の面接で、この経験がフラッシュバックしたというわけではないが、バグ出しの数を評価するような人種とお付き合いするのは、なるべく避けたいところだ。面接に同席したWさんは、私のちょっとした気がかりを察したのだろうか。面接後にお茶をしながら、少しでも気になることがあるなら気軽に断ってもいいですよ、おそらくすぐ次がありますよ、と言ってくれる。むしろ断るなら早いほうがよい、先方からOKをもらってから断るほうが失礼だから、というのである。それならということで、この案件は見送ることにした。

 2、3日して、今度は別の人材紹介会社から連絡が来た。聞いてみると C++で動画処理をコーディングする仕事だという。実を言うと、信号処理や数値計算は苦手である。私の経歴にもこういうジャンルの仕事は一切ない。にもかかわらず声がかかったのには、何か理由があるに違いない。そう思って面接を受けてみることした。

 面接当日、担当者のSさんと待ち合わせると、もう一人いるという。そこで初めて説明を聞いたのだが、どうやら仕事先と私の間に2~3社入るようなのだ。もう少し詳しく説明しよう。私が登録したSさんの会社をAとする。これから待ち合わせるのはB社の担当者で、今日は私と3名でC社に面接に行く。私はC社のスタッフとしてD社に出向するのである。なんだかややこしいが、法に触れるような雇用形態にはしていないだろう。そう思ってだまってついていくことにした。

 C社の担当者から業務の内容について説明を受ける。今度は客先、つまりD社の担当者とほぼ一対一の仕事である。せっかく自宅で仕事をするのを諦めて外に出る決意をしたのに、人との関わりが少ないのは気が進まない。いつまで続けるかはともかく、できればコネの一つや二つぐらいは手にしたいところだ。

 もう一つ気になるのは、顧客との間に少なくとも2社入っている点だ。提示された条件は悪くなかったが、せめて1社ならもう少しよい待遇になったはず、ということを折に触れ思い出すだろう。こんなことを考えながら面接を受けていると、C社の担当から、まあOKだと思いますと言ってもらえた。ただし、実際の決定権はD社にあるという。本決まりになる前に、もう1回面接があるのだ。それだけではない。プログラムの能力を知りたいので、C++のプログラムがあったら提出してください、と言われた。業務対象はアプリケーションではないので、Visual Studioでウィザードを使って作成したようなプログラムは、あまり参考にならないですとも言われた。

 さあ困った。Linuxで動作する中規模なCGIプログラムをC++で書いたのは1998年ころだっただろうか。一応ソースコードは残っているし、顧客やプロジェクトが特定できない範囲で提出することも可能だ。しかし、かなり慌しいスケジュールで開発したので、とてもではないが他人に見せられるようなものではない。それでも要望ということだから、恥をしのんで提出したのだった。(さらに、つづく)