
Certains estiment que non. Voici deux arguments avancés par cette catégorie de personnes :
- les exercices de codage sont chronophages et stressants. Ils demandent aux candidats de consacrer beaucoup de temps à se préparer, à réviser les fondamentaux de l’informatique, à pratiquer des questions types, à faire des simulations d’entretien. Tout cela en plus de leur travail actuel et de leurs obligations personnelles. Cela peut créer un déséquilibre entre la vie professionnelle et la vie privée, et décourager les personnes qui ont déjà un emploi à temps plein et une famille ;
- les exercices de codage ne reflètent pas la réalité du travail. Ils mettent les candidats dans une situation artificielle, où ils doivent coder sous pression, sans accès aux ressources habituelles (documentation, internet, collègues, etc.), et avec un évaluateur qui les observe et les juge. Cela peut provoquer de l’anxiété, de la confusion et des erreurs. Or, le travail de développeur ne consiste pas à coder seul dans un coin, mais à collaborer avec une équipe, à communiquer avec les clients, à rechercher des solutions, à tester et à déboguer le code.
Lors d'une interview, Kelly Vaughn, directrice de l'ingénierie à Spot AI, a remis en question le fait de donner aux ingénieurs des exercices de codage dans les entretiens techniques. Elle a eu l'opportunité de revenir dessus à l'occasion d'une autre interview (rendez-vous à 3:34 de la vidéo) :
Je suis une fervente partisane des entretiens techniques sans exercice de codage.
La raison est que la plupart du temps, nous embauchons des ingénieurs qui ne sont pas tout à fait nouveaux. Et ils ont déjà codé dans d'autres entreprises, ils ont beaucoup d'expérience dans la construction de production. Et donc, je ne suis pas là pour voir exactement comment tu codes, surtout en live.
Tout d'abord, nous ne sommes pas, vous savez, debout les uns derrière les autres, nous regardant coder mutuellement, donc ce n'est pas pertinent. Et deuxièmement, lorsqu'il s'agit de tâches à emporter, par exemple, ils ont tendance à privilégier ceux qui ont le temps de consacrer à la tâche à emporter. Et donc, si vous cherchez un autre emploi et que vous travaillez toujours à temps plein ou que vous travaillez de longues heures, il est très difficile de trouver le temps de travailler réellement dessus. Aussi, vous ne pourrez peut-être pas faire votre meilleur travail.
Donc ça constitue un désavantage [pour cette catégorie de personnes].
J'aime m'appuyer davantage sur les entretiens de conception de systèmes parce que je veux savoir ce que vous pensez, comment vous résolvez les problèmes, comment vous abordez un problème, je veux connaître l'ensemble de votre flux de pensée, d'autant plus que vous travaillez avec l'un de nos ingénieurs.
Pas de questions stupides dans cet entretien technique.
Et j'ai trouvé que cela fonctionne très bien. Je dirai cependant que la seule mise en garde concerne les ingénieurs juniors. Je sais que vous devez établir un certain niveau de connaissance de base de l'endroit où ils arrivent. Je suis d'accord avec une base "comment allez-vous aborder la résolution de ce problème de codage spécifique.
Mais j'essaie de rendre les entretiens techniques moins stressants pour les candidats.
Comment évaluer les compétences réelles d'un développeur ?
Quand on arrive à la question d’évaluer les compétences réelles d’un développeur au cours d’un recrutement, plusieurs facteurs entrent en jeu. Les compétences du recruteur lui-même, sa connaissance et sa pratique du métier, ainsi que les méthodes utilisées dans le processus de recrutement peuvent permettre d’embaucher l’oiseau rare ou à l’opposé, se retrouver avec un développeur dont les compétences réelles ne reflètent pas celles qu’on a supposées pendant le processus d’embauche. De manière générale, l’évaluation des compétences peut dépendre fortement de la méthode utilisée.
Les entreprises embauchent les développeurs en se basant sur diverses variables comme l'éducation et le niveau d’étude, l'expérience professionnelle, et la capacité à résoudre des problèmes de codage sur un tableau blanc. Cependant, selon Triplebyte, une société spécialisée dans le recrutement de professionnels de l’IT, aucune de ces méthodes ne marche vraiment dans la plupart des cas. Triplebyte a donc opté pour un processus de recrutement qui permet d’identifier les capacités de programmation générale d’un développeur grâce à un système de notation que la société a mis en place.
Dans un billet de blog publié il y a quelques années (avant le rachat par Karat, plateforme spécialisée dans le recrutement), Ammon Bartram de Triplebyte écrit que « ce dont l'industrie a besoin est une façon de sélectionner les candidats en regardant leurs capacités réelles », et non en se basant sur l’école où ils sont allés ou les entreprises dans lesquelles ils ont travaillé dans le passé.
La société a donc mis en place un processus qui lui permet d’atteindre cet objectif. Il s’agit d’un processus en 4 étapes qui débute par un test technique en ligne, suivi par un entretien téléphonique de 15 minutes pour discuter d’un projet technique réalisé par le candidat dans le passé. Le test technique en ligne comprend un exercice de programmation du style FizzBuzz et un quiz de programmation à choix multiples qui nécessite de comprendre du code réel, en analysant par exemple une fonction, et en choisissant lesquels parmi plusieurs bugs proposés sont présents dans le code.
La 3è étape est une interview de 45 minutes par écran partagé où le candidat écrit du code, et la dernière est une autre interview par écran partagé de 2h où le développeur travaille sur un projet technique plus vaste qu’il choisit dans un ensemble réduit de projets.
Pour permettre au candidat d’être à l’aise pendant le codage, ce dernier a le choix de son environnement de développement et du langage de programmation. Il travaille également avec son ordinateur personnel.
Après avoir évalué 300 candidats en 30 jours, la société livre les résultats de l’analyse des données issues de son processus de recrutement.
L’analyse révèle que le quiz de programmation à choix multiples est un fort prédicteur de la réussite dans les entretiens de codage. « Près de la moitié de la performance de l’interview (48 %) peut être expliquée par le score obtenu dans le quiz », explique Bartram en ajoutant que « 39 % peuvent être expliqués par le temps d'achèvement du quiz ». Les candidats ayant terminé le plus vite le QCM sont donc susceptibles d’être de meilleurs programmeurs.
En ce qui concerne le test de style FizzBuzz, il ne permet pas réellement d’expliquer la performance des candidats au test de programmation. L’analyse révèle en fait qu’il n’y a pas de corrélation entre la bonne résolution du test de FizzBuzz et l'obtention d'un bon score dans l'interview de codage.
Un autre résultat qui est ressorti de l’analyse de Triplebyte montre que les candidats qui ont été impressionnants quand il fallait parler des expériences passées ont été dans certains cas très décevants quand il s’agissait d...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.