私のGoogleインターンシップ体験記

Noogler Hat
Noogler(Googleの新入社員のこと)キャップ

私のGoogleでのインターンシップは2年後。今から1年。あと6ヶ月。1ヶ月後。来週の月曜日。明日。第1週目に突入。ちょうど1ヶ月目。中間点が終わったところ。来週の木曜が最終日。そして今日が最後の日。私はこの夏、Googleで3ヶ月間、インターンをしました。

ふう。時間が経つのは速いですね。怖いものです。でも、私は満足しています。私のロンドンにおけるGoogleでのエンジニアリングインターンシップは不可能から可能に、遠い現実から近い現実に、そして現実となり、今では過去のものとなりました。私は夏の3ヶ月の間に、一生涯分と言えるほどの経験をしました。この投稿では、それらを思い出しながら、まとめていきたいと思います。

注意:以下に記載された意見は、全て私自身の意見です。

はじめに

まずは事の始まりから。私はどのようにしてGoogleにたどり着いたのでしょうか。恐らくは、これが最も困難な部分でしょう。聞くところによると、Googleでは毎年約300万の申請を受けるといいます。しかし、夢の機会のオファーを受け取るのは、そのうちのわずか0.5%前後に過ぎません。

では、私はどうやってその0.5%になったのでしょうか。私の場合は少し特殊であり、大抵の人は私のGoogleに関する話を聞くと驚きます。実際のところ、私は自分でGoogleに申請をしたわけではなく、今考えても驚くべきことですが、高校生の時に勧誘されたのです。2年前のある朝、高校の最終学年だった17歳の私はサンドイッチを食べつつ、人生のより根源的な問題について(猫のビデオを見ながら)考えていました。その時、ダブリンにあるGoogleの人材採用担当者からメールを受け取りました。

Email
*注釈:Peter様

私はGoogleのエンジニアリング採用チームのxxxxといいます。

Linkedinであなたのプロフィールを見つけ、興味深いブログやGithubの内容について拝見させていただきました。

まずは、若くして、コンピュータの分野であなたが成し遂げた数々の成果、そしてコンピュータ科学に対するあなたの情熱に祝辞を述べたいと思います。

今回メールさせていただいたのは、あなたが最近取り組んでいるプロジェクトについて、とても興味を持ったからです。

ぜひご連絡いただければと思います。

素晴らしい一週間をお過ごしください。*

オーストリアの山奥にいた高校生の私が、 “Google Engineering Horizons(Googleエンジニアリングの展望)” という件名のメールを受け取ったのです。まるでディズニーの物語ですよ。

メールを受け取った後、私は大学入学前の夏の間、アルゴリズムやデータ構造、その他、その後の大学の数年間で正式に学ぶような内容の数々について学習しました。コーセラ(プリンストンのAlgorithms IおよびII)やMITのオープンコースウェア(学部と大学院レベル)でアルゴリズムやデータ構造に関する複数のコースを受講し、それに加えて3~4ヶ月にわたり朝から晩まで毎日面接の練習もしました。そして11月に電話による3回の面接を受け、見事合格したのです。

Googleインターンシップの面接を通過すると、 “host matching pool(ホストマッチングプール)” に登録されます。この段階で、プロジェクトを念頭に置いているエンジニアやマネージャーは、このプールから候補者を選んで、彼らのプロジェクトに候補者が適しているかどうかを評価します。このプロセスには約1週間、あるいは私の場合のように3ヶ月以上かかることもあります。時と場合によりますが、私に関しては難航しました。なぜなら私はその時点で大学に入学してわずか2ヶ月目であり、働いた経験もほとんどなかったからです(実際、まだ何の単位も取っていない時期でした)。Googleの2つのチーム(ミュンヘンのC言語とストックホルムのWebRTC)の面接を受け、その後、3番目に面接したロンドンのgTechチームからオファーを受けて、そこで3ヶ月を過ごすことに決まりました。ちなみに前者の2チームが選んだのは、より経験のある候補者でした。

最終的にオファーを受け、それを了承したのは2月中旬です。とにもかくにも、(やっと)プロジェクトが見つかったと安堵したものです。そして、世界で最も名高いソフトウェア会社でインターンを経験できることに興奮せずにはいられませんでした。

