Les meilleurs développeurs sont rares ! Recruter un développeur est difficile, recruter un bon développeur relève de l’impossible. Pourquoi ? Et comment faire ?
Je viens à toi,
dev Padawan rare
que tu es !
Pourquoi on ne reconnait pas simplement un bon développeur ?
Une chose assez amusante que nous avons commencé à faire dès le début, c’est poser les deux questions suivantes à nos candidats :
- Depuis combien de temps tu codes ?
- Comment as-tu appris à coder ?
Il semblerait que les réponses soient assez uniformes. Les bons développeurs ont appris à coder de manière autodidacte, le plus souvent lorsqu’ils étaient ados. Pourtant ils ont le plus souvent des diplômes, ont fait des études supérieures et des écoles d’ingénieur-nieures. Malheureusement, ils n’ont pas tous appris à coder lors de leurs études.
Souvent, l’expérience n’aide pas. On a vu des Dev Java bosser sur des très gros projets JEE/Maven pendant 3 ans après leur diplôme et ignorer complètement le concept de référence. Un développeur qui a passé 3 ans a faire du desk-sitting n’a pas forcément plus progressé qu’un autre, qui se bouge. Par ailleurs, faire de la veille n’est pas suffisant. On pense souvent que faire de la veille suffit pour se tenir à jour.
En réalité, c’est une attitude générale, il faut que le développeur :
- premièrement, qu’il sorte de sa zone de confort;
- qu’il prenne aussi des risques;
- d’autre part, qu’il essaye de nouvelles technos;
- surtout : qu’il échoue pour apprendre.
C’est pour ça qu’un CV avec 3 années d’expériences et un diplôme d’ingénieur ne nous apprend pas grand chose a propos du développeur.
Bien souvent, le bon développeur n’est pas une expérience, mais une attitude.
BAH OUAIS
MORRAY !
Avez-vous posé la bonne question ?
Prenons un exemple concret, les développeurs Rails. Ils sont chouettes, ils livrent vite des trucs assez beaux, parce que Rails est magique – #Fanboy dans la salle !
Par contre, on voit deux types d’entreprises qui utilisent Rails. D’un côté, les entreprises qui passent 2 ans à recruter un développeur expérimenté, et de l’autre celles qui ont une équipe de 15 devs, sans efforts de recrutement.
Alors, quelle est la différence me direz-vous ?
À notre avis, le premier cas cherche à recruter quelqu’un qui est opérationnel immédiatement et qui peut témoigner de son expérience. Le deuxième cas a formé ses développeurs.
Rails, c’est aussi une techno où en 4h, on est déjà en train de faire des trucs bien. C’est relativement simple à apprendre, la courbe d’apprentissage est souple, on avance vite. Les développeurs sont autodidactes, ils apprennent seuls et rapidement.
Ainsi, pourquoi absolument vouloir recruter quelqu’un d’expérimenté quand on peut laisser une place à l’apprentissage en interne ?
Tu commences à capter ?!
Comme dirait Martin : y a ceux qui voulaient un dev expérimenté de 2 ans
et ceux qui les ont formé en interne pendant 2 ans... CQFD !
Développeurs : Apprendre est notre métier
Un développeur apprend continuellement. On ne va pas apprendre une techno à un instant T et continuer à appliquer la même solution toute notre vie. Ça serait terrible. En plus, on pourrait tomber dans le syndrome du marteau ! Tu connais le syndrome du marteau ?
Un ouvrier qui n’a qu’un marteau dans sa boite à outil trouve que tous les problèmes ressemblent à des clous
Voilà tout.
En fait, il faut appréhender avec justesse un profil qui a mangé la même techno pendant 8–10 ans. Certes, c’est un expert mais il aura certainement du mal à sortir de sa zone de confort. Prendre en main une nouvelle techno pourra devenir compliqué. Il voudra systématiquement réutiliser sa techno car il sait l’utiliser. Il ne fera pas des choix pragmatiques.
Un bon profil doit être ouvert d’esprit. Il n’a pas peur d’utiliser un nouvel outil si celui qu’il a en main n’est pas approprié, même s’il n’est pas une expert avec cet outil.
C’est aussi simple que ça : un bon développeur doit aimer apprendre et par extension, être curieux.