Twitter 社採用面接受験記

1ヶ月ほどまえに、私はシリコンバレーを訪れたのだが、そのときサンフランシスコの本社で Twitter の採用面接を受けてきた。結果は残念、ということだったのだが、その経緯について書いてみようと思う。

なぜ Twitter 社の面接を受けたのか。7月の終わりころ、私はシリコンバレーで働くにはどうすべきなのか、ということについて頭を悩ませていた。考えながらぼうっと Twitter のタイムラインを眺めていたのだが、Twitter が日本人エンジニアを求人しているという情報が飛び込んできた。おお〜、と思って軽い気持ちで職務経歴書を Twitter に送ってみたのだ。

相当数の人たちが職務経歴書を送ったはずだし、私は書類選考で落とされると高をくくっていた。ところが、数日してTwitter の人事担当者からメールがあり、電話面接をやるからいつがいいか?という。まさかの展開に私はやや慌てた。電話面接をギリギリ先延ばしにして、それまで対策を練ることにした。

私は、日系米国人の@hkmurakamiさんに相談をした。聞くと、シリコンバレー式のエンジニア面接は、日本とは違って、一線で働く技術者たちが入れ替わり立ち代わり現れ、鋭い技術的な質問を矢のように浴びせかけてくるので、準備が必要とのことだった。彼は親切にも Quora で働く @chibicode さんを紹介してくれた。彼は、経験豊富な面接官で、私に的確なアドバイスをくれた。その整理された話し振りに本当に頭がいい人なんだなと感動した。

彼はシリコンバレー式技術面接対策として2冊の本を紹介してくれた。どちらも非常に良い本だった。

Cracking the Coding Interview: 150 Programming InterviewQuestions and Solutions

Cracking the Coding Interview: 150 Programming InterviewQuestions and Solutions

前半と後半に分かれていて、前半には、そもそもシリコンバレー式の技術面接とはなにか書いてある。どういう内容の面接が行われるか、どういう準備をすべきか。Google や Apple など米国西海岸の実際の面接風景も描写されていて興味深い。後半は、技術面接で出題される典型的な問題と解説が記述されている。データ構造やアルゴリズムに関する出題が多い。実際よく売れた本らしいけれども、シリコンバレーの技術系企業に応募しようというソフトウェアエンジニアには必携ではないだろうか。

プログラミングコンテストチャレンジブック

プログラミングコンテストチャレンジブック

「プログラミングコンテスト」と題は打たれているが、むしろアルゴリズムに関して深く学習する本と考えた方がいい。コンピューターサイエンスを専攻する人たちには、ひょっとしたら常識的な内容なのかもしれないが、私のように大学で専門的にアルゴリズムを勉強したことのない人間には大いに参考になった。とりあえず C++ の基礎知識があれば、読み進めることはできるが、しょっぱなから内容はかなり高度。数人の著者は執筆当時、現役の東大の学生たちで、プログラミングコンテストの上位常連だったようだ。そのうちの一人はいまは Google で働いているとかいう噂。

上記2冊を光速で注文し、勉強を開始した。しばらくバリバリのプログラミングから遠ざかっていたので、かなりしんどかったが何とか読み進めて行った。上の "Cracking the Coding Interview" のほうは、前半の概論部分が、米国人の面接に対する考え方が色濃く現れていて興味深かった。いかに日本とは違うかを痛切した。シリコンバレーで実際に働いてみるつもりがなくても、一読してみると面白いかもしれない…。

そうこうしているうちに1回目の電話面接。めちゃくちゃ緊張したけれども、意外なことに電話口の向こうから聞こえて来たのは日本語。計2回の電話面接を受けたのだがどちらも日本人の面接官だった。Twitter では現在数人の日本人が技術者として働いているのだ。2人とも本当に優秀そうな方々だった。相手は日本人とはいえ、面接のスタイルは完全にシリコンバレー式。「どうして Twitter に応募したのですか?」などというありがちな質問はそこそこで終わり、あとは数十分、ひたすら技術的な問題を浴びせかけられた(一人の面接に 30-40分をかけるのだ)。

