1人の天才が1000人の凡人をひっくり返すようなエンジニアリングはな

せっかく言及頂いたのでお礼ついでにエントリー。

id:gamellaの鋭い指摘にはもっと多くの人が耳を傾けるべき。

「1000人の凡人が一人の天才に負けるエンジニアリング」ではなく「凡人1000人で本当に良いプロダクトを作るエンジニアリング」を指向したい - Future Insight

日本にマッチするのは「1000人の凡人が一人の天才に負けるエンジニアリング」ではなく「凡人1000人で本当に良いプロダクトを作るエンジニアリング」なのだと思う。

僕の立場はこれとほぼ同じですが、「日本の技術力が足りない」というところはもう少し精確に説明したほうがよいですね。

ちょっと紹介したいのが下記のNYTimesの記事。

Silicon Valley Hiring Perks: Meals, iPads and a Cubicle for Spot

Then there are salaries. Google is paying computer science majors just out of college $90,000 to $105,000, as much as $20,000 more than it was paying a few months ago.

Nationwide unemployment among computer scientists and programmers is higher than in other white-collar professions ― around 5 percent ― in part because many jobs have vanished overseas.

シリコンバレーではGoogleのような企業がコンピュータサイエンスの学士新卒に800万〜1000万を出すのも珍しくなくなってきているということが報じられている。一方、コンピュータ業界の失業率も他の業界に比べてとても高い。多くの人ができるような仕事は海外に流出してしまって、国内は本当に優秀な人に高給を与えて良い仕事をしてもらう仕組みができあがっているように見える。

オープンソースの開発に参加していて思うのですが、個々人の技術者としての能力は、日本とアメリカでそんなに違わない。違わないどころか日本の方が優れているかもしれない。PostgreSQLで言えば、8.4頃から主要な機能(再帰クエリ、ウィンドウ関数、レプリケーションSQL/MED他)はほとんど日本人が開発している。が、それを取り纏めて課題を管理して議論を収束させてきちんとプロダクトにしているのはアメリカ人達です。もちろん音頭を取っているだけではなくコードレビューで重要な指摘をしたり意思決定をしたりしている。

おそらくid:gamellaが言いたい「不足している技術力」というのが、コードを書くとか難しいアルゴリズムを考えるとかそういう狭い意味での技術力ではなくて、トータルでプロダクトをデザインする広い意味での技術力のことなんだと思います。

ここで紹介していいのかわかりませんが、日本の超優秀な企業を脱出してノキアに行った友人のこの記事にはとても示唆的な内容が含まれています。

Page not found « for what it's worth
Nokiaが3年で地に堕ちた理由(1) ~ソフトウェア開発事業のファブレス化~ « for what it's worth
Nokiaが3年で地に堕ちた理由(2) ~企業のDNAとメタボローム~ « for what it's worth
Nokiaが3年で地に堕ちた理由(3) ~グローバルカンパニー~ « for what it's worth

Nokiaのエンジニアだって個々人で見ればすごく優秀なんですね。事実先日のSymbian廃棄発表後はGoogleMicrosoftからすごい勢いでリクルーティングがかかっている。でも彼らを使ってプロダクトを作れなかった。

企業トップのビジョンやファイナンスの問題もあるでしょうけど、プロダクトをデザインして問題を解決していく広い意味での技術というのが欠けているのかもしれない。たぶんそれらを指して「技術」と呼ぶことに違和感がある人も多いでしょう。

1人の天才が1000人の凡人をひっくり返したような例なんて幻想であって実はほとんど存在しない。優秀な人を少しだけ集めてレバレッジをかけてるんじゃなくて、優秀な人が大量に集まってもっとを大きな数のエンジニアを有機的に動かしているんだと思います。

そんなことを考えつつ、実際のところどうなんだろうということを見るためにもちょっとアメリカに行ってみたいなと思う今日この頃です。