Googleの技術が凄い理由を考えてみる

Googleの技術が凄いという話は良く聞く。しかし、何故Googleの技術力が高いのかについての論考はあまりないように思える。ドクターが多いからという理由がよく挙げられる。では、Google以外の会社は何故そうしなかったのだろう?

Googleの技術力の源泉は、技術者の多くが計算機科学の研究者であることだと思う。話を進める前に、研究者と普通のプログラマの違いを定義する。ここでは、研究者はアルゴリズムの考案に長けている人々、プログラマアルゴリズムの実装に長けている人々とする。また、アルゴリズムを、コンピュータを望み通り動作させる方法と定義する。もちろんこの分類は乱暴だ。また、優秀な研究者は優秀なプログラマなことが多いし、逆もまたしかりだが、ここでは無視する。また、考慮の対象分野をWebサービスに限定する。

研究者が新たなアルゴリズムを考案するには、それは、彼らが未解決の問題を解く人々だからである。(本当に優秀な研究者は未解決の問題も発見する。)一方、プログラマアルゴリズムを考案する必要は殆どない。求められるのは、いかに効率よく、アルゴリズムプログラミング言語に翻訳するかである。例えば、私の日記を表示させるアルゴリズムの基本は、「ユーザ名llameradaの日記をDBから取得。所得結果をHTMLに整形し出力。」である。このアルゴリズムをプログラム言語に翻訳するのがプログラマの仕事である。この時、保守性・拡張性が高いプログラムを短期間で作成するのが優秀なプログラマである。

検索エンジンは、アルゴリズムの考案が極めて重要なサービスである。殆どのWebサービスでは、アルゴリズムの考案が重要でないことを考えると、検索エンジンは特殊なサービスといえよう。

検索エンジンアルゴリズムの考案が重要な一例を述べる。検索エンジンは大きく分けると、クローラ・データベース・ランキングに分けられる。この中でもクローラは、Webページをインターネットより取得する機能であり、また、アルゴリズムの考案が最も容易な機能である。それでも実サービスとして運用するには多数のアルゴリズムの考案が必要である。例えば、Googleでは、ページが更新された数日後にはインデックスに登録されている。これを実現するには、ページの更新頻度などを予測して、更新されやすいページを優先してクロールするアルゴリズムが必要である。なお、クローラについてはhttp://blog.windy.ac/2005/10/post_196.htmlが詳しい。

つまり、検索エンジンを構築するには多数のアルゴリズムの考案が必要であり、そのため、Googleは多数の研究者を雇っている。優秀な研究者はわがままであり、その雇用コストは高い。しかし、Googleは様々な好条件を提示して(厚い福利厚生、20%ルール)、研究者を大量に雇用しつつある。

何故、他のIT企業はGoogleのように研究者を大量に雇用しないのだろうか?それは、前にも述べたように、殆どのWebサービスではアルゴリズムを考案する必要が無く、研究者が必要ないからだ。ソーシャル・ブックマーク・サービスの構築に独自アルゴリズムは必要ない。ブックマーク格納に最適なDBアルゴリズムを考案する暇があるなら、MySqlを勉強した方がはるかに効率が高い。つまり、研究者の雇用はその高いコストに見合わない。

逆にいえば、検索エンジンは、多数の計算機科学の研究者の雇用が必要になった、初めてのITサービスなのではないかと思う。もしかしたら、OSの開発よりも、多数の研究者が必要なのではないかと思う。

ただし、この議論は2年前ぐらいまでのGoogleを念頭に置いている。以前のGoogleには、アルゴリズム考案が不要なサービスは殆どなかった。例えば、Google翻訳や、Googleニュースの構築には研究者のセンスが必須である。しかし、今のGoogleには、研究者のセンスよりも、プログラマのセンスの方が重要なサービスが多数ある。例えば、RSSリーダである。そして、このような分野ではGoogleは普通の競争者である。(参考:最速インターフェース研究会 :: [速報] GoogleのRSSリーダー(β版)、早速真似して作ってみた)これは、RSSリーダが、Googleの強みが発揮されない分野である以上、当然のことだろう。

個人的には、最近のGoogleの動きを見ていると、Googleがいつか破綻する可能性がないでもないかなと思う。最近、Googleがリリースするサービスは、研究者のセンスが要求されないサービスが多い。このようなサービスの構築にコストの高い研究者ばかり使っていたら、いつかそのコストをカバーしきれなくなるのではないだろうか。とはいえ、まだまだその可能性は低いだろうけど。

研究者という職業研究者という職業
林 周二
プログラマの数学プログラマの数学
結城 浩 結城 浩
ウェブ進化論 本当の大変化はこれから始まるウェブ進化論 本当の大変化はこれから始まる
梅田 望夫