面白い試み | とりあえず、できるといってみよう!

面白い試み

ひょんなことから日本の非常に優秀な大学院生とやりとりすることがあり、海外志向があるようなので、あわよくばうちに入ってもらえないかな、と思って、ヌバヌバ株式会社(仮名)の偉い人にも聞いてみたのだけれど、いくつかの理由から偉い人の腰が重かったので、それでは、面接の練習だけでもしてみます?といって、電話インタビューをやってみました。それに絡めてちょっとしたまとめなどを。


大学生が直接USの企業を受けようと思った場合のビザについて


コンピュータサイエンス(や、数学や物理など)を選考している学生の場合、H1Bビザで米国に渡ることができます。最近は毎回抽選になっていて、4月に抽選をして、当たれば10月から働き始められます。もし外れると、また来年。日本に支社がある会社の場合、外れたら、日本で1年働いて、翌年の4月に社内転勤ビザ(L1ビザ)で渡米するのが最短でしょうか。

日本に開発部署があるUSの会社、というのは意外にすくなくて、Googleと、マイクロソフトディベロップメントとか。Amazonは転籍前提の採用は行ってなさそうなイメージだけど、わりと転籍する人は多かったり。今時は日系でもシリコンバレーオフィス()を持っている会社が増えていますが、いざ渡米できてもGCサポートしてくれるかが重要で、そこは事前に確認しておくと良いと思います。

日本に開発部隊がなくても、日本支社さえあれば、そこに席だけおいてL1を目指すことはできます。その場合、採用プロセスは本社と直接行うことになります。


採用プロセス

1.リクルータか社員に履歴書を送る

もし社員に知っている人がいれば、社員経由で応募しましょう。そのほうが有利になるということはあまりありませんが、社員が紹介ボーナスを貰えることが多いです。

ピッカピカの英文履歴書を送ります。が、私が過去に一回だけ受けたことのある他社の採用面接(落ちた)では、履歴書は無しでLinkedinのリンクだけで進みました。

ちなみに、リクルータには「要件を見て、いい人を探す人」と、「LinkedInなどでSpamを投げるひと」の2通りいます。GoogleとかからLinkedInでコンタクトがあって、その人の経歴が?な場合、後者です。Spamで引っかかったひとをリクルータに渡して、実際に選別します。スパマーもGoogleくらいになると正社員でかかえていて、割と給料が良いようなので、金髪美人が(略

2.電話面接をする

Skype + コーディング用のWebサービスを使って面接をします。

3.現地面接をする

現地のオフィスにいって面接をします。一日かけて、5−6人と面接です。お昼にはだいたいマネージャーとおはなしをしてマッチングを見られます。

4.だいたい3までで結果が決まるのですが、決めかねた場合には、もう一度面接や電話面接を行う場合もあります。ちなみに私が昔他社をを受けた時は、2回追加の電話面接をした挙句に「必要となる要件の不一致」という理由で(平たく言うと実力不足で)落ちました。。ま、いい経験です。


面接の中身

と、いうことで前置きが長くなりましたが、面接の中身です。 詳しくはRyuさんの「エンジニアとして世界の最前線で働く選択肢」とか読むと良いでしょう。

面接で聞くことは、履歴書の内容、コーディングテスト、それと、私の職種はSDET (Software Development Engineer in Test)なので、テストに関することを聞いたり。あとは、一般的なIT知識を聞いたり。

私の場合、(自分のコーディング力がへなちょこなので)コーディングの判断基準は、自分よりコードが書けること、が条件です。

今回は、SDE(Software Development Engineer)採用の練習なので一般的な内容として、履歴書チェックとコーディングテストの2つをやってみました。コーディングテストは、以前私が受けたときの問題をパクってます(笑)。自分が受けた時は全然駄目だ、と反省しきりでしたが、他の人にだしてみると、限られた時間だとみんなそんなにスラスラできるわけでもないことがわかります。

今回面接させてもらった学生は、流石に優秀で、英語もコーディングもなかなかのものでした。練習すればどんどん解けるようになるだろうな、という感じ。

問題を出された直後に答えを書き始めるなんてことは当然期待していなくて、質問をして、筋道を立てて、なにかしら正解に近づいていくこと、基本的なコーディングとアルゴリズムとデータ構造の知識があることを見せられること、Computational Complexity(O(logN)とかね)を理解していること、あたりでしょうか。

学生の場合は、本来はずっと単純な問題を出したりするのですが、今回はもう少し面白い問題を選んでみました。

もう少しシステムよりになると「mallocを設計してみましょう」とかになるようです(汗)
これがWeb系だったらまた違うでしょうね。



面接の結果判断


細かいところは会社によってまちまちだと思いますが、面接を行ったあと、フィードバックをマネージャーかとりまとめのリクルーターに送ります。私の場合、Strong Hire, Hire, Weak Hire, No Hire.の4種類が基本で、Hire if ... など条件をつけたり。Strong Hire は、年に1人か2人。「だれかがもしNo Hireっていったら戦うよ?俺は。」という意味合いがあります。まあ、大体の場合はみんなの意見はだいたい一致しますが。

だれしもその人の(短期とはいえ)人生に責任をもつのは気が引けるので、よければHire、微妙ならWeak Hireとなることが多いです。私の場合、「僕のWeak HireはNo Hireって意味だよ」と事前にマネージャーに言っちゃってたりします。No Hireっていうのは、リクルーターに対して「お前のスクリーニング全然なってねーよ、どういうことだよ」という意味も含んでたり含んでなかったり。(個人差)

で、評価が一目瞭然で一致している場合は、そのまま決まり、評価が割れている場合はミーティングで話し合ったりします。



最後に


もしこれからUSの会社を直接受けようという学生がいたら、履歴書、履歴書の説明、コーディングクイズは練習すると良いと思います。やりすぎると、もはやそれが本来の実力なのか、という話はおいておいて、受かるのにプラスならしない手はないでしょう。最初のビザの話に出たように、日本から人を雇うと、最悪1年以上先に来られる人を雇うことになります。一方でUSの学生は在学中のインターンでだいたい職を決めますので、いろいろハンデがあります。が、道はあります。ぜひ挑戦してみて欲しいです。渡米して合わなかったら帰ればいいので。