私は人材派遣からやって来た一人の「優秀なSE」(男性)と今回の仕事について話し合っていた。彼に、あるシステムを設計する依頼をしようというのである。「…技術的な内容はいま説明した通りです。わかりましたか?」私がこう尋ねると彼は元気よく「はい、わかりました」と答えた。私は「なかなかハッキリした人だな」と思いつつ、彼に仕事をまかせることにした。
二週間が過ぎた。
設計を終えた時点で彼の方から連絡を取ってくるはずだったが、前回の作業依頼から一度も電話がかかってこない。おかしいな、と思いつつこちらから電話をかけて呼び出した。
「それで、設計はどうなりましたか」私の問いに彼は、数枚の設計書を取り出した。それを見ると、前回私が話した内容がきれいにワープロでプリントされていた。しかしそれはあくまで、こちらからの要求仕様そのままであり、各内容を★どのように作るつもりか☆という技術的な解決方法は一つも提示されていなかった。この自称「優秀なSE」の実力を疑問視しはじめたのはこのときであった。私はもう一度彼に今回のシステムの内容について説明し、技術的に検討すべき点についてリストアップし、彼に確認した。「わかりましたか?」SE氏は笑顔を見せつつ「はい、わかりました」と返事して帰っていった。
月日は流れる。
このSEの実力が私にはっきりわかったのは、彼がα版として納入したソースプログラムを一目見たときであった。私は「この人は自分が作っているもののことを理解していない」と判ったのである。画面に表示される部分はそこそこ作ってあったから、動作させてみると中身もきちんとできているように見える。しかし、私はだまされなかった。ソースプログラムを見てみると、システムの核になる処理を行なう部分はでたらめな作り方になっており、とうてい正しく動く見込みはないように思われた。画面に正しい表示がなされるように、システムの本来の動作をスキップするように作られているところさえあった。私は暗い気分になった。 これ以降は、涙なくては語れない悲惨な物語になっていくので、今回の「夢空間」のお話では省略させていただこう。
* * *
私の失敗は、技術者の力の見積りのやり方にあった。私は話をした印象だけで彼の力量を見積もろうとした。元気な話し方、ハッキリした受け答え、そういう点だけで技術者の力量を見積もろうとしたのである。それが大きな失敗の元であった。
技術者の力量を、その人の元気な受け答えや誠実そうな言葉遣いで判断してはいけない。技術的な内容が正しく理解されているかどうかを、日本語で書いた文章だけで判断してはいけない。
今回の話のSEの力量をはっきりと知ったのは、彼が書いたプログラムを見た瞬間である。彼のプログラムを見た瞬間、彼の技術的な理解度、これまでの仕事の経験、そういったものについてソースプログラムが私に語ってくれたのである。
技術者の技術的な理解度を試す一番いい方法は、プログラムを書かせることである。コンピュータ技術者の力量は、その人の書いたプログラムで量られる。プログラムは、ごまかしが効かないからだ。「はい、わかりました」と言っても、プログラムが書けないなら実はその人はわかっていないのである。
念のために言っておくが、私はプログラムだけで人間のすべての能力が量れると言っているのではない。あくまで、技術者の技術的な理解度のことを言っているのである。
「わかったふり」をしてプログラムを書くことはできない。見せかけやこけおどしはCPUには通じない。技術的な内容が相手に伝わったかどうか確認するには「わかりましたか?」と聞くだけでなく、その技術を使った小さなプログラムを書いてもらうのが一番よいのである。
* * *
わかりましたか?
(Oh!PC、1992年10月30日)