Recrutement, remplacer l'entretien technique ?
Le processus de recrutement des développeurs chez af83 est, somme toute, assez
classique. Il comporte notamment un entretien qui sert à évaluer le
niveau technique du candidat et à estimer si celui-ci est suffisant pour
entrer chez af83. Comme nous sommes très exigeants envers nous-mêmes, nous
n'hésitons pas à poser des questions très difficiles pour pousser certains
candidats au delà de leur zone de confort.
L'entretien technique n'est pas parfait mais il remplit son rôle. Alors
pourquoi vouloir le remplacer ? Plusieurs voix sur Internet se sont récemment
faites entendre pour mettre en avant les faiblesses des entretiens techniques et
proposer des solutions alternatives. Je vous conseille notamment la lecture de
I will not do your tech interview.
Pour résumer, il est principalement reproché aux entretiens techniques :
- d'être intimidants, empêchant certains développeurs pourtant très compétents
d'avoir la moindre chance d'y réussir ; - de privilégier l'empilement de connaissances à une quelconque mise en
pratique ; - de ne pas du tout s'intéresser au travail en équipe.
Au final, l'entretien technique paraît ainsi assez artificiel et ne pas du
tout refléter les vraies conditions de travail de tous les jours. L'idée est
justement de remplacer l'entretien technique par un vrai travail dans de
vraies conditions. Le candidat viendrait passer une journée dans l'entreprise
et travailler en pair programming avec un développeur expérimenté sur de
vraies tâches à réaliser. Cela permettrait de vraiment se rendre compte de ce
que le candidat pourra apporter à l'entreprise s'il est pris.
Cette alternative a l'air géniale, on la met en place ? Pas si vite, elle a
aussi ses inconvénients. Déjà, faire travailler un candidat sur un projet de
l'entreprise, ça n'est légal que si celui-ci a un contrat de travail. On peut
faire un contrat de travail d'une journée mais, en France, c'est compliqué.
De plus, la plupart des candidats sont encore en contrat avec une autre
entreprise et souvent ce contrat interdit justement au candidat de passer un
autre contrat de travail.
Deuxième inconvénient, cette méthode coûte cher. Il faut d'une part payer le
candidat pour sa journée. Mais il faut également qu'un développeur confirmé se
prête au jeu pendant cette journée. Si le candidat est bon, pas de soucis.
Par contre, s'il ne tient pas la route, le développeur va être bien moins
efficace que d'habitude.
Enfin, le choix du projet peut être compliqué. Il vaut mieux éviter les
projets confidentiels. Si le projet est complexe, le binôme risque de passer
la journée à juste installer le projet. Mais si le projet est trop simple,
cela ne sera pas forcément idéal pour juger du niveau du candidat.
Pour ces raisons, plus le fait que notre processus actuel marche bien, nous
n'allons pas remplacer l'entretien technique chez af83. Par contre, il n'est
pas exclus que, dans un futur proche, j'ajoute une épreuve de code courte
(30-45 minutes) en plus de l'entretien technique. Le CTO de Stripe propose des
idées sympathiques à ce sujet sur What is the engineering interview process
like at Stripe?.
Mais rien n'est encore décidé et l'entretien technique a encore de beaux jours
devant lui chez af83.