1~2週目:Googleに到着

私のインターンシップ期間は8月22日から11月18日まででした。これは、それ自体、私のインターンシップの大きな特異点の1つと言えます。ほとんどの夏のワークプレースメントは、6月中旬または7月初旬に始まり、9月初旬または下旬に終わります。なぜならこの期間は、世界中の大半の人々が夏休みを取る時期だからです(通常3ヶ月)。残念なことに、ドイツの大学では8月中旬まで試験があるため、夏休みは2ヶ月しかありません。このことが、グローバルなハイテク企業にインターンを希望するドイツの学生を混乱に導きます。たとえ、(私のように)8月中にスタートできたとしても、到着するのは全てのインターン研修が終わった後で、評判となっているGoogle主催の研修の多くを逃すことになるからです。

とにかく、私は8月22日の月曜日、就任式のため、ロンドンに4箇所あるGoogleのオフィスのうちの1つに到着しました。就任式は基本的に午前および午後に分けて行われるGoogle生活入門のようなもので、私や他の新しい従業員(私同様、遅れて開始したインターン1人を含む)は、法的およびセキュリティ上の事項についての説明、書類の案内(現場でバークレイズの担当者による説明の下、個人口座を開設することもできます)、Googleで働くことについてのエキサイティングなメリット(主にフルタイム従業員が対象)、そして守秘義務などについて説明を受けました。式が終わると私は晴れて “Noogler” となり、チームで私の隣に座る、彼自身もインターンであるエンジニアの先輩に迎えられ、Googleが掲げるGoogliness(グーグリネス)へと至る険しい道に足を踏み入れたのです。

2日目は自分のデスクに案内され、マネージャーを含め、私が属するチームを紹介されました。私はその先数ヵ月の生活に興奮してはいましたが、同時に、私が取り組むプロジェクトが自分の経験や専門知識とは正反対のものであるため、あからさまに不安でもありました。これは後で知ったことですが、大半ではないにせよ、非常に多くのインターンに関しては、自分の得意分野とプロジェクトが必ずしもマッチしているとは限らないようです。私は、Googleにおいて最も不可欠なスキルの1つが、柔軟で進取の気性に富み、CS(アルゴリズム/エンジニアリング)の強力な基盤を持つことだと気付きました。そうでなければ、Googleに存在する様々なチームのカラーにフィットできません。私のインターンシップの最初の2週間はこのように、学習、学習、学習の連続でした。オンラインコースをこなし、本を読み、質問をして、私の周囲や階上、階下にいる人々、あるいは世界中のGoogleオフィスに勤める人々が、それぞれ適材適所に配置されているという事実を最大限に活用しようとしました。

Droid
Googleのドロイド君

3~6週目:環境への適応

最初の2週間が過ぎ、プロジェクトに必要な基本技術の習得やワークフローのセットアップが完了し、分からないことがある時は、誰に何を質問すればいいのかというのも把握しました。これで実際にプロジェクトに着手できるようになり、いくつかのプロトタイプを作りました。

その頃までには、私はGoogleの泡の中にどっぷりと浸かっていました。私がこれを書いている時点で、Googleは、マウンテンビューからニューヨーク、ロンドンからストックホルム、ハイファ、デリーからシンガポール、そしてシドニーの至るまで、世界40ヶ国以上に70のオフィスを持ち、6万人以上の従業員を抱えています。従業員に関して言えば、Googleの “人口” は、私が育った都市の2倍です。私がGoogleを巨大な、分散都市と比較するのは、この理由によります。そして、私が育った都市に豊かな文化(リンクのクリックはあまりお薦めしません)があるように、Googleにも豊かで強力な企業文化があります。Googleでは地域に限定された人々ではなく、世界中の人々がこの文化を共有しており、それが普通の都市との違いと言えるでしょう。Googleの従業員に結び付きの強い言葉と言えば、 “Googliness” そして “Googley” が挙げられます。Googlinessとは、文脈に応じて多くの意味を持ちますが、基本的には次のようなGoogleのモットーを意味しています。それは “悪であってはいけない” です。