私の感触では1回目の面接はまあまあだったものの、2回目の面接がうまく答えられず落ち込んだ。もうダメだろうなと思った。だが、@hkmurakamiさんに「米国では何事も前向きにガンガン進んでいくのだ」とハッパをかけられ、私は「サンフランシスコ本社で面接を受けさせてほしい。そうしたらもっとうまくやれるから」と人事担当者にメールを送った。その気持ちが通じたのか、私は本社で面接を受けることになった!ラッキー!

実をいうと今回、私がシリコンバレーに行ったのは、Twitter とは直接関係がない。私は、シリコンバレーでの就職をもくろんで、とりあえずどういう仕事がありうるのか市場調査で行くつもりにすぎなかった。だから航空券も Twitter の件とはまったく独立して購入していた。たまたま、私がシリコンバレーに滞在するのと同じタイミングで Twitter の本社で面接を受けられたのは運がよかった。

私は9月1日午前と9月6日午後の2回にわけて、サンフランシスコにある Twitter 本社で面接を受けた。シリコンバレーの中心地 Mountain View のホテルから30マイルほど車を走らせて、Twitter 本社まで出かけて行ったのだが…。あのオフィスの美しさといったら!こんなオフィスがこの世にあるものなのか、と感動した。入り口を行ってすぐのところに大きなカフェテリアがあるのだが、その空間の使い方がじつに上手だと思った。日本風に言えば社員食堂なのだが、オシャレでオフィスの一部として見事に溶け込んでいるのだ。全体がシックな感じで、カフェのようなオフィスか、オフィスのようなカフェみたいだった。

20110901095233
(Twitter のロビーの有名なインテリア。緊張しながら撮った数少ない写真の一枚)

最初の面接官は、エンジニアなのにたいへんな美人で最初は人事の人かと勘違いした。米国ではエンジニアはむさ苦しい男がやるもの、という日本的な常識は通用しないんだと内心苦笑いした。彼女は開口一番「コーヒー欲しい?」と私に尋ねた。飲みたいと答えると、彼女はコーヒーポットのところまで連れて行ってくれて、私は自分でコーヒーをマグに注いだ。そういう些細な点までなんとまあ日本の面接とは違うものだと感心した。

私は合計8人(!)の面接官と本社で会った。シリコンバレー式の面接では、面接官は一度に一人しか出てこない。そして、30-40分の間、難しい技術的問題で候補者をギリギリに締め上げるのである。ある問題が提示され、それを解決する疑似コードをホワイトボードに書かせることが多かった。問題は、データ構造とアルゴリズムに関するものが大半だが、一見して理論的でも、かれら第一線のエンジニアたちが日頃格闘している現実の問題と関連していて、良問が多かったように感じる。さすが Twitter のエンジニアはスマートだと感心した。こういう問題をすらすら解けるような候補者なら、たしかに彼らエンジニアたちも安心して一緒に働けるだろう。

ほとんどの面接官は非日本人(英語を話していても国籍はどこだかわからないのでこういう言い方にしておく)たちだった。英語話者はこういうとき意外と儀礼的でやさしい話し方をするので、面接官たちの物腰は柔らかく楽しかった(内心何を考えているかはわからないが)。むしろ日本人面接官のほうが非常に厳しくて、私は思わず泣きそうになった。私は人生で無数の採用面接を受けて来たが、ここまで追いつめられたのは生まれてはじめてだった。いまはいい思い出だが…(遠い目)。

