Évaluer la performance de ChatGPT sur les entretiens pour les ingénieurs logiciel

Estimated reading time: 5 minutes

Avec l’avènement des technologies IA largement accessible comme les modèles d’apprentissage automatique (LLMs), il y a des inquiétudes concernant les candidats qui utilisent ces outils pour se faciliter les épreuves de recrutement. Nous avons évalué la puissance de ChatGPT, un populaire LLM, sur des entretiens pour les ingénieurs. Ici, nous partageons les résultats de nos évaluations, ainsi que des recommandations pour les équipes de recrutement.

But de l’étude

Deux objectifs majeurs :

  1. Déterminer si ChatGPT peut répondre de manière précise et convaincante aux questions de l’examen du candidat.
  2. Identifier quelles questions sont plus ou moins susceptibles d’être résolues par une IA.

Notre étude a pour but d’évaluer la qualité de notre processus d’entretien en distinguant les candidats qualifiés de ceux utilisant des outils d’IA.

Plus généralement, nous nous sommes demandé si cette distinction avait de l’importance. À quel point est-ce facile de répondre aux questionnaires en utilisant ChatGPT ? Peut-être qu’un candidat capable d’utiliser de tels outils pour postuler à un poste est parfaitement capable d’appliquer ses compétences pour endosser les enjeux de l’entreprise concernée. En effet, de nombreux développeurs bénéficient d’une productivité accrue en s’assistant grâce à l’IA, et il semble que l’utilisation généralisée des LLMs soit une tendance à saisir plutôt qu’à décrier.

Méthodologie

Nous avons évalué la version 3.5 de ChatGPT (la version Default comme l’appellent les pros de GPT, et non la version Legacy) et la version 4. Le modèle d’IA a aidé un expérimentateur humain, agissant en tant que candidat, à tenter plusieurs évaluations, y compris les épreuves de backend, frontend, full stack et de gestion de projet. Les questions portaient sur la programmation, la résolution de problème et les compétences en matière de communication. Nous avons également testé avec des questions issues d’un site populaire de résolution de problèmes, dans le domaine des algorithmes, des bases de données et des structures de données. L’expérimentateur s’est principalement appuyé sur les réponses de l’IA, avec des ajustements mineurs et sans écrire de code.

Résultats

Les résultats backend et frontend démontrent que ChatGPT a généré des réponses satisfaisantes et a réussi les tests. Sur les questions plus longues à propos de programmation, quelques ajustements manuels ont été nécessaires pour s’assurer que les solutions étaient alignées avec les exemples de code fourni et cohérentes. Occasionnellement, l’IA a échoué à fournir le code dans le temps imparti.

ChatGPT a excellé concernant les questions explicatives, les questions à choix multiples, ainsi que les questions de programmation « facile » à « moyenne » dans tous les domaines, c’est-à-dire, les scénarios dont les réponses sont facilement trouvables sur internet. C’est en quelque sorte inévitable, car la plupart des questions d’entretien sont celles auxquelles un employé est susceptible d’être confronté dans le cadre de son travail. Concernant les problèmes plus “difficiles”, dont les solutions sont plus dures à trouver en faisant des recherches, et sans compétences particulières de la part de l’utilisateur, l’usage de prompts supplémentaires n’est pas suffisant.

Les difficultés à générer des réponses correctes varient selon le domaine. Les questions de programmation frontend se sont avérées les plus difficiles sans une utilisation plus “intelligente” de ChatGPT, et elles prenaient également plus de temps à répondre à l’aide de l’outil. Ceci est dû aux éléments additionnels des problèmes de frontend, y compris les représentations visuelles des résultats souhaités.

La faisabilité des tests assistés par IA dépendait des contraintes de temps, du besoin de peaufiner les prompts, et d’expérience avec ChatGPT (la stratégie de notre expérimentateur s’améliora au fur et à mesure des questions). Lorsque les énoncés des problèmes étaient moins clairs, la génération de prompt adéquat a nécessité des compétences de communication en anglais, de la compréhension du code, et de la connaissance des outils de développement du navigateur pour les questions textuelles qui ne pouvaient pas être copiées-collées via l’interface utilisateur (bien que la saisie complète des énoncés de problème, tout en prenant du temps, était également possible dans les limites de temps qui nous était imparti).

Recommandations pour les questions de design

Basé sur nos recherches, nous recommandons d’implémenter les stratégies suivantes pour améliorer la complexité et dissuader de compter sur l’IA.

Introduire des diagrammes

Incorporer des diagrammes qui ne sont pas explicitement décrits dans le texte peuvent ajouter une couche supplémentaire de complexité et réduire la dépendance à l’égard des réponses générées par l’IA. Tout ce qui empêche le copier-coller directement le contenu de la question peut constituer un moyen de dissuasion partiel. Toutefois, il est essentiel de tenir compte des exigences en matière d’accessibilité lors de l’utilisation d’éléments visuels.

Utiliser des répertoires complexes et des structures hiérarchisées

La conception de questions de programmation impliquant des structures de répertoires et des dépendances complexes rend plus difficile la fourniture de solutions précises par les candidats qui s’appuient sur l’IA, car il faut plus de temps pour analyser les informations fournies et les convertir en messages utilisables par le LLM.

Fournir des informations excessives

Donner plus d’informations que nécessaire et faire en sorte que le format soit inaccessible aux outils d’IA, par exemple en exigeant l’utilisation de longues APIs, peut permettre d’aider à différencier les candidats compétents de ceux s’aidant de l’IA.

Pour les questions non codées, telles que les questions longues ou les questions à choix multiples, il convient d’éviter complètement le format du test en ligne

Préférez un format face-à-face où les enquêteurs peuvent observer le processus de réflexion du candidat.

Photo de Dylan Gillis

L’importance de suivre les entretiens

Les entretiens en face-à-face sont cruciaux pour approuver la compréhension des candidats concernant le code qu’ils ont fourni. Le suivi permet de filtrer les candidats qui se contentent d’utiliser des outils d’IA et qui n’ont pas une compréhension globale de la chose. Les problèmes descriptifs rendus triviaux par ChatGPT devraient plutôt être présentés sous forme de questionnaire d’entretien en face-à-face.

Conclusion

ChatGPT se débrouille bien avec les questionnaires d’entretien pour ingénieur de niveau facile à moyen si on lui laisse suffisamment de temps pour générer des prompts appropriés. Cependant, se baser seulement sur des réponses générées par l’IA peut ne pas être plus efficace que répondre honnêtement grâce à des recherches internet. Les entretiens en face-à-face qui permettent d’observer la réflexion du candidat peuvent aider à différencier les postulants.

Depuis que GPT peut produire des réponses en lui donnant le bon prompt, il peut reproduire du code qu’un candidat inexpérimenté ne pourrait pas gérer dans les délais prédéfinis. Cependant, à partir du moment où la complexité des questions augmente, se baser exclusivement sur ChatGPT devient chronophage. Les candidats doivent passer du temps à séparer l’information afin de construire les prompts, attendre que GPT génère la réponse (particulièrement avec GPT-4, qui est plus lent), et débugger les réponses de l’IA. Donc, Le coût d’utilisation de ChatGPT dépend de la complexité des questions et une stratégie plus astucieuse est nécessaire. Si un candidat est capable de résoudre des problèmes de niveau sénior, nous voulons lui parler!

Pendant que nous avons souligné quelques stratégies pour aider à reconnaître les candidats sous-qualifiés, nous reconnaissons la valeur des compétences des LLM et explorons des façons d’intégrer des outils comme GPT dans nos workflows pour améliorer les capacités de nos équipes et fournir de meilleurs produits à nos clients.