このシンプルな信頼のメッセージこそ、Googleの多くのメリットと社員特典の基本です。例えば、ワークステーション、ノートパソコン、モニタ、携帯電話、そしてGoogle商品を販売する社内店舗があります。この店舗と通常の店舗の違いは、この店舗の商品のほとんど全てが無料だということです。また、毎日の朝食、昼食、夕食もフリーですし、あなたが反ダイエットを標榜している場合、それぞれの食事の間に取る2回目の朝食や2回目の昼食にもお金はかかりません。これらは無料ですが、それはあなたが “Googley” である限りにおいてであり、必要がなければ1万ドルのワークステーションは購入しない、仕事ではなく家に持ち帰るために新しいMacBookを購入しない、あるいは毎日友人を呼んで、無料で昼食をご馳走しないというような考えに基づいています。メリットを乱用しないことに加えて、Googlinessは協調性や一体性、多様性を表しています。毎週金曜に開かれるピザと音楽のパーティー、TGIF(Thank Google it’s Friday(Google、今日は金曜日だ))にみんなと一緒に参加するのはGoogleyだし、例えばトイレにおけるジェンダーバイナリーに対する抗議(シドニーのGoogleでは、男性/女性用に分けられたトイレを廃止し、全ての男性、女性、ドロイド君に対して1種類のトイレのみとなりました)など、多様性と一体性のために立ち上がるのもGoogleyです。Googleがうまくやっていることを1つ挙げるとすれば、この強力で、わずかに神秘的でさえある精神を維持し続けていることでしょう。これによって、分散した都市をより緊密に保っていると言えると思います。

話を再び私のインターンシップに戻しましょう。インターンの前半期間はプロジェクトに取り組み続け、実際には予定の半分の時間でそのほとんどを仕上げてしまいました。これで時間の余裕ができたため、後半の期間では2つのサイドプロジェクトに取り組むことにしました。1つはGoogle公式のGitHub組織の下で私のサイドプロジェクトの1つをオープンソース化することであり、もう1つは関連エンジニアリングチームによるAlloの自然言語処理エンジンを使ってGo言語でチャットボットに取り組むことです。

Belgrave Park

ありがたいことに3~6週目を通じて、より多くの技術を学び、Googleが持つエンジニアリングインフラストラクチャの大部分について調べることができました。この期間に私が非常に多くのこと、具体的には5つのプログラミング言語と15の技術(AngularJs、AppEngine、Protobufなど)を学べた理由の1つが、Googleの巨大な内部ドキュメンテーションとチュートリアルのデータベースです。PythonからGoogleのデータセンターインフラストラクチャまで、学びたいと思うことは何でも内部に資料があり、一部のチュートリアルコードを使えば、セットアップの手順や、0から99までの知識を可能な限り短い時間で獲得することができます。私のように、何もない状態から高い生産性を身に付ける必要がある人にとっては、これはかなり貴重なリソースと言えるでしょう。

新技術の習得に次いで私がGoogleで注力したのは、 “人に対するハウツー” を効果的に学ぶことです。DeepMindやAndroid、ChromeのようなGoogleのエキサイティングな領域で働く非常に魅力的な多くの人たちと会う機会を得て、親しい友人になったり、興味深い会話を交わしたりすることができました。先輩のチームメイトが積極的に人と関わるよう勧めてくれたことには大いに感謝しています。Googleは他の企業と比較してとても特殊であり多くの面で異なっていますが、それでも他の企業と同じように、人と接点を持つ価値はGoogleでも依然として極めて高いと言えるでしょう。

6~8週目:中間点

Googleのインターンシップは私のように通常は3ヶ月間ですが、最長で6ヶ月まで延長することもできます。インターンシップの途中には中間評価が行われます。これは、インターンとそのホスト(マネージャー/チームリーダー)が、それまでのインターンの成果を評価し、後半の目標を定めるというものです。私のフィードバックは幸いにも非常に良好だったので( “期待を超える” )、いい状態で後半を迎えることができました。