本社での第2回目の面接があまりうまく行かなかったので、たぶん採用されるのは難しいだろうと考えていたが、案の定、面接を受けて10日くらいして「採用見送り」の連絡があった。とはいえ、内心ほっとしたのも正直なところ。Twitter の素晴らしいエンジニアたちと話をして、とても私には彼らの仕事はできないと感じていたからだ。能力的な面は努力次第ではなんとかなるかもしれないが、徹底的に技術を指向していく部分が私とは合わない気がした。私はいままで、小さい会社のプロトタイプ的な作品を手がけることが多かった。そこでは素早く形を作って動かすことが重要で、スケーラビリティやセキュリティは二の次でもよかった。だが、いまや1億人のユーザーを抱える Twitter にとって、一番重要なのはまさにスケーラビリティとセキュリティに対する配慮だろう。この部分にきちんと考えが至らない技術者は、Twitter で働くのはふさわしくない。けれども、私にとってそれはあまり関心のない分野と言えた。だから Twitter は正しい判断を下したと思う。(「酸っぱいブドウ(sour grapes)」の寓話のような、負け惜しみ部分がまったくないかといえば嘘になるのかもしれないが…)

今回、ベイエリアの有名企業に応募して感銘を受けたのは、技術者採用の丁寧さだ。私は合計10人のエンジニアと計5時間以上話をした。彼らは、あらゆる角度から技術的な質問を投げかけて来た。これだけきちんと候補者を見れば、変な人間を採用してしまうことは少ないのではないか(それでもゼロではないのかもしれないが)。それを考えると日本の技術者採用はなんとまあいい加減だろうと思った。応募してきた人の履歴書を斜め読みして、その後、人事担当が2-3回会って決まり。技術的な問題を解かせることもなければ、そもそも現場で働いている技術者が面接に出てくることもない。人事の人間に現場の何がわかるのか?候補者にしろ、それを受けいれる職場の人たちにしろ、お互いに顔を合わせず、相性的部分も見ることなく、採用が決まってしまうのは不幸なことじゃないだろうか。なぜ日本の IT 企業はシリコンバレー企業の真似をしないのだろうか?

当たり前の話だが、年齢についての話題が一切なかったのは笑えた。私はいま41歳で、日本だとほとんど正社員採用の口はない。年齢で切られてしまうのだ。ところが米国ではそもそも履歴書に年齢を書くことはないし、面接でも年齢を尋ねるのが禁止されている。そもそも法律で禁じられていなくても、文化的に彼らは年齢を気にすることが日本よりずっと少ない。仕事に関連する能力によってのみ、採用の可否が決まるべきという思想が徹底されている。そんな米国流のやり方を非常にすがすがしく感じた。

シリコンバレー式面接は手間がかかる。一線で働いている超忙しい技術者を現場から引っこ抜いて来て、どこの馬の骨ともしらない候補者のために貴重な時間を裂かせるのだ。私の面接のために、彼らの時間が少なくとも5時間以上使われているわけで、その人件費たるや数百ドルに相当するだろう。このように本社面接にはコストが掛かるので、彼らとしてもそれほど多くの候補者たちを招くことはないだろう。今回私が Twitter 本社まで行けたのは名誉なことだ。私は今回の面接を通じていろんなことを学んだ。Twitter 社に深く感謝したい。

私はたまたま技術指向な人間ではなかったので、Twitter との相性はよくなかったが、逆に、技術が好きで好きでたまらないという人たちにとって、シリコンバレーは天国かもしれない。日本では一部ソーシャルゲーム関係をのぞけば、大規模なユーザーベースを持っている会社は多くないので、技術指向の人たちこそ、シリコンバレーを目指すべきじゃないだろうか。技術者にそれほど高度な英語力は要らない。必要最低限の英語力、確かな技術力、そしてほんの少しの勇気があなたに必要なすべてだ。特に若い日本の人たちにはどんどんシリコンバレーに挑戦して欲しいと思う。私にできたのだから、あなたにもきっとできます!一緒にがんばりましょう!

(ご感想を Twitter までお寄せください→@elm200。Twitter の採用面接を受けたという話を、Twitter で話すのはなんだか不思議な感じですがw)