サンフランシスコのとある教育系スタートアップのエンジニア採用プロセスと評価基準

> シリコンバレーでは、どのレベルがあると採用されるのでしょうか？

という質問を「[無謀なシリコンバレー居住ログ][relocation-log]」にいただいたので、今勤めている会社の採用の流れと評価基準を紹介します。私は就職活動経験に乏しいので、「これだけのレベルが必要」というのは分からないですが、「これだけあれば充分」もしくは「こういう面が評価される」という参考になればと思います。

  [relocation-log]: http://qiita.com/akiraak/items/e24877291fc433cdf782

## 参考リンク

本文に入る前に、参考リンクを載せます。

### オンラインで読めるベイエリアベースのスタートアップの採用プロセス

検索キーワード: hiring process, recruitment process

* [Buffer](https://open.buffer.com/how-we-hire/)
* [GitLab Inc](https://about.gitlab.com/handbook/hiring/)
* [私が勤めている会社（NoRedInk）](http://tech.noredink.com/post/145260396603/our-engineering-hiring-process)
* [npm, Inc.](https://docs.npmjs.com/policies/recruiting-process)

技術的スキル・人的スキル・価値観（コアバリュー）の一致、というおおまかな評価基準は共通しているようです。（そこまでおおまかに言ってしまうと、人が作る組織であれば何にでもあてはまる基準かもしれません。）採用プロセスを公開している会社、という点でサンプルが偏っているでしょうけれど。

### オンラインで読める評価基準

* [Joel on Softwareによる、面接の仕方](https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guide-to-interviewing-version-30/)
* [Mediumの面接スコアカード](https://medium.engineering/engineering-interviews-grading-rubric-8b409bec021f)
  * 10個以上の評価軸について、5段階評価の評価基準が詳しく書かれています。NoRedInkでもだいぶ参考にしています
* [npmのCTO（記事執筆時点）による、面接の仕方](http://seldo.com/weblog/2014/08/26/you_suck_at_technical_interviews)

### 参考図書

* [Who: The A Method for Hiring](https://www.amazon.com/Who-Method-Hiring-Geoff-Smart-ebook/dp/B001EL6RWY) - NoRedInkの採用プロセスはこれを下敷きにしています
  * 「[右腕採用力養成講座](https://www.google.com/search?q=右腕採用力養成講座)」が和訳のようです
* [トップグレーディング採用術][google-topgrading] - 上の本の著者の父が書いたもの
  * 「Who」との違いは私はよく分かっていませんが、読者諸氏が書評などからさらに情報を得られる糸口になればと期待して載せます

私はWhoの方だけ読みました。常にトップパフォーマー「Aプレイヤー」を採用するための手法が書かれています。

  [google-topgrading]: https://www.google.com/search?q=%E3%83%88%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E6%8E%A1%E7%94%A8%E8%A1%93

## 前提となる情報など

* NoRedInkは教育関係のスタートアップです
* リモート勤務OK（GMT-0800からGMT+0100程度まで）
* 現在エンジニアは20人ほど
* 私の経歴について:
  * アメリカで生まれ、6歳で日本に引っ越しました
  * 日本で9年程エンジニアをやってからアメリカに引っ越し、[転職活動][relocation-log]の末入社しました
  * 日本では日常的に英語の記事を読んだり英語でググったりしていました

## 採用の流れと各段階での評価基準

記事執筆時点での採用の流れになります。多少のプロセス変更はありましたが、私が面接を受けた2015年夏とほとんど変わっていません。

### 書類審査

* 必要経験などを満たしているか

### 2時間のコーディング宿題

応募者の好きなスケジュールおよびプログラミング言語で受けられます。

* 必要な機能を実装したか
* 設計、読みやすさなどのコードの質
* 宿題のREADMEに書かれているその他の条件を満たしているか

エンジニア全員で持ち回りで採点します。

### 30分のスクリーニング面接

この段階の面接は、エンジニア2-3人で回しています。ビデオチャットでやります。

* 仕事上のゴール・キャリアパス
* 仕事上得意としていること
* 仕事上苦手としていることや、したくないこと
* 過去3人の上司の名前と、その上司はあなたをどう10段階評価するか

参考図書に書かれているスクリーニング面接ほぼそのままです。

### 2時間の技術面接x3

入りたてのジュニアエンジニア以外はエンジニア全員が技術面接官として採用に関わります。最初の技術面接はビデオチャットで、残り2回は住んでいる所が近ければオフィスでやります。ヨーロッパなどからの応募者であれば全てビデオチャット上での面接になります。

どういう面接内容にするかは特にルールは決めていませんが、ほぼすべて実際のコーディングが含まれる面接になっていると思います。応募者の好きな言語やエディタで、ググるのも面接官に質問するのも自由です。ペアプロに近い形でお互い答えを知らない問題に取り組むこともあれば、「なるべく自力で解いてみてください」という形式や「何か私に新しいことを教えてください」という形式でやることもあります。

* 問題解決できるか
  * 問題を定義・理解、分解する
  * 解決策を自力で考える
* コードがかけるか
  * 考えた解決策をコードで表現する
  * 他人のコードを読んで理解する
* 経験に見合う知識の幅と深さをもっているか
  * 経験のある言語・フレームワーク・ツール・プログラミングパラダイムについての知識
  * パフォーマンスなどのトレードオフについての知識
* 新しいことを学べるか
  * 他の人・ドキュメント・コードなどから新しい概念を吸収する
  * 学んだことを実際に使う
  * コピペする前に理解することに努める
* コラボレーションスキルをもっているか
  * 自分の考えを説明する、自分がどこまで理解したかを説明する
  * 相手に伝わらなかった時にアプローチを変えて説明する
  * 主張を通すことより解決策を見つけることを優先する
  * 既存のメンバーに欠けている視点をもっている
* 基本的価値観（会社のコアバリュー）にずれがないか
  * 先生・生徒を第一に考えること
  * 仮借なく改善すること
  * お互いに面倒を見合い、相手の成長のためにできることをすること
  * つねに謙虚であること
  * 笑い・遊び心をもって仕事をすること

この時点で面接に関わった人達でミーティングをし、「この人と働きたい！」という意見が優勢でなければここでストップします。（ここまでの段階でも、「この先通らないだろう」と面接官が確信すればストップします。）

### 2時間の経歴面接

エンジニアチーム長が担当します。

過去に就いていた仕事・ポジションそれぞれについて:

* 期待されていた職務内容
* もっとも誇りに思っている業績
* その仕事で最悪だった時のこと
* 上司について: 名前、名前のつづり方、一緒に仕事をしてどうだったか、リファレンスチェックであなたの強みを聞いたらどう答えるか、改善点を聞いたらどう答えるか
* どうして辞めたか

参考図書に書かれている「Who面接」「トップグレーディング面接」ほぼそのままです。

### 1時間の社長面接

私が面接を受けた時は社長がトップグレーディング面接をやっていたので、今はどういう内容なのか把握していません。

### リファレンスチェック

応募者と仕事上関係の深かった、もしくはそれに相当する関係にあった人3名程と話をします。

私の場合、幸い英語でコミュニケーションができる方達と日本でお仕事をしたことがあったので、タイムゾーンの違いの難しさはあれど、照会先となっていただくことができました。ビデオチャットではなくメールでのやり取りでチェックを終えたケースもあったようです。

### オファー

ここまでくれば立場が逆転ですね。「ぜひ一緒に仕事をしませんか」と社長が応募者に給与などの条件を提示します。

私の時は、日時指定で社長と電話で話した後、メールで送られてきたリンクにアクセスし、PDFの契約書に電子署名することでオファーを受けました。

応募者寄りの視点からみた採用プロセスは以上のような感じです。