Recrutement chez Facebook

juin 05, 2020

I: Premier contact

Un matin, je reçois un mail via linkedin d'un recruteur de Facebook qui me demande si je serais intéressé par un poste de manager chez eux à Londres.

De prime abord, je n’étais pas plus intéressé que cela, Londres et son climat, déménager toute la famille, trouver une école pour mon fils, quitter la France pour le royaume uni en plein brexit me paraissaient des obstacles insurmontables.

De plus, la probabilité de se faire embaucher dans ce que les américains appellent les "Tier 1 companies" à savoir Google, Facebook, Amazon, Apple, Netflix, .... est réputé extrêmement difficile avec des taux de refus supérieurs à 99.9% et un processus de recrutement souvent qualifié d'intense.

Etant de nature curieuse, je me suis dit: "allez, je vais répondre oui", de toutes façons je n'ai rien à perdre et comme je n'ai aucune chance de réussir leur sélection cela me fera toujours une expérience.

C'est dans cet état d'esprit que j'ai répondu "Yes, of course !".

II: Le Round 1 de la sélection: "The screening"

Dès le lendemain, le recruteur m'explique les règles du jeu, je vais passer deux entretiens de screening en visioconf, tous éliminatoires.
Pour mon premier entretien, on parlera de management.

Le jour J, je pose congé et connecte ma webcam achetée pour l'occasion.‌‌
La personne en face de moi est sympathique et avenante, pose des questions sur ma carrière, mes motivations et comment j'envisage le management d'une équipe, le tout dure 50 minutes. A la fin il m'informe qu'on reviendra vers moi rapidement.

Moi qui pensais devoir passer un sale moment avec des questions tordues, j'avais tort, ce fut juste une discussion agréable sur mes méthodes de management. N'ayant aucune idée si mon management a plu, j'attends patiemment le résultat.

La réponse arrive 3 jours plus tard, c'est positif et on planifie donc le second entretien qui portera cette fois sur le système Linux.
Là, on rentre dans le vif du sujet, mon interlocuteur est encore une fois très sympathique mais ses questions sont assez pointues.
On a parlé de kernel, de troubleshooting, de métriques, de filesystem et j'en passe.
Une petite semaine passe et on m'informe que j'ai réussi le premier round.

III: Le round 2 de la sélection: "On site interviews"

Premier round terminé ! J'ai passé les deux entretiens et maintenant il va falloir se rendre à Londres pour les "On site interviews".‌‌

Mais avant de commencer, je dois signer un NDA m'interdisant de dévoiler les questions qui me seront posées et que toute bonne idée que je pourrai avoir lors de ces entretiens sera la propriété de Facebook.

Bien sûr, Facebook s'occupe de tout, billets d'avion, hôtel, j'arrive la veille en fin de journée, je dors du mieux que je peux et ça commence à 10h.

J'ai nommé cette journée "la journée de la mort" car c'est 5 entretiens de 45 minutes enchaînés les uns après les autres.
Pour mon poste de manager, j'ai eu le droit aux 5 entretiens suivants:

  • System Design: Large Scale systems
  • System Design: Service Ownership and Deployment
  • Coding
  • People Management Philosophy/Process/Strategy
  • Project Management

Ayant signé un NDA, je ne suis pas autorisé à vous communiquer le contenu de ces entretiens mais ce que je peux vous dire c'est que ce fut techniquement difficile.
Le round 1 qui m'avait déjà semblé pointu n’était finalement qu'un échauffement.‌‌‌‌
Les questions et problèmes posés lors des entretiens sont vraiment complexes.‌‌

Pour l'entretien de coding, c'est tableau blanc, feutre et algorithme à pondre en live sur des questions de type Moyen/difficile de Leetcode.
Autant vous dire que si vous n’êtes pas au point sur les arbres, la récursivité, les graphes, les listes, le hashing et tous les algos de référence tournant autour de ces concepts, c'est mort.
Cf mon post ici pour des conseils sur comment aborder l'entretien de Coding.
Idem pour les autres entretiens système ou ils attendent de vous que vous maîtrisiez Linux, le réseau, le shell, le design et le troubleshooting.

La fin de la journée est plus relax, puisque c'est visite des locaux avec tous les avantages d'une boite Tier1, nourriture et boisson gratuite à tous les étages, salle de jeu avec billard et flippers, tubes pour dormir, salle de répétition pour les musiciens, distributeur de matos informatique et j'en passe.

Cette journée m'a littéralement donné envie de bosser pour Facebook, avant je faisais tout cela par jeu et curiosité mais après avoir rencontré les gens, les locaux, senti l'ambiance et au vu des questions qu'ils posaient, j'ai compris qu'il y avait vraiment moyen de travailler sur des projets énormes dans un environnement incroyable avec des collègues d'un niveau technique hors du commun.

