1960 年生まれ、独身フリー・プログラマの生態とは? 日経ソフトウエアの人気連載「フリー・プログラマの華麗な生活」からより抜きの記事をお送りします。2001年上旬の連載開始当初から、現在に至るまでの生活を振り返って、順次公開していく予定です。プログラミングに興味がある人もない人も、フリー・プログラマを目指している人もそうでない人も、“華麗”とはほど遠い、フリー・プログラマの生活をちょっと覗いてみませんか。
※ 記事は執筆時の情報に基づいており、現在では異なる場合があります。

 人材紹介会社の社長と久しぶりに話をする機会があった。前回に書いた,昨年からの仕事を紹介してくれたところである。相変わらず技術者は余っており,仕事もないわけではないが,決して多いとは言えない状況が続いているという。

 10の案件があるとすると,人材を紹介して面接まで話が進むのが1件か2件,採用が決まるのはさらにその1割程度というから驚きである。単価も下がり続けているというから厳しいことこのうえない。以前は,顧客が想定している人月単価に少し上乗せしたとしても,結構すんなり決まっていたのだそうだ。ところがこういう時期であるから,どうしても弱気になってしまい,下げた金額で提案をする。しかし,それでも決まらないのだという。こうして皆で相場を下げていくわけだから,たまったものではない。

 まあいいだろう。そうやって開発費用を抑えたからといって,モノができないわけではない。コストを重視するあまり,運悪くスキルが足りない技術者をつかまえてしまったからといって,いざとなればなんとかなるものだ。

 そんないい加減な,と怒られるかもしれないが,ちょっと待ってほしい。システムを稼働していくうえでの不安要因をすべて検証した後で開発に着手するにはそれなりの期間とコストがかかる。仮に検証したからといって,実務で発生し得るすべての問題を洗い出すことは不可能に近い。だからといって,トラブルを恐れるあまり,実績のある技術に依存しすぎるのは命取りになることがある。例えば今の時代で,Visual Basic 6.0とWindows 98での実績しかありませんといったら,おそらく仕事にありつけないだろう。

 10年以上にもわたって技術者生命を維持するには,ある程度のところで見切りをつけながら新しい技術を取り込んだり,新しい事例にチャレンジしたりしていく必要がある。そして,場合によっては,想定外のトラブルに遭遇することになる。

 どんなに熟練した技術者であっても,先に進もうとする限り,すべてのトラブルを避けることはできない。そして,それはトータルな技術力が未熟でトラブルが起きてしまった場合と見分けがつかない。違いがあるとすれば,どれだけ想定外のトラブルを織り込んでシステム設計ができるか,トラブルが起きたときにどういった対処ができるか,という点である。

 ところで,トラブルへの対処方法は技術だけではない。どうしようもなくなってしまった場合,営業的に,あるいは政治的に解決するという手段がある。一番手っ取り早いのは,できるだけ早い時期に技術者を入れ替える,あるいは補助要員を入れるという方法である。

 しかし,前者なら引継ぎの問題が出てくるし,後者なら追加費用が発生してしまうので,大抵の場合はもう少し現実的な方法を採る。当初予定していた機能を実現可能なレベルまで縮小して納品するのである。そうして縮小した部分については,利用上の制限を設けたり,使い方を工夫して我慢したりしながら,運用してもらう。

 誤解を恐れずにいうと,技術者のスキルがどうであろうが,トラブルが起きるときは起きるし,技術で解決できなかったとしても,政治的な手段に訴えればなんとか収まることも少なくない。たとえどんなにボロボロで,多少の手直しにもてこずるようなシステムであっても,とりあえず動けばオッケーなのだ。

 それを繰り返されては困るが,最初は未熟でも,こうして幾多のトラブルを積み重ねながら当の技術者は育っていく。だから,技術要員としては,ある程度のレベルをクリアしてさえいればよい。それよりも,何かのときのために客受けがよい方が重要だ。人間性に問題があっても技術力さえあれば使ってもらえる,などという現場はめったにない。そして,技術力さえあれば高く売れるとも限らない。残念に思われるかもしれないが,ざっくり言えばこれが現実なのだ。

 それでは,技術力で差別化を図って,それなりの収益を上げてきた者は一体どうすればよいのだろう。他者と足並みをそろえて,低い収益で無難な仕事をしていくしかないのだろうか。はじめの話に戻るが,こんな疑問を抱えながら先の社長と話をしていたのである。そこで,次のような話を聞かせてもらった。