自分がGoogleに入った時の話
はじめてこの社名を知ったのは、高校生の時。自他共に認めるパソコンオタクだったぼくは書店で月刊アスキーを立ち読みしていた。そこで、新しく登場した検索サービスについて丸々1ページ使って紹介されていた。その速さの秘密は、インターネット全体をメモリに載せて処理をしているかららしい。信じられない量のメモリを持っている謎の会社。それがGoogleをはじめて知った瞬間だった。
大学は東大に進んだ。志望した主な理由はお金がある大学だと聞いたから。なぜお金が大事か?それはお金がないと速いコンピュータが買えないから。高性能なコンピュータが使いたかった。幸い無事に入学でき、その後無事に志望していた理学部情報科学科に進学した。そこには数百台程度のクラスタがあって、それらを使って友人らとオセロのAIの開発を競った。なぜそんなことを熱心にやっていたのか正直わからない。自分にとっては小学生が校庭でかけっこをするのと変わらない、単なる友達との遊びだった。この間、ニュースや論文で目にすることは多々あったものの、IT企業の一つという以上にGoogleを意識することはあまりなかったように思う。
久しぶりにGoogleの名前を聞くことになったのは研究室に入って少し経った時だった。自然言語処理の応用を専門にする研究室に進み、先生や先輩にいろいろと教えて頂いた。その過程で知ることになったツールを使っていて、ふと気づいたことががあった。MeCabとTinySVMのホームページが似ている!共に工藤さんが作ったツールだ。NLPで広く使われているツールをいくつも1人で作った人がいるというのは衝撃だった。そして工藤さんはGoogleにいた。ある日、工藤さんを含めGoogleの人が研究室に来るという話を聞いた。博士の学生と話をしに来るという事だったがお願いして隅っこに同席させてもらった。超人を一目見てみたかった。楽しい人だった。いちばんの収穫は「インターンもあるよ」と教えてもらえたことだった。
当時のGoogleのインターンはアメリカで3ヶ月。日本の標準的な大学生らしく英語での会話などほぼ未経験だったにも関わらず、なぜか心配すらしていなかった。ただ能天気だったのかもしれないし、通るとは全く思っていなかったからかもしれない。インターンとはいえ面接があった。面接のお知らせが英語で届いて返信を書くのに苦労したのだけ覚えている。面接は1対1で2回。1人目は工藤さんだった。
面接というよりは、問題を出されてどうしたらいいか一緒に相談するといった感じだった。話していた内容は大学の友人との雑談とあまり変わらない。面接中にひたすら「自分のせいで時間を使わせて申し訳ない。この時間でMeCabを改良した方が世界のためになるのに。」と思っていた。2回目の面接は当時の東京R&DセンターのヘッドであるMizuki McGrathさんだった。この人たちと話す機会を得られたというだけで応募した甲斐があったと思った。こちらは英語での面接だったが、聞き取れず何度も聞き返したし、時々日本語で答えた。少し経って合格の通知がきて、ものすごく驚いたのを覚えている。
インターンは本当にアメリカで、学生寮での生活は苦労した。一緒に日本からインターンをした3人のおかげで生き延びられた。お風呂のお湯が出なかったり、毛布も枕もなかったりと楽しい思い出がたくさんあるが、ここでは割愛する(今ではこんなことはないはず)。職場ではGoogle Newsのチームで働いた。
初めて経験したGoogleの環境は本当に面白くて、それまでは望むべくもなかった数万台のコンピュータを使って世界中のニュース記事を処理をして楽しんだ。入社して数日目、チーム全員のアップデートがまとめられたメールが届いた。GoogleにはOKRという3ヶ月毎にゴールを決めて取り組む仕組みがあると聞いていたので、その成果報告書だと思って読んだ。一週間後にまた同じ形式のまとめが届いて、これはSnippetと呼ばれる週報だと気づいた。3ヶ月分だとしてもいい目標と思えるような量の仕事が1週間分だったと知って、とんでもないところに来てしまったと思った。
メンター(指導係?)から与えられたプロジェクトはニュースソースに関してある傾向があるかどうか分析することだったみたいだが、アルゴリズムを作って製品に反映させないといけないと勘違いして仕事をした。インターンの終わりに「製品に反映させるところまで行かずに残念だ」と伝えたら「いや、分析だけでよかったのにアルゴリズムまでできて期待以上」と言われた。結果オーライ。ちなみにこの時に作ったアルゴリズムは後に他の社員の手でGoogle Newsの製品に組み込んでもらえた。
英語には大いに苦労させられた。メンターに「自分が英語が下手なせいで苦労をかけてごめん」と伝えたら「登るなら高い山の方が楽しい」と無理やりポジティブな返事が返ってきた。インターンでは技術的なことを含め本当に多くのことを学ばせてもらったが、自分にとっての最大の学びを1つ選ぶとすれば「QuickSortを知らなくても隣の人に聞けばいいけど、英語が分からないと何も分からない」。
インターンが終って大学の研究室に戻り、修士論文のための研究をした。インターンに行く前までは自分は博士課程に進むのだとぼんやりと考えていたが、実社会で役に立つサービスに興味があることもあり、また企業で使えるリソースの大きさを知ってしまったので、この頃Googleに就職することを真面目に考え始めた。未踏ソフトウェアに採択してもらってその予算で当時まだテスト中だったAWSでサーバーを100台借りて実験をしたりしていたが、まだ桁がいくつか違った。研究室の教授には博士課程に進んではどうかと言っていただいていたし、先生から学びたいこともまだまだあったが、就職することにした(教授にはとても良くしていただいたのに期待に添えず本当に申し訳ないと思っている)。
幸いなことに、インターンの面接での経験があるのでどんな面接なのかは分かっていた。残念なことに、知識問題を聞かれるわけではないので多少の準備でどうにかなるものでもないことも分かっていた。1週間先という面接の日程が決まってからどう時間を使うか迷ったが、データ構造とアルゴリズムの本を一通り読み直すことと、頭が働くようにおいしいものを食べてよく寝ることにした(正解だったと思う)。
いざ就職のための面接となると、インターンの時とは違って大いに緊張した。次々と聞かれる問題に頭をふりしぼって答える。やっと答えたと思っても、そこからさらに先を考えさせられる。「わかりません」と言うまで許してもらえない質問責め、そんな感覚だった。面接する立場になって考えれば当然なのだが、面接担当者にとって避けるべきなのは、候補者に簡単すぎる問題を出してしまって真の能力を測り損ねること。だから当然、質問に対して答えが返ってきたらさらに先も考えられるか試す。思い返せば、ギリギリまで力を出させるとても良い面接だったと思う。面接を終えた後、あまりの疲れで渋谷の駅の床に座り込んだのを覚えている。
英語での面接もあったが、あまり辛い思いをした記憶はない。3ヶ月のインターン経験を通じて「英語を上手に話すことが重要なのではなく、伝わることが重要」だと知っていたからかもしれない。ホワイトボードに図を書いたり聞き返したりしたことだけぼんやりと覚えている。
数週間後、リクルーターから連絡があり「まだ決まってないけど大丈夫かもしれません」という受け取りようによってはほぼ情報量のない連絡がきた。詳しく状況を教えてもらったところ、たぶん大丈夫そうということだったので大いに喜んだ。その後正式にオファーレターをもらった。
Googleの面接をパスするために何をしたらいいですかと聞かれることもあるが、多くの場合「自分が心から楽しいと思うことをやること」と答えている。自分の場合一番役に立ったのは大学時代に友人と遊んでいたオセロAIの開発やその後のCPU実験といわれる課題だ。共に、いくらでも工夫し得る機会がある問題に寝食を忘れて取り組んだ。面接に通るに当たって必要な知識や考える力はここで身についたと思う。心から楽しいと思えなかったらあんなには力を注げなかっただろうし、身につきもしなかったと思う。
就職すると報告をしたアルバイト先の上司には「おおくらくんはどうせ飽きて1年もせずに出てくるよ」と言われた。今振り返っても、楽しいと思ったことしかできない自分の性格を良く理解した上でのコメントだと思う。就職した後のことはまた別の機会に書くかもしれないが、とりあえず既に10年働いている。