中間評価で指摘されたマイナスポイントの1つは、私の仕事と生活のバランスの悪さです。その頃までには、私は、極端とも言えるGoogleでの生活が完全に板についてきていました。Googleには(少なくともエンジニアリングの組織には)勤務時間がありません。典型的な8時間、もっと言えば、自分の仕事を時間どおりこなせる限りは、いつ出社していつ退社しても構いません。ほとんどの従業員にとって、これは午前9時から11時の間に出社し(朝食は午前10時に終了)、午後5時から8時の間に退社(夕食は午後6時30分から)することを意味しています。一方、私のスケジュールは少し他の人と異なっていました。出社は午前9時から10時ですが、退社は夜の12時から2時の間です。これは数字の書き間違いではありません。オフィスに住んでいるのか、と同僚に言われるくらい多くの時間をオフィスで過ごしていたのです。

もちろん、14~16時間をフルに働いていたわけではありません。通常は約8~10時間を自分のプロジェクトに充てていました。その他の時間には、個人的なプロジェクトに取り組んだりもしましたし、面接の準備をしたり、読書をしたりして過ごしたりもしました。つまり、帰宅する代わりに、そのままオフィスで時間を過ごしたという感じです。これにはいくつかの理由があります。私のアパートはオフィスから45分程度の距離があり、Wifiの環境が劣悪で、何かと苛立つ3人のルームメイトがおり、飲み食いをする時には自腹で購入しなければなりません。つまり、Googleのオフィスと比較すると、家に帰る理由がほとんどなかったのです。だから、私は当たり前の時間に退社するようなことはしませんでした。

Googleのオフィスがどんなものか、どうして私がそこでたくさんの時間を過ごしたかについて、もう少し詳しく説明しましょう。Googleのオフィスは、5つ星ホテルの中に遊技場が設置された感じだと思っていただけばいいと思います。無料の食べ物、炭酸飲料、コーヒーやジムなどがあり、奇妙で楽しいチルアウトエリアでは寝転がりながらノートパソコンでプロジェクトに取り組むこともできます。私が滞在したオフィスには宇宙船がテーマのエリアがあり、その中には “the cog(Charles E. Fritchによる書籍の題名)” と呼ばれる部屋もありました。

The Cog

日中、この部屋には仕事をする人、昼寝をする人、考えごとをする人などが訪れていましたが、大抵は私が一番乗りでした。

中間点が終わりインターンシップの後半期間に入ると、私は他のチームに移り、フルタイムのエンジニアと一緒にチャットボットに取り組みました。というのも、私のメインプロジェクトはほぼ終わっていたからです。

8~11週目:有益な存在に

インターンシップの最後の1ヶ月も同じような感じでした。Googleの優れた環境にどんどん慣れていき、以前よりももっとオフィスで時間を過ごすようになりました。3つのプロジェクトを並行して作業し、晩には面接の練習をするといった具合です。その時の私はできるだけ選択肢を広げるため、次の夏に向けてFacebookやMicrosoft、その他の企業の面接を受けていました。

同じ頃、私はロンドンにあるGoogleの他のオフィスにも訪れました。現在はBelgrave( “Bel” )、123 Buckingham Palace Road( “123” )、Central Saint Giles( “CSG” )、King’s Cross at 6 St. Pancras Square( “6PS” )と、4つの独立したオフィスがあります。

私が働いていたBelgraveは、11月に入るまではロンドンの主要なエンジニアリングオフィスでしたが、11月の初めにBelgraveの全エンジニアリングチームは、営業(Google for Work)チームと一部の(私が所属していた)営業/エンジニアリング混合チームを後に残して6PSに引っ越しました。6PSは今やロンドン最大のGoogleオフィスであり、将来的には、ロンドンに位置するGoogleの全てが集約されることになると思います。巨大で洗練されたオフィスであり、最上階からはロンドンの素晴らしい景色が見渡せます。また、このオフィスにはGoogle DeepMind、AlphabetのAIチームも駐在しています。私は個人的に機械学習に取り組んでおり、DeepMindとは少なからず交流があるため、そのスタッフに会いに何度か出向いたことがあります。

6PS
6PSからの眺め

CSGは営業のオフィスであり、かつGoogleのロンドンオフィスの中でも最も奇妙なオフィスと言えるでしょう。クールなハングアウトエリアがたくさんあり、またロンドンでは唯一(少なくとも私が見た範囲では)、男性の従業員よりも女性の従業員の締める割合が高いオフィスです。

CSG Library

CSG Hangout
https://www.dezeen.com/2012/07/30/google-super-hq-by-penson/

12週目:最終段階

