HireRoot

ここからはじまる、エンジニア採用

失敗しないエンジニア採用その⑧:Facebook選考事例(海外編)

こんにちは。株式会社ハイヤールー代表の葛岡(@kkosukeee)です。毎週、失敗しないエンジニア採用についてオウンドメディアに記事を投稿しています。第八弾は優秀なエンジニアを採用する際に欠かせない選考手法の海外事例を、筆者の体験に基づき社内ノウハウ集よりご紹介します。

本記事ではテックジャイアントであるFacebook(現在はMetaですが、選考を受けた時点ではFacebookだったため、本記事ではFacebookで統一します)の選考事例について、筆者の2019年の体験談をもとにご紹介します。前記事で紹介したGoogleと本質的には似ていますが、いくつかユニークなところもあり、採用プロセスを見直している企業様の参考になれば幸いです。

エンジニア採用に関わる人事の方、これからエンジニア組織を作っていく経営者の方などに参考となる記事になっていますので是非ご一読下さい。

(これまでの記事はコチラ👇)

Facebookの採用プロセス

Facebookのおけるエンジニア採用
ビッグテックの一画であるFacebook(現Meta)

Facebookのエンジニア採用における選考は構造化面接を徹底しています。基本的な流れは前回のGoogleの選考(前回の記事はこちら)と似ている箇所が多いですが、いくつかFacebook固有のものがあります。基本的に選考方法などの情報は全てオフィシャルサイトにて開示されています。ここでは筆者の体験を元に、Facebookのエンジニア採用における選考を候補者目線でご紹介いたします。

(以下ノウハウ集抜粋)

応募プロセス

リクルーティングサイト、またはLinkedInなどを経由してFacebookの面接官などと直接繋がり、履歴書等を共有し、選考に乗せてもらうまでのプロセス。リクルーティングサイトから直接応募することはお勧めしない。Facebook社内に知り合いがいる場合はリファラル、いない場合はLinkedIn等を駆使し、リクルーターに直接連絡をするのが一般的。

Recruiter Interview

リクルーターとポジションやApplyしているオフィスに関しての説明を受ける(どんなプロジェクトが動いてるかなど)。その後どのような選考フローか、他に受けてるところはどこかなどをリクルーターに共有した上で大体のタイムラインを決める。

Initial Technical Screen

GoogleのPhone Screening同様にBlueJeansCoderPadを使いオンラインで面接官と一緒にコードを書く。面接官はFacebookのエンジニアで、LeetCodeにでてくるような問題を1〜2問ほど解く。時間は45分で自己紹介(5分)→ アイスブレイク(10〜15分)→ 本題(15〜20分)→ 候補者からの質問(5分)といった感じ。

Onsite Interview

現地のFacebookオフィスに行って丸一日面接する。4時間から5時間ほどかけて、コーディング試験、システムデザイン試験、行動面接などを行う。基本的にはGoogleと同じだが唯一違うのは行動面接にも簡単なコーディング試験があるというところ。行動面接の最後の10分位を使って簡単な問題を一緒に解く。

Candidate Review

採用・不採用を判断するためのプロセス。マネージャークラスの人やトップ面接官の人たちで毎週行われているプロセス。Onsite Interviewで面接を行った面接官が”packet”と呼ばれるフィードバックを記載したものをリクルーターが収集し、Candidate Reviewに送り採用・不採用が判断される。

後述するが、Onsite Interviewなどの各面接はHire/No Hireを4段階の自信度で評価する。pakcetにはそれぞれの判断に加え自信度がまとめられている。また、それだけでなくその面接官がどのくらいの割合でHire/No Hireの判断をするかなどが統計的に出されている。

リクルーターはこれをもとに採用・不採用を決める(厳密にはこのあと給与を決めた上で正式に採用・不採用が決まるが、Candidate Reviewでの判断が覆されることはかなりレア)。

Facebook面接体験談

Facebook Onsite Interview at Singapore
Facebook Singaporeオフィスにて。

筆者は2020年、LinkedIn経由でFacebookのリクルーターにDMをし、興味を持っていただけたのでFacebook SingaporeのソフトウェアエンジニアのポジションにApplyしました。Googleとは異なり、当時Facebookは日本にエンジニアリングオフィスがなく、最寄りがSingaporeだったため、Onsite InterviewはSingaporeへ一泊二日の旅で、非常に新鮮な体験となりました。ここでは筆者の実際の体験談をノウハウ集より抜粋しご紹介します。

(以下ノウハウ集抜粋)

応募プロセス

LinkedInでFacebook Singaporeのリクルーターに直接連絡をした。数日後返信があり、ポジションやFacebook Singaporeで何をやっているか等の説明を受けるRecruiter Interviewのきっかけを得ることができた。

Facebook Singapore Interview
直接Facebook Singaporeの人にLinkedIn経由でメッセージを送った

Recruiter Interview

Facebook Singaporeのリクルーターと電話で30分ほど話した。内容はシンガポールオフィスで行っているプロジェクトや、採用時どこにアサインされるかなどをざっくり共有してもらうのと同時に選考を受けることを電話で決定。その際送られてきたPreparation Material(選考準備材料)はGoogle同様、さすがのボリューム。

