L’IA a tué l’entretien technique. Et maintenant, on fait quoi ?
(kanenarraway.com)- Le processus de recrutement est détesté par tout le monde : les responsables du recrutement, les recruteurs et les candidats
- L’entretien technique est l’une des étapes les plus redoutées, et la plupart des personnes interrogées le détestent
- Dans le travail réel, il s’agit souvent surtout de connecter des API simples, alors qu’en entretien on voit fréquemment des questions sur des théories complexes et des algorithmes
- Comme lorsque le développeur de Homebrew, utilisé selon l’article par 90 % des ingénieurs de Google, a été recalé en entretien parce qu’il n’a pas su inverser un arbre binaire au tableau
Les changements de ces dernières années (facteurs qui neutralisent l’entretien)
- Lors d’entretiens à distance, il y a eu des cas où des candidats coupaient leur caméra et engageaient un remplaçant
- Il y a aussi eu des cas de travailleurs nord-coréens tentant de décrocher un emploi à l’aide de vidéos deepfake
- Avec l’arrivée d’outils de codage automatisé comme GitHub Co-pilot et Cursor, ainsi que de LLM comme Claude ou OpenAI, les problèmes de code de base et les questions-réponses deviennent faciles à résoudre
- L’IA peut désormais intervenir depuis la rédaction du CV jusqu’aux candidatures de masse et aux entretiens vidéo, mais cet article se concentre sur l’entretien technique lui-même
Les bases de l’entretien technique
Presque toutes les entreprises qui recrutent des développeurs ont un processus légèrement différent, mais qui ressemble globalement à ceci
- Exercice préalable sur Hackerrank
- Sert de filtre pour recruter des développeurs juniors ou des stagiaires
- Les problèmes peuvent être résolus librement en ligne
- Fondamentaux d’informatique (Comp Sci Fundamentals)
- Questions sur les structures de données, les algorithmes, le Big O, etc.
- Souvent destiné aux développeurs juniors
- Entretien de code
- Évalue la capacité à écrire du vrai code et à le faire fonctionner
- Vérifie l’usage de base du langage et la capacité de résolution de problèmes à partir d’un exemple de petit projet
- Architecture / design
- Cible davantage les développeurs seniors que les juniors
- Évalue la conception système, la scalabilité, les bases de données et la conception d’API
L’usage de l’IA en entretien
- À cause de l’IA, le rôle de filtre des exercices préalables comme ceux de Hackerrank s’est fortement affaibli
- Les fondamentaux d’informatique et les entretiens de code suivent la même tendance : le niveau de difficulté de nombreuses questions reste dans le champ de réponse des LLM, qui les résolvent facilement
- Les entretiens d’architecture / design restent encore relativement préservés, mais à long terme, si l’IA continue de progresser, ce domaine pourrait lui aussi être menacé
Quelles sont nos options ?
- 1. Arrêter les entretiens techniques à distance
- Si l’intervieweur observe directement à côté du candidat, il devient difficile d’utiliser l’IA
- En supposant que toutes les autres étapes soient validées, cela peut se transformer en entretien de code en présentiel
- Si l’intervieweur observe directement à côté du candidat, il devient difficile d’utiliser l’IA
- 2. Utiliser un logiciel de type Pearson Vue
- Installer un programme de surveillance avec supervision par caméra
- Ce n’est pas parfait, car plusieurs méthodes de contournement sont déjà connues (il existe même des subreddits dédiés au sujet)
- 3. Ignorer le problème
- S’appuyer sur une simple demande morale du type « n’utilisez pas l’IA »
- Au final, cela avantage ceux qui utilisent l’IA, ce qui rend plus difficile pour les entreprises de sélectionner les bons candidats
- 4. Autoriser l’usage de l’IA
- Évaluer non plus seulement les compétences de code, mais aussi la capacité à bien écrire des prompts pour les LLM et à refactorer
- Dans cette phase transitoire, il faut aussi disposer d’assez de compétences en code pour corriger soi-même les erreurs de sortie de l’IA
- 5. Approche hybride
- Une méthode mixte consistant par exemple à vérifier d’abord à distance les capacités d’utilisation de l’IA, puis à effectuer une validation finale hors ligne
Solutions possibles
- À long terme, les approches 4 et 5 semblent les plus réalistes
- Même avec une politique de RTO, on ne peut pas faire venir tous les candidats éloignés en présentiel, donc il faut trouver une méthode efficace
- Changer le format même de l’entretien est une autre option
- Aujourd’hui, les entretiens de code se limitent souvent à de petites tâches du niveau FizzBuzz ou implémentation d’une calculatrice
- Avec l’assistance de l’IA, on peut multiplier la difficulté des exercices par 10 ou plus et évaluer le processus de création d’une application complète
- On peut aussi tenter un entretien plus long, d’environ 2 heures, mêlant architecture et code
- Dans ce type de format, on peut demander de construire l’application, de la faire évoluer et d’implémenter des fonctionnalités supplémentaires
- À mesure que la base de code grossit, cela permet de vérifier si le candidat peut garder une cohérence d’ensemble et de mesurer des compétences plus profondes que de simples réponses de surface
- Ce type de processus permet d’évaluer les points suivants
- La maîtrise de base d’outils comme
gitet les IDE - La capacité à formuler efficacement des prompts pour les LLM et à programmer de façon à obtenir de meilleures sorties
- La capacité à comprendre et assembler les sorties des LLM pour produire un code maintenable
- La capacité à livrer, dans un temps limité, une application d’une certaine taille avec un niveau minimal de scalabilité
- La capacité à maintenir une qualité et une logique cohérentes
- La maîtrise de base d’outils comme
- Cette approche d’évaluation globale pourrait devenir une alternative aux entretiens de code à l’ère de l’IA
Summary
- Les entretiens techniques devraient connaître de grands changements dans un avenir proche
- Pour l’instant, l’usage de l’IA peut encore sembler relativement lent ou facile à repérer, mais il pourrait devenir de plus en plus discret
- Scénarios possibles à mesure que cela évolue
- Le taux de réussite pourrait augmenter, tandis que les cas d’échec pendant la période réelle de travail (probation) pourraient se multiplier
- La pression sur les développeurs juniors pour suivre très tôt le niveau d’exigence technique élevé des entreprises pourrait encore s’accentuer
- Si l’usage de l’IA pour réussir les entretiens FAANG se généralise, la vitesse du changement pourrait encore s’accélérer
9 commentaires
Je crains qu’au lieu de réduire le décalage entre les entretiens techniques et le travail réel, on fasse porter le chapeau à l’IA.
Je ne sais pas si c’est à cause de ce changement, mais l’entreprise où je travaille fait du live coding pendant l’entretien, sans exercice préalable.
Là où je travaille, nous nous dirigeons désormais vers une politique qui autorise l’usage de l’IA lors des entretiens techniques... Comme l’input détermine l’output, l’idée est plutôt d’évaluer la capacité à poser les bonnes questions.
Je pense qu'on peut utiliser l'IA.
Mais il faut ensuite s'approprier à 100 % le résultat produit ainsi.
Si j'étais recruteur, je donnerais un exercice de code en ligne, puis lors de l'entretien en face à face, je demanderais au candidat d'expliquer ce code. Bien sûr, je poserais aussi des questions supplémentaires.
Si le candidat n'est même pas capable d'expliquer le code qu'il a soumis, qu'il l'ait écrit lui-même ou que l'IA l'ait écrit, ni de répondre aux questions à son sujet, alors il faut le recaler.
> Une forme d’évaluation qui, au lieu des compétences en programmation, mesure la capacité à bien rédiger des prompts pour les LLM et les compétences en refactorisation
J’ai l’impression que ces compétences vont devenir importantes.
Le problème, ce n’est pas l’IA, mais plutôt le fait que les exercices d’entretien reposaient jusque-là sur un format bancal du genre « trouvez la réponse optimale, et tout ira bien ». N’est-ce pas simplement ce problème qui apparaît enfin au grand jour ? Dans le travail réel, on ne va de toute façon pas se priver d’utiliser l’IA, alors pourquoi l’interdire ? haha Quel que soit le moyen employé, l’essentiel est d’obtenir un résultat. En revanche, il faut effectivement évaluer en toute transparence la manière dont ce moyen a été utilisé.
Je suis d’accord. Avec l’arrivée de l’IA, les tests de code bancals et déconnectés du travail réel seront naturellement éliminés par le marché, et les entreprises qui adopteront de meilleures méthodes de recrutement attireront les meilleurs talents.
C’est un affrontement intéressant entre la lance et le bouclier.
Programme de triche pour les entretiens Leetcode
C'est un bon exemple de cas de triche à l'IA dans les entretiens techniques évoqué dans cet article.
Avis Hacker News
Le meilleur processus d’entretien comprenait du pair programming avec un membre de l’équipe et un entretien téléphonique. En quelques minutes, il était possible de savoir si un candidat pouvait bien faire le travail, et ce processus a permis de constituer l’équipe la plus productive de plus de 20 ans de carrière
Les revues de code sont très utiles comme outil d’évaluation
Vers 2005, dans une PME, on lui a demandé de faire du code sur tableau blanc, sans possibilité d’utiliser un ordinateur
L’entreprise A devrait se demander pourquoi elle n’embauche pas l’IA si l’IA peut résoudre toutes les questions d’entretien technique
Comme technique de recrutement pour éviter l’IA, on demande aux développeurs juniors d’apporter du code et de l’expliquer
En tant qu’intervieweur, dans une entreprise non-FAANG, on utilise un processus d’entretien simple
Le marché de l’emploi actuel est chaotique, donc il semble que trouver un poste restera difficile jusqu’à ce qu’on se cogne au mur
Utiliser des problèmes Leetcode intermédiaires/avancés pendant 30 à 45 minutes en entretien ne permet de révéler que deux types de personnes
Le problème n’est pas l’IA, mais le fait que les entreprises ne savent pas comment sélectionner correctement les candidats
Lors du dernier entretien, on a demandé au candidat de réaliser une tâche en utilisant des outils, y compris l’IA