技術者の良心
- Conscience Conscious -

夢空間への招待状

結城浩

FAXが届いた。私の携わっているプロジェクトの外注先であるT社からである。T社はつい先日、完成したプログラムを私のところに納品してくれたばかりであった。私の仮検収も済んでおり、つまり今は「仕事が一段落してホッと一息」という時期のはずだ。いったい何のFAXだろう。

T社からのそのFAXを読んでみると、「先日納品したプログラムの一部に改善した方がよい部分が見つかった」とのことである。FAXの内容に従って調査してみると、確かにその通りであった。プログラムの機能にはまったく影響はないけれど、修正しておいた方が処理が2倍程度高速になるし、しかも動作の安定性が増すような部分の指摘であった。相談の上、その部分を修正して改めて検収にかけることにした。

納品したプログラムの改善のFAXが届いた、というただそれだけのありふれた出来事が、なぜか私の心に深い印象を残した。プログラムを読んでいるうちに、すでに納品した物件に改善すべきところが見つかったとする。もし私だったらどうするだろう。私だったらすごく迷うように思う。

A.納品済みなのだから黙っておこう

B.いや、きちんと連絡した方がよい

納品が済み、仮検収も済んでいるのだから、楽な道を選ぶならAだろう。しかし、 技術者の良心 からすれば、絶対Bを選ばなくてはならない。自分が言わなければ相手は気がつかないかもしれないし、そうなるとその改善点は闇から闇へ葬りさられることになってしまうからだ。

もちろん、納品後にプログラムの修正が入るというのは納品先からすれば迷惑な話である。しかし、その修正を実際に行なうかどうかの判断をするための情報を提供しない理由にはならない。その修正を実際に行なうかどうかは納品先が判断すべきことなのだから。あなたはどう思うだろう。

 * * *

つまりはこういうことである。あなたはあることを知っている。それを知っているのは世界中であなた一人である。あなたが自発的に申告しなかったら他の誰もそれに気付かない。申告しなくても、あなたは誰にも責められることはない。しかし、もしあなたが申告したら誰か他の人に利益となるかもしれない。そしてあなた自身は不利益をこうむるかもしれない。そんなとき、あなたはどうするか。これは、技術的な問題ではなく、道徳的な問題と言えるだろう。

自分に不利益な事実を発見する、という事態はさまざまな場面で起こる。例えば、明日が納期のプログラムの中に「めったに起こらないが致命的なバグ」を見つけるときがある。正直に上司に伝えたら確実に今晩は徹夜になってしまうだろう。あなたならそれをどうするか。

あるいは、プログラムのテスト中にたった一度だけコンピュータが暴走してしまったとする。同じテストを何度繰り返しても再現しなかった場合、あなたはどうするか。「あの暴走は見なかった」ことにしてしまうか、それともあくまで追い続けるか。それとも…?

また、他の人にプログラムを渡すとき、そのプログラムが潜在的に持っているバグについて言及するかどうかも問題になる。相手が使い始める前に伝えておいたほうが万が一の不慮の事態を防げるだろうが、使う前から自分のプログラムのバグを伝えるのは自分のプライドが許さないかもしれない。そんなときあなたはどうするか。黙ってバグ入りプログラムを渡してしまうか、それともきちんとバグについても説明をするか、それとも…?

実際のところ、どうふるまうかはケースバイケースであろう。技術者の良心にしたがって正直に申告することがよい場合もあるだろうし、そうでない場合もあるのかもしれない。ただ一つ言えることは、こういう話は 自分自身の問題として適用 しないと全く意味がないということだ。私は技術者の良心に従ってできるかぎり正直でありたいと願うけれど、実際に自分が困難にぶつかったときには、もしかすると安易な逃げ道を選ぶかもしれない。

 * * *

…と、ここまで考えてきた私は再びT社からのFAXを読み返した。今回この会社は、安直な逃げを打たず、技術者の良心に従って行動しているようである。私は「信頼」がこういうプロセスを通って生まれることを初めて知った。

(Oh!PC、1993年3月15日)