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

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

 前回は,Google社の代表的な仕事である「ウェブ検索」について,お話ししました。前回示したような,良いページを速く検索する機能や,便利に使えるサービスを実現するための様々な技術を開発しているのが,Google社のエンジニアです。今回は,Google社のエンジニアが普段どのように仕事をしているのかについて,紹介します。

 Google社のエンジニアの仕事を一言で表すと,「ユーザーをハッピーにする」ということになります。これは,言うのは簡単ですが,実現するのはなかなか難しい。具体的には,ほとんどのエンジニアが,「サービスを提案し,実際に開発し,ユーザーに提供して改善する」という仕事をひたすら繰り返しています。

 Google社の技術部門は,世界にまたがった一つの組織になっており,提供するサービスの種類によって大きなグループに分かれています。各グループの中では,非常に大まかなことしか決められていません。例えば,ウェブ検索品質のチームでは「ウェブ検索の品質を向上させましょう」,モバイルのチームでは「モバイルユーザーに便利な機能を提供しよう」というようなことです。当たり前のことしか,決まりごとはありません。それだけで済ませています。

 それでは,具体的な毎日の仕事はどうしているのかと言いますと,一人ひとりのエンジニアが自分で何を作るか考え,他のエンジニアや他の部署の人と協力して,それを実現していく。これが,Google社のエンジニアの仕事です。

 エンジニアのアイデアが正式なサービスとして世界中に出て行くまでには,様々な過程があります。初めに一人のエンジニアのアイデアがある。それを基に,そのエンジニアがデモ版を作り,他の社員に使ってもらったりしながら色々な意見を採り入れていく。その結果「本格的に表に出していこう」ということになれば,他のプロジェクト・マネージャやデザイナー,マーケティングの人などと協力しながら開発を進める。そして,“お試し版”として公開して,先進的なユーザーさんが使ってもらう。そのフィードバックを基に改良を続け,その後,正式なサービスとして提供しています。

 この過程の中で,エンジニアはどの部分を担当しているのか――。実は,最初から最後までです。初めにアイデアを出し,議論を通じてアイデアを洗練させ,そしてプロジェクトに必要な人達を巻き込み,設計やコーディング,テストやデバグなど製品化の作業をすべて行い,外部に公開する。その後,フィードバックをもらって改良していく。これらすべてをエンジニアは担当しています。