- Les entretiens de live coding mesurent en réalité mieux la réaction au stress des ingénieurs que leurs compétences en programmation
- Selon des recherches scientifiques, un environnement où l’on est observé en temps réel entraîne une dégradation des capacités cognitives et de fortes variations de performance
- En particulier, chez les candidates, on a aussi observé un phénomène où toutes échouaient en environnement public, alors qu’elles réussissaient toutes en environnement privé
- Dans la plupart des entreprises, on n’exige pas réellement une capacité d’adaptation au stress, mais les tests de code l’évaluent à tort
- Les tests blancs, l’exposition progressive et certains compléments nutritionnels peuvent aider à réduire le stress
Expérience personnelle avec les entretiens de live coding
- Certaines personnes aiment les entretiens de live coding, mais ce n’est pas le cas de l’auteur
- Lors de sa candidature chez Toptal, l’auteur a échoué au test de live coding, mais a résolu le même problème rapidement en le refaisant seul
- Cette expérience lui a fait comprendre qu’sous surveillance en temps réel, le stress peut empêcher d’exprimer ses capacités réelles
Le cerveau face au stress
- Dans des situations à fort enjeu et sous pression temporelle, l’amygdale du cerveau s’active et le taux de cortisol augmente
- Cela altère le fonctionnement du cortex préfrontal, chargé du raisonnement complexe et de la mémoire
- La mémoire de travail est l’indicateur le plus important pour évaluer la capacité à résoudre de nouveaux problèmes, et elle diminue fortement en situation de programmation en direct
- Même en cas d’anxiété de performance légère, il devient presque impossible de penser clairement
- On a du mal à se concentrer, à garder plusieurs étapes en tête en même temps, et l’on a l’impression d’être « bien moins compétent que d’habitude »
Résultats de recherche déterminants
- Un article mené par des chercheurs de Microsoft a comparé la résolution d’un même problème de code en environnement privé et en environnement public
- En environnement privé, les participants travaillaient seuls dans une pièce ; en environnement public, ils devaient résoudre le problème devant un superviseur tout en verbalisant leur raisonnement
- Résultat : les performances étaient divisées par deux lorsqu’ils étaient observés, avec en particulier une variabilité des résultats beaucoup plus forte
- Contrairement aux candidats masculins, toutes les candidates en environnement public ont échoué, alors qu’elles réussissaient toutes en environnement privé
- L’environnement de live coding agit comme un filtre d’exclusion scientifiquement démontré qui écarte des ingénieurs pourtant compétents
La réalité de la performance sous stress
- Le live coding n’est au fond qu’un indicateur indirect de la performance en situation de stress
- Certaines entreprises recherchent effectivement des personnes performantes dans des environnements stressants, mais la majorité ne l’indique pas clairement dans ses offres
- Étant donné que la plupart du travail quotidien implique peu de stress en temps réel, écarter un excellent ingénieur parce qu’il a échoué en live coding est inapproprié
- Il est raisonnable de considérer que le live coding mesure davantage le niveau d’hormones du stress que les compétences en programmation
Méthodes pour réduire le stress
- Comme le live coding est courant dans l’industrie, un entraînement à l’adaptation au stress est nécessaire
- Une pratique répétée dans des conditions proches du réel (Pramp, Interviewing.io, tests blancs LeetCode, etc.) peut habituer le cerveau au stress
- S’exercer avec un minuteur, s’enregistrer, ou demander à un ami d’observer permet d’augmenter progressivement la pression de manière efficace
- En complément, on peut aussi essayer des nutriments comme la L-tyrosine (pour soutenir les neurotransmetteurs sous stress) et la L-theanine (pour favoriser la détente et améliorer la concentration)
- Avant un véritable entretien, il faut impérativement vérifier en simulation ce qui fonctionne le mieux pour soi
Conclusion
- Être mauvais en live coding n’est pas un manque de qualités pour être ingénieur, mais une caractéristique humaine tout à fait ordinaire
Aucun commentaire pour le moment.