Bien sûr, à la fin de la journée, on ne vous dit rien, si ce n'est qu'il faut avoir un maximum de 'oui' pour passer à l’étape suivante. C'est là que j'ai commencé à stresser et à me dire que j'avais vraiment envie d’être sélectionné.
J'ai dû attendre 2 longues semaines pour avoir le résultat.

IV: Le round 3 de la sélection: "The hiring committee"

Bravo, vous avez eu assez de 'oui'!  Vous êtes en phase finale !
Là, je tombe des nues, pour deux raisons, tout d'abord, parce que j'ai réussi et secundo par ce que ce n'est pas encore fini !‌‌‌
On m'explique que j'ai bien réussi mes entretiens sur site et que mon dossier va maintenant être évalué par le 'hiring committee' au siège en Californie.

Ce comité va étudier avec attention les compte rendus de mes cinq entretiens afin de déterminer si j'ai le niveau et le profil requis pour réussir chez Facebook.
Si c'est le cas, il sera aussi en charge de déterminer mon 'Level' dans l'entreprise et cela déterminera mon salaire selon leur grille interne.
(Level E3=stagiaire/juste diplômé, E4=Junior, E5=Standard, E6=Senior, E7=Expert)

Selon le recruteur qui s'occupait de moi, c'est la phase la plus difficile à passer car le niveau d'exigence est très élevé, la moindre remarque négative ou doute d'un interviewer peut envoyer votre candidature dans /dev/null.

Là, je ne peux rien faire à part espérer et croiser les doigts.‌‌
Une semaine plus tard, le verdict tombe .... Je suis sélectionné !

V: La rémunération

Vous l'aurez remarqué, à aucun moment, il n'est question de rémunération.
Ce n'est qu'une fois que vous avez réussi et que votre 'Level' a été déterminé que vous entrez en négociation avec un "compensation manager".

L'offre de rémunération se compose de 5 parties:

  • Un salaire annuel brut (Base salary)
  • Un bonus en % du salaire sur objectifs (Bonus)
  • Des actions gratuites pendant 4 ans (RSU)
  • Des actions gratuites chaque année sur objectifs (Refreshers)
  • Un chèque de bienvenue (Sign-on bonus)

Cela vous donne un salaire variable, selon que vous atteignez vos objectifs et selon le cours de l'action. Une excellente façon de motiver ses salariés désormais actionnaires.

Pour plus d'information sur les rémunérations: Le site Levels.fyi:
Notez que ce sont les chiffres US, pour l’Europe il faut enlever environ 30%

Il est important de préciser que Facebook vous embauche pour un niveau et non pas pour un poste précis. Vous choisirez votre poste plus tard.

VI: C'est parti !

Une fois l'offre signée, la grosse machinerie se met en branle et ils s'occupent de tout.
Le déménagement est intégralement pris en charge, ils font même vos cartons !

Ils vous aident à trouver une école pour vos enfants, vous fournissent un appartement pendant deux mois le temps que vous trouviez le vôtre, débloquent un budget pour l'accompagnement de votre famille (cours de langue, soutien,...).
Mutuelle, retraite, paperasse, transport, cautions, frais,... tout est pris en charge.

VII: Le bootcamp

Une fois sur place, vous commencez votre période de formation appelée 'bootcamp'.
Le bootcamp, c'est 5 semaines intensives de cours et de taches à réaliser pour se familiariser aux outils internes de Facebook.

A l'issue du bootcamp, vous commencez le processus de sélection de l’équipe que vous allez rejoindre. Le choix est extrêmement varié, cela peut être de la sécurité, de l'IA publicitaire, du Machine Learning, de la réalité virtuelle, de l'infra réseau, .... Il y en a vraiment pour tous les goûts et c'est vous qui choisissez, le pied !

VIII: Conclusion

Il aura fallu plus de 3 mois entre le premier contact et l'offre finale négociée.
Il va sans dire que j'ai accepté cette incroyable opportunité.

J'ai trouvé le processus de recrutement clair mais le niveau attendu était très élevé et le taux de succès semble très bas, selon la rumeur, il serait 10 fois plus dur d’être sélectionné par Facebook que d'entrer à Harvard.

To say it’s competitive is an extreme understatement. It’s incredibly competitive and difficult to get an interview, let alone do well on it. This isn’t meant to give you little hope but statistically, this is true.
– Sief Khafagi, Lead Recruiter at Facebook

J’espère que ce long post vous aura éclairé sur le recrutement de Facebook et vous aura donné envie de tenter l'aventure. Car, n'en doutez pas, Facebook est en permanence à la recherche d'ingénieurs, alors pourquoi pas vous ?

PS: Ce post décrit le processus de recrutement de Facebook, mais Apple,Amazon, Google, Netflix et autres Tier1 ont sensiblement le même, à savoir un premier round en visio, un second round sur site et un dernier en comité. De même pour les rémunérations en 5 parties, cela semble le standard chez les GAFA.

PS2: Depuis la crise sanitaire du Covid-19, les entretiens sur site se font bien évidemment par visioconférence.