私の願いに反して、最終週はやってきました。インターンの期間で最もばたつく期間かと思われましたが、実際には最もリラックスできた1週間でした。ほとんどの仕事は終わっているか、最終の(コード)レビューに回っていたため、ありがたいことに、それまでの週と比較すると、仕事は格段に少なかったのです。

最後に残った仕事はプレゼンテーションでした。このプレゼンで、3ヶ月間におよぶインターンシップの成果をチームに見せなければなりません。ただし、このプレゼンは私が所属したロンドンオフィスのチームの8名だけを前にして行うものではなく、全ヨーロッパの組織(約50人)とディレクター(GoogleのCEO、SVP、VPに次いで4番目のポジション)を前に発表するものです。かなり重要なイベントと言えるでしょう。私はPowerPointの代わりに主にLaTeXを使用したため、プレゼンに約3日を費やしました(普通なら、その10分の1の時間で済むはず)。残念ながらそのスライドには機密情報が含まれているため、ここでお見せすることはできませんが、プレゼン自体はとてもうまくいきました。自分の制作物が、いい印象を与えられたことについては非常に満足しています

Googleでの最後の数日間は、そこでできた友人に別れを告げたり、3ヶ月の間一度も受けたことがなかった1時間無料のマッサージを受けたり、愛する快適なオフィスで残りの時間を過ごしたりしました。一方ではレビュアーと最後のミーティングをし、フィードバックについて話し合いました。柔軟性と技術的能力、そしてチームの戦力となれたことに対して、全体的に優れたフィードバックを得られたことには非常に満足しています。また、幸いにもいくつかの点で改善点を指摘してもらうこともできました(個人的にはこれらの改善点の方により興味があります)。例えばマネージャーが挙げたのは、もう少し質問をすべきだったという点です。これはある程度仕方がない面もあります。当初の私は、全ての知識があることを期待されていると思い込み、質問することに二の足を踏んでいたからです。インターンの最後の方になると、この問題は徐々に改善していったと思いますが、それでも取り組むべき課題を意識させてくれるものとして、このアドバイスには非常に感謝しています。往々にして、最もスマートで最も上席にいる人ほど愚かな質問をする、とマネージャーは言いましたが、この言葉は、今になってより共感を覚えます。レビュアーから指摘されたもう1つの問題点は、仕事と生活のバランスの悪さが持続していたことです。これはインターンシップの成果に関してというよりも、個人的なアドバイスに近いものと言えるでしょう。それについても改善に向けて努力することを約束しました。

以上です。私のインターンシップは終わりました。チームとGoogleでの生活に別れを告げるのは非常に悲しいですが、最後に非常によい評価を頂けたことについては満足しています。朝早くから夜遅くまでの労働が報われましたし、それが将来的にGoogleにおいて、より多くの門戸を開く鍵になればと思います。最終日にはチームのみんながお別れのケーキと素敵な贈り物を用意してくれました。例えば、以下のようなジャガイモです。

Potato

終わりに

さて、これから何が起こるでしょうか。今、これを書いている時点でそれを知るのは時期尚早でしょう。私のインターンシップのフィードバックは人事部によって処理され、私が技術的能力をどれくらい十分に発揮できたか、Googleの文化にどれくらいうまく溶け込めたか、どの程度のインパクトを残せたかという点が評価されているはずです。最後のインパクトは、Googleのインターン生にとって最重要課題です。あなたのプロジェクトがどれだけ素晴らしくても、誰にも使われないようであれば、Googleに対するインパクトは低く、あなたの評価もそれだけ下がるでしょう。課題は、チーム全体とGoogle全体にとって価値のあるものを構築することです。その点に関して、レビュアーが私のことをどう評価したか、来年の夏もGoogleに戻るチャンスが与えられるのかについて、私は非常に興味を持っています。いずれにせよ、来年の夏になるまでの間は、ロンドンでBloombergの研究開発部でインターンを開始し、Facebookの面接を受け、12秒ごとにメールの更新ボタンを押しながらGoogleの採用担当者から来る連絡を待つことにしようと思います。

次に何が起こるとしても、私はこの3ヶ月間において、人生で最もエキサイティングな経験をさせてくれたGoogleの皆さんに感謝の言葉を述べたいと思います。また近いうちにお会いしましょう。