私はこうやってGoogleに入った (ソフトウェアエンジニア、中途採用編)

(人にお願いするだけじゃなくて自分も貢献しろよということで昔話を書いてみました。kazawaフォーマットに従っています。)

学生時代

大学は、東大の計数工学科の計測コースというところでした。プログラミングは、課題をやったり卒論を書いたりするのにCを、バージョン管理には助手さんに教えてもらったRCS(CVSの前身?)を使っていました。みんなと一緒に修士まで行きましたが、研究者になるようなタイプでなかったので博士には進みませんでした。大学(特に計数工学科)で学んだことは今でもいろいろと役立っているなぁと思って感謝してますが、当時Googleを受けていたら120%落ちていたと思います 🙂

前職

ソニーに新卒で入社して、2000年から2007年までの8年間働いていました。前半は研究所(しかし論文とかは書かない)、後半はテレビ事業部にいました。

プログラミングの経験

いわゆる(当時の)標準的な開発スタイルというのはソニーで学びました。言語はC++、もちろんunit testとかも書きました。(そういえば、当時はUMLやデザインパターンをよく使っていましたが、これはGoogleでは全く見かけないものの一つですね。)

Googleの入社に関して役立ったと思うのは、テレビ事業部での数年間です。テレビは組み込み系の開発だったので、下回りのことを気にしないといけないことがあって、コンパイルしたあとの効率がどれくらいなのかをアセンブラ読んで確認したりしていたり、事情があって、Linkers & Loadersを読んだりもしました。パタヘネ本を読んだりもして、コンピュータサイエンスを専攻していたら学んでいただろうことを仕事を通して学んだ感じです。アセンブラといえば、CELLで開発をする機会が数ヶ月だけあったので、あの謎アーキテクチャ上のコードを書いたりもしました。

英語

英語は受験勉強で身につけたので、会話をする機会は全然なく、初めて実際に英語を使ったのは卒業旅行でイタリアに行ったときでした。意外と通じるんだなと感心しました。ソニーの入社直後に受けたTOEICは700点台後半くらいでした。

その後、ソニーで仕事をする中で英語を使う機会に恵まれて、英語でメールを書いたり、それなりに会話ができるようになりました。入社数年して異動した小さな研究所が日本人と外国人のミックスで、英語をたくさん使ったのがためになりました。TOEICは975(?)くらいまで上がったと思います。

面接の準備

ソニーのテレビ時代の同僚がGoogle Japanに受かったので、オフィス見学をさせてもらったら、流れで面接を受けることになりました。面接まで1ヶ月くらい時間があったので、なにか準備をしなくてはと思って何冊か本を買いました。「珠玉のプログラミング」と、データ構造とアルゴリズムの本(名前を忘れてしまったのですが上下に分かれていた)を買いました。結局どちらも途中までしか読めませんでした。あと、どんなことを聞かれるかわかっていなかったので、パタヘネを読み返してみたり、TCP/IP入門みたいな本を読んでみたりしました(特に役に立たず)。

面接中

当時は、電話面接のあとに、オフィスでのインタビューが2回という形式でした。今後の勉強のためにも、オフィスでの面接をぜひ経験してみたかったので、電話面接を通ったときはうれしかったです。

面接自体は、かなりしょぼしょぼな感じだったはずで、よく通ったなと正直思います。バケットソートを知らなくて、面接中にヒントをもらって “思いついて”、へーこんな方法があるんだ、と感心したり、bigramとtri-gramが出てくる問題で、bigramってなんですか?って聞いたりしたのを憶えています。

ちなみに、6回のインタビューのうち2つが英語インタビューでした(入社後ふたりとも日本語が話せる人だというのを知りましたが面接中は隠されていた)。

面接後

上にも書いたとおり、あまり受かる気がしてなかったので、オファーが出たときはちょっとびっくりしました。所属チームを決めるためのアンケートみたいなのに、得意分野として、大規模データ処理、自然言語処理、とかが並んでいて、選べる項目が一つもないよ!と思ったりしました。

ちなみに、ソニーのときの給料がちょうど1000万円くらいで、Googleのオファーもほぼ同じでした。給料減らないからまぁいいか、と思ったのを憶えています。

おしまい。

コメントを残す