En février 2013, 37signals a publié « Why we don't hire programmers based on puzzles and tricks » sur le blog de son entreprise, et le billet est apparu sur Hacker News le jour même. La discussion s'est ouverte sur les échecs du recrutement fondé sur les questions de culture générale : un candidat interviewé chez Microsoft s'était préparé à partir de How Would You Move Mount Fuji? et s'est vu demander d'écrire de mémoire la fonction strcmp() du C, les entretiens chez Amazon reposaient sur la récitation de la notation Big-O et sur « compter toutes les étoiles de l'univers », et les recruteurs se contentaient souvent de rechercher « programming interview questions » sans se demander ce que les réponses prouvaient.

La contre-mesure de 37signals consistait à rejeter le genre purement et simplement : pas d'embauche fondée sur des puzzles et des astuces. Les commentateurs ont décrit l'alternative comme le fait de « les mettre à l'épreuve » — placer les candidats devant du travail réel plutôt que devant des casse-têtes synthétiques. Les praticiens ont poussé dans la même direction avec des mécanismes concrets : ITA Software jugeait les interrogations en personne bien moins utiles que la lecture du code qu'une personne avait écrit hors ligne, et un responsable du recrutement construisait ses entretiens autour d'une journée de programmation en binôme posant trois questions — la personne peut-elle faire le travail, s'intègre-t-elle à l'équipe, et peut-elle s'adapter quand les règles du jeu changent ?

Les deux filtres testent des choses différentes. Les questions de culture générale et les casse-têtes peuvent être préparés — tout un folklore de questions attendues et de livres de préparation existe — et ils sélectionnent la mémorisation et le sang-froid sous une pression artificielle. Les commentateurs ont noté que des penseurs de type intuitif peuvent échouer à une heure de questions procédurales tout en réussissant sur une tâche réelle plus longue, et qu'un candidat en pleine crise de panique pouvait échouer au FizzBuzz tout en restant un bon programmeur. Le travail observé répond à la question que les questions de culture générale ne peuvent pas trancher : comment la personne lit une base de code inconnue, repère les erreurs, écrit du code et travaille avec des inconnus.

Abandonner le parcours d'obstacles des puzzles : mettre les candidats à l'épreuve et laisser le travail réel, et non la mémorisation, décider des embauches

Les filtres à puzzles peuvent être préparés : un folklore de questions attendues et de livres de préparation permet aux candidats de s'entraîner, si bien que le test mesure la préparation et la mémoire, pas la capacité à faire le travail.

Mettre les candidats à l'épreuve observe le travail réel — lire une vraie base de code, repérer les erreurs, écrire du code et collaborer — des preuves qu'aucun casse-tête ne peut produire.

La pression artificielle fausse les résultats : des candidats de type intuitif et des candidats anxieux peuvent échouer à des puzzles d'une heure tout en réussissant sur du travail réel sur une plus longue durée.

La position publique signale ce que l'entreprise valorise et a ouvert un débat de 442 commentaires qui a mis l'idée à l'épreuve en public.

Quand un filtre de recrutement mesure la préparation plus que le travail lui-même, changez la preuve : mettez les candidats à l'épreuve sur du travail réel et laissez la performance décider

L'essai a recueilli 648 points et 442 commentaires sur Hacker News, faisant de 37signals le point de référence du camp anti-puzzles. Les défenseurs affirmaient que les casse-têtes difficiles révèlent la résolution de problèmes sous pression ; les opposants leur opposaient une journée de programmation en binôme, le FizzBuzz comme filtre négatif peu coûteux, et la pratique d'ITA consistant à lire du code écrit hors ligne. L'approche par mise à l'épreuve a été jugée bonne mais peu pratique pour les employeurs moins connus qui ont encore besoin de puzzles comme aimant à talents. Aucun résultat d'embauche mesuré n'apparaît dans la discussion ; l'effet a été normatif — « les mettre à l'épreuve » est devenu la principale alternative aux entretiens de culture générale.

VÉRIFIEZ LES SOURCES

Les sources

  1. Why we don't hire programmers based on puzzles and tricks | Hacker News Hacker News · news.ycombinator.com ·