samedi 9 février 2013

Faut-il recruter les développeurs pour leurs connaissances ou leurs compétences – aucun des deux mon capitaine

Cette semaine, j'ai eu deux conversations qui m'ont donné envie d'écrire un article sur le recrutement des développeurs.

Tout d'abord j'ai testé Codingame, un concours qui met en compétition des développeurs pour décrocher un job. Ensuite j'ai discuté avec une agence de communication de leurs critères de recrutement lorsqu'il s'agissait de trouver des "geeks".

J'ai donc été confronté à deux approches très différentes...

Recruter sur les connaissances

L'agence de communication recrute ses développeurs en comparant les connaissances technologiques listées sur les CVs des candidats et leurs besoins en interne.

L'agence développant sur des technologies Java, les développeurs sont donc présélectionnés selon le nombre de technologies en rapport qu'ils déclarent maîtriser. 

Ensuite, un entretien permet de s'assurer que le candidat correspond à l'équipe. Si besoin, un développeur déjà en poste vérifie que les connaissances listées par le candidat correspondent bien à la réalité.

Recruter sur les compétences la capacité à résoudre des problèmes

Codeingame a une approche radicalement différente puisque le concours ne porte pas sur des connaissances particulières (le choix de langage de programmation est libre) mais sur la capacité à inventer des algorithmes capables de résoudre le problème posé.

Ce qui était frappant lors du dernier concours est qu'il était franchement difficile. Seuls deux candidats sur environ un millier ont réussi à obtenir un score parfait.

Je pense que la plupart des recruteurs trouveraient cela "trop dur, ça va faire peur au candidats". Et pourtant je pense que c'est exactement ce qu'il faut lorsque l'on est un éditeur de logiciel.

Pourquoi Codingame est parfait pour les éditeurs de logiciel

Développer pour le compte d'un éditeur de logiciel est un travail principalement créatif. Or, sur ce type de travail, la capacité cognitive va jouer un rôle bien supérieur à l'expérience.

Quel est le rapport entre Codingame et la capacité cognitive ? La chose est habilement déguisée mais lorsque l'on parle de capacité à résoudre des problèmes algorithmiques, on s'approche beaucoup plus du QI que de la compétence acquise.

Bien entendu, il y a une petite part d'apprentissage et quelques concours d'entrainement sont nécessaires pour que le candidat se mettre en jambes. Mais ce n'est pas forcément un mal dans la mesure ou cela permet d'estimer la persévérance du candidat.

En couplant QI et persévérance on a ainsi deux bons prédicteurs de réussite. Sachant : 
  • qu'un développeur d'élite peut être 10x plus productif qu'un autre lorsqu'il s'agit de tâches complexes 
  • que les connaissances se périment au rythme toujours plus rapide des évolutions technologiques, 
on serait presque prêts à tolérer le fait que le candidat arrive en short et sandales à l'entretien...



Pour conclure, il s'agit bien sûr de prendre mon avis avec des pincettes. Tout le monde n'a pas les besoins d'un éditeur de logiciel et d'autres critères doivent être pris en compte. Mais, s'il s'agit de construire une équipe de développement d'élite, le QI et la persévérance sont sans doute parmi les critères les plus importants.