Facebook Interview Preparation Material
Recruiter Interview後に送られたPreparation Material。ボリュームがすごい

Phone Interview

Facebook Interview Phone Interview
夜の11時から始まるコーディング試験。グローバルテック企業あるある

Facebook NewYork Officeのエンジニアと45分間夜の11時からコーディング試験を実施。アルゴリズムの問題を1問 + follow-upの問題を解いた。1問目は即答で、follow-upに時間を使った。follow-upに関しては最後までSolutionを書けなかったが、数日後15分程のMessengerコールで無事通過の旨を伝えられる。

この時点でメルカリからオファーを貰っていたので辞退の趣旨を伝えたが、是非受けてほしいとのこと(オファーだけだして一年後承諾でも良いから)でオファーを承諾した上でOnsite Interviewに進むことにした。その際のやり取りはMessengerで行っていた。

Facebookエンジニア採用 電話面接
FacebookだけにやりとりにもMessengerを使う

Onsite Interview

Facebookエンジニア採用 現地インタビュー
面接で海外に一泊二日という経験はビッグテックしかできない気がする

最寄りのエンジニアオフィスはSingaporeだったため、一泊二日で有給を取り、Singaporeに向かった。飛行機や最寄の空港をコーディネータの方に伝えると航空券、ホテルなど全て手配してくれる。また移動などにかかったお金も後日Concurで申請することで立替精算も可能になる。

Facebookエンジニア採用 現地インタビュー案内メール
Onsite Interviewの案内メール

前日にホテルにInして当日昼くらいからFacebook SingaporeのオフィスにてOnsite Interviewを行う。コーディング試験2.5本、システムデザイン1本、行動面接0.5本。出題される内容や形式はほぼGoogleと同じでホワイトボード上にコードを書いていく。

以下各コーディング試験のまとめ:

  • コーディング試験1セッション
    • 現地のエンジニア(インド人)と英語でコーディング試験。ホワイトボードに問題を解いていく難易度はLeetCodeのMedium位の問題。
    • コミュニケーションを意識して “Thinking Out Loud”(考えを口に出して面接官に伝える) で問題を解いていき、follow-upなどを受けながら解き進める
  • コーディング試験2セッション
    • 現地のエンジニア(インド人)と英語でコーディング試験。ホワイトボードに問題を解いていく難易度はLeetCodeのMedium位の問題。
    • 2問出題され、1つ目即回答後、follow-upで違う実装で同じ問題解けますか?的なことが聞かれる。
  • コーディング試験2.5セッション
    • 現地のエンジニア(アメリカ人)と英語でコーディング試験。ホワイトボードに問題を解いていく難易度はLeetCodeのMedium位の問題。
    • 行動面接後なのでそもそも時間が10分程度しかなく、ただ問題はそこまで難しくなかったので即答
  • システムデザイン1セッション
    • 現地のエンジニアとのセッション。Facebookの一部のシステムを設計してください的なオープンな問題が出された
    • システムの設計だけでなくて、モバイルのアプリケーションとどうやってコミュニケーションとるかなど、幅が広めの問題
    • 面接官の人とコミュニケーションをとりながら、要件などを絞ってホワイトボードにシステムの構成図を書いていく。また想定されるエッジケース等も
  • 行動面接1セッション
    • 現地のエンジニアとのセッション。過去にリーダーシップを発揮した場面や、改善できた点、自分がリーダーになった場合どのような行動を取るかなどを過去のイベントベースで話す
Candidate Review

Facebookエンジニア採用 コーディング試験結果メール
Onsite Interview後のリクルーターからのメール。この時点でApplyしてから2ヶ月程経っている

Onsite Interviewを受けしばらくするとリクルーターから連絡があり、選考の結果高いフィードバックを面接官から得たとの連絡をもらった。「Singapore Officeにマッチするポジションがない場合Londonも視野にいれることは可能か」と確認をされ問題ないと即答。Onsite Interviewの感触は良かったので、オファーをもらえる自信がこの時点であった。

Facebookエンジニア採用 Candidate Review前案内メール
Candidate Reviewに入る前の共有。こまめな共有は不安を抱かせないので高いCXを実現する

その後しばらくするとPacketがUSに送られたとの連絡をリクルーターから頂き、Candidate Reviewのプロセスに入ると連絡をもらった。残念ながらこの時点でSingapore Officeのポジションにはマッチするところがなくなった(元々頭数が少ないとは最初の時点で説明は受けていたので驚きはなかった)と連絡をもらい、London Officeでの選考に切り替わった。

同じ週に選考の結果をPhone Callで共有してもらった。結果としてはLondon Officeにおいて選考時点でマッチするポジションがなかったものの、フィードバックとして非常にポジティブだったため、半年から一年後にオファーを寝かすことは可能か?という結果であった。その時点でメルカリに入社しており(ビッグテックの選考は3ヶ月くらいかかります)、将来起業することが見えていたのでその旨を説明した上、選考を降りる旨を伝えた。

Facebookの評価基準

これまで説明したとおり、Facebook選考の流れの大枠は前回ご紹介したGoogleに非常によく似ています。いくつか違いがあるとすれば、行動面接の最後の10分ほどを使い、コーディング試験を行う(実際コードを書くことはなくても理論を説明することはある)こと等があげられますが、選考の評価においてはRole Playなど、Googleとは大きく違うところがいくつか見受けらます。

ここではFacebookはどういったシグナルを紹介した選考を通して候補者から評価しているのかをノウハウ集より一部抜粋してご紹介します。

(以下ノウハウ集抜粋)

Facebookのエンジニア採用にはRoleが振られており、コーディング試験を担当する “Ninja”、 システムデザインを担当する “Pirate”、 行動面接を担当する “Jedi” に分かれている。平均的には2 Ninjas、 1 Pirate、 1 Jediが一般的である。それぞれ評価している項目は以下:

コーディング試験(Ninja)
  • コーディングスキル
    • アルゴリズムの問題を通して正しいコードを実装できるか、バグのないコードを書けるかなどをみている。Onsite Interviewではホワイトボードに、Phone ScreeningではCoderPad上で書く
  • コミュニケーションスキル
    • 面接官と適切なコミュニケーションを取り、黙々とひたすら解くのではなく、ヒントや想定できるエッジケースなどをききにながら問題を進められているかなど
  • アルゴリズム・データ構造基礎知識
    • アルゴリズムの問題を通して評価する。各実装の計算量やメモリの使用量などを正しく理解した上で各アルゴリズムを使えているかなど。
システムデザイン(Pirate)
  • システム設計力
    • Instgramを作ってください的な質問が出される。想定するRPSをさばけるサーバーを作れるか、各サービスのPro/Conを理解しているかなどを見る。
    • 経験に基づく質問が多い(Resumeに乗っていない全然関係ないような質問はないらしい)。
行動面接(Jedi)
  • カルチャーフィット
    • Facebookのユニークなカルチャーで候補者は活躍できるのか、これから起こるであろう様々なチャレンジをどのように乗り越えていくかなどをミッションとバリューに照らし合わせて評価する

大枠はGoogleと似ているものの、Role Playをしながら評価しているのが特徴的。基本的には構造化面接で、コーディング試験、システムデザイン、行動面接でそれぞれ違う指標を評価し、それぞれ面接を担当した面接官がHire/No Hireを選ぶ。更に選択に対しての自信度を1〜4段階で示す。自信がある時は “Absolutely Confident” であり一番自信がないときは “Not Very Confident” 。

それぞれの評価が面接官から集まったら”packet”と呼ばれる候補者のレポートを作成し、Hiring Managerとの週次で行われる “Candidate Review” が行われる。Candidate Reviewでは1人づつのパケットを見ながら候補者のパフォーマンス、不安要素などが議論される。不安要素が大きい場合は再度Onsite Interviewを必要とされる可能性もあるが、だいたいここで Hire/No Hireが決まる。良く詳細がまとまっている記事

選考を振り返って

以上がFacebookのエンジニア採用における選考でした。Facebookのエンジニア採用は構造化面接を徹底しており、技術力に一切妥協しない姿勢は非常に印象的でした。また筆者の体験では、コーディング試験の数がGoogleより一度多いのが特徴的で、Onsite Interviewを終えた後に一人一人に対してフィードバックを与えるためのアンケートがあり、節々に面接のプロセスを改善しようという姿勢が伺え非常に好印象でした。

Facebookエンジニア採用 コーディング試験後アンケート
Interview後のアンケートの案内。面接官一人ひとりを評価する

また、リクルーターはかなり協力的であり、LeetCodeやVimeoのリンクなど、数々のマテリアルを用意してくれたのでCX(Candidate Experience)はかなり高く、Initial Phone Screen後には実際に内部のエンジニアと繋がり、どういった環境で仕事をするのかなどを現場のエンジニアに聞く機会等があり(私は時間が取れなかったので聞いていないが)この点も非常に好感を持てました。

キャリアサイトも非常にしっかりしていてかなり充実しているのに加え、Facebookで働くことが純粋に楽しそうということが至るところで感じられる選考プロセスでした(個人的にGoogleの選考より好印象を持ちました)。

まとめ

最後まで読んでいただきありがとうございます。本記事では採用プロセス編の記事として、Facebookの選考事例をまとめました。次回の記事では事例第三弾として国内企業であるメルカリの紹介を実際の筆者の体験に基づいてご紹介いたしますのでそちらも乞うご期待下さい。

また弊社ではビッグテックも実践しているライブコーディング等やオンラインでのアセスメントを自動化するコーディング試験サービス『HireRoo(ハイヤールー)』を提供しています。もし読者の方で「選考時に候補者の技術力を測れない」、「過去にミスマッチが起きて、もう絶対起こしたくない!」等の課題を持たれている方がおられましたら、お気軽にお問い合わせください。それではまた来週!

技術力によるミスマッチを防ぐコーディング試験サービス「HireRoo(ハイヤールー)」

HireRoo(ハイヤールー)コーディング試験で防ぐエンジニア採用ミスマッチ