エンジニアの幸せ

エンジニアにとっての幸せとは何だろうか。一般的には、エンジニアとは何かを作る人だ。橋を作る人、ビルを作る人、電子機械を作る人、ソフトウェアを作る人、これらは皆エンジニアだ。よって、創造の喜びというのがひとつの答えとなるのではないだろうか。

一方で、世の中には、何も作りはしないけれども、エンジニアと同じように高度な専門技術を持っている人たちもいる。医者や弁護士やコンサルタントだ。このような人たちにとっての仕事をとおしての幸せは何だろうか。私は、技術の行使がその答えだと思う。

後者の人たちの仕事は、顧客あるいは患者から持ち込まれた問題を解決することだ。なぜ彼らのところに問題が持ち込まれるかというと、そのような問題の解決には高度な専門技術を要するからだ。問題解決者としての彼らの興味は、自らの専門技術を行使していかに困難な問題を解決するかという点に注がれるのではないかと思う。難しい問題ほど挑戦し甲斐があり、あるいは珍しい奇妙な問題には面白みがあることだろう。

私は、エンジニアにとっても技術の行使が幸せになりうると思う。土木技師にとって、溝を掘るのと橋を建設するのとでは、後者の仕事のほうがより幸せだろう。それは恐らく、何かを作るにしても後者のほうがより困難な問題であり、解決のためにより高度な技術を行使しなければならないからだ。

私はソフトウェアの世界で仕事をしているが、エンジニアの何かを作るという側面に執着しすぎている人、創造の喜びを追い求めすぎている人に出会うことがある。そのような人たちは、既存のシステムの拡張やレガシーなシステムのメンテナンスのような仕事を嫌う。そのような人たちは、常にゼロから自分の手で何かを作り上げたいと思っている。

そのような態度が悪いとか間違っているということはない。しかし、そのような人たちには、少し視点を変えて、技術の行使という側面に注目すると仕事の幅が広がるかも知れないよ、と教えてあげたい。一見創造的でない仕事でも、そこに何か技術的な困難さを見出すことができれば、それは技術の行使の機会であり、そこから幸せを得ることはできるのだ。

私は開発からサポートに移ってきた人間で、最近は仕事で何かを作るということはなくなってしまった。今、私が仕事で幸せを感じるのは障害対応だ。デバッグは本質的に難しい。カーニハンが言ったように、デバッグはコードを書くより3倍難しいのだ。デバッグからは創造の喜びを得ることは出来ないかも知れないが、高度な技術の行使という喜びを得ることはできる。困難なバグは私の技術への挑戦と心得ている。

結局、何かを作る人というのは、エンジニアの定義として狭すぎるのだろう。エンジニアとはエンジニアリングの専門家であり、医者や弁護士の仲間なのだ。技術の行使のひとつの形態として、たまたまエンジニアは何かを作る場合があるに過ぎないのである。