IT日記

Webエンジニアの徒然草

優れたエンジニアにビジネスはできない。

YAGNIという言葉がある。ソフトウェア開発における過剰な作り込みを戒める単語だが、実際には余計な機能の開発に時間を費やす羽目になることは珍しくない。これはエンジニアの職人気質、完璧主義が一因だ。

エンジニアに限らず、何らかの専門知識を有する職人的な職業の人間はその知識・ノウハウを蓄え、洗練する必要にかられる。その反面、自分達の仕事に不必要に高い評価をする嫌いがあり、その職人集団特有の価値観に染まりやすい。

原理主義的なITエンジニアの場合、その高度な知識を総動員し、いかなる追加要望にも対応するために、様々な機能を事前に盛り込もうとする。もちろん、セキュリティも万全で、別のエンジニアに引き継いだ時に備えて読みやすいソースコードを書くことも怠らない。

それだけ聞けば良いことのように思えるが、そもそも人間のやることに完全などあり得ない。決して到達できないゴールを目指して、ただいたずらに時間をかけることになる。あるかないかで言えばあったほうが良い、といった程度の機能の開発・維持に「時間」という貴重で有限なリソースを多大に費やしても仕方ないのだ。セキュリティは新たな攻撃手法とその対策とのいたちごっこでしかなく、ソースコードの読みやすさなど究極的には主観によるものであり、唯一無二の正しい書き方などない。

費用対効果という、ビジネスにおいては言わば当たり前の観点を置き去りにする職人を企業社会において本来高く評価するべきではないだろう。

しかし、こうした偏った人間ほどその専門知識だけはやたらに高かったりする。天は二物を与えず、である。そしてこうした偏った人間は、他の同じ職業の者と比較しても広範な専門知識ゆえ、集団の中で発言力を持ちやすい。そうして、ただソフトウェアの品質を高めるためだけなら時に正しいかも知れないが、ビジネス的には誤った意思決定がなされることになる。

要はオーバースペックであり、技術力が高ければそれだけで儲かるほど世の中は簡単ではない。商業的な成功に必要な技術力は一定水準のものでしかなく、後は企画が当たるかどうかだけの話なのである。

よく言われるように、技術は手段でしかなく、ソフトウェアは目的を達成するための単なる道具でしかない。自己満足の創作が許されるのはプライベートな趣味においてのみであり、手段が目的となっては本末転倒だ。

内科的療法を度外視し、切るしか能がない外科医はともすれば迷惑な存在である。

また、ただ技術力を高めても、個人として一定以上の経済的成功は得られない。ただ誰かに雇われるのが有利になるだけである。

一般にも知られたスターエンジニアとして古くからはMicrosoftビル・ゲイツ、最近ではFacebookマーク・ザッカーバーグあたりであろうか、が挙げられるのをよく見るが、言わずもがな、彼らは純粋な技術者として富を得たわけではない。その経営する企業が世界的な成功を収めたから、あくまで経営者として手腕を発揮し、自社の株式を保有していたからである。

もちろん株式への投資はそれ相応のリスクを伴うが、たとえ成長企業に属していようと、その株を持たない一技術者など所詮は宮仕えの身でしかない。

そもそも、エンジニアには専門分野に固執し、お金に関する話を嫌い、面倒臭がる傾向が見られる。雇用の際に条件交渉する余地を残したままのことも多いだろう。(もっとも、エンジニアは創作すること自体に価値を見出し、金銭的報酬にあまり重きを置かないことも多いのだが。利害関係のあるビジネス上の判断ならともかく、個人の人生設計上、何を重視するかに口を出すのは余計なお世話というものだ。)

いくらかの利用価値はあるが、時に高慢で扱いにくく、口下手で浮世離れした人種なのである。