「世界中の情報を整理し,世界中の人がアクセスして使えるようにする」という目標を掲げる米Google社。同社はその壮大な目標の下に,検索エンジン「Google」をはじめ,「Gmail」や「Googleマップ」など様々なウェブ・サービスを提供している。世界中の何千万,何億という人に毎日使われる魅力的なサービスを作り続けているGoogle社のエンジニア達は,日々,どのように仕事をしているのだろうか。Google日本法人で働くソフトウエアエンジニア 検索担当の若手エンジニアの大倉務氏に,Google社におけるエンジニアの仕事を紹介してもらいながら,エンジニアの魅力を探る。(Tech-On!)

(本稿は,2009年10月10日開催の第1回Tech-On!Campusミーティング「だから,エンジニアは面白い」での大倉氏の講演を基に構成したものです)


第1回Tech-On!Campusミーティングで講演する大倉務氏
[画像のクリックで拡大表示]

 「Googleって何をしている会社ですか?」。そう聞かれた時に,多くの人は「ウェブ検索のサービス会社」と答えるでしょう。ウェブ検索は,確かにGoogle社が力を入れているサービスです。しかし,そのほかにも多くのサービスを提供しています。例えば,ウェブ上の画像検索や,デスクトップ上の検索,カレンダーやオンライン・ワープロのような機能,路線検索,メール,さらには地図やブラウザを作ったり,画像や動画の共有サービスを提供したりしています。

 もしかしたら,Google社は「インターネット関係であれば何でも良い」という姿勢で,手当たり次第にサービスを提供しているように見えるかもしれません。しかし,これらの機能やサービスはすべて,ある一つの目標のために提供しています。その目標とは,「世界中の情報を整理し,世界中の人がアクセスして使えるようにする」というものです。Googleという会社では,「この目標を実現するために必要なことをすべてやる」という理念の下に,社員が毎日働いています。

 ここでは,話を分かりやすくするために,Google社のサービスで最も有名なウェブ検索を題材にして,エンジニアの仕事について紹介します。まず,その前に,ウェブ検索の技術について簡単に説明しましょう。それに続けて,Google社におけるエンジニアの仕事を紹介し,最後にGoogleで働く魅力についてお話しします。

ウェブ検索の技術とは

 初めに,少し想像してみてください。もし検索エンジンというサービスがなかったとして,自分が友達から「こういうことについて知りたいのだが,何か参考になる情報がインターネットにあるか」と聞かれたとします。このとき,「どうすれば参考になる情報を返せるか」について想像してみましょう。

 色々な説はありますが,だいたいインターネット上には1兆ページくらいのウェブ・ページがあるといわれています。その中の100ページに1ページくらいは読んで役に立つページだとしましょう。さらに,人間が1ページ当たり1秒のペースで,それが友達の求めているものにマッチしているか否かを判断できると仮定します。すると,欲しい情報を見つけるまでに一体どの程度の時間がかかるでしょうか。これを大雑把に計算すると,およそ250年かかることが分かります。

 当然,情報を欲しいと思ってから250年後に「それはこのページに載っている」ということが分かったのでは全く意味がありません。これを,何とかして速くしなければならない。さらに,友達が知りたい事柄について書いてあるページが10万ページくらい存在していた時に,「この10万ページに載っていたよ」と友達に教えても,多分喜んでもらえません。その10万ページの中で,「特にこのページはすごく良い説明がある,特にこのページは分かりやすい」といった情報を返してあげる必要があります。

 このように,検索エンジンは,たくさんのページの中から役に立つページを速く,しかもどのページが良いページなのかを判断する必要があります。これが,Google社の検索エンジンのエンジニアが毎日挑戦している問題です。この問題に対するきちんとした答えがあるわけではないのですが,答えに少しでも近づくために,色々なアプローチで取り組んでいます。以降では,答えに少しでも近づくための技術のうち,いくつかを紹介します。