5 min to read
Le mentorat des seniors
Nous estimons le nombre de développeurs à 18,5 millions en 2014 et 26,4 millions en fin 2019. Ce qui signifie qu’il y a 7,9 millions de développeurs qui ont moins de 5 ans d’expérience. Ça représente 30% des développeurs mondiaux.
Ces développeurs juniors n’ont pas connaissance des bonnes pratiques. Pas de principe SOLID, ne comprennent pas l’utilité et le gain de temps qu’offrent les tests et qu’est-ce qu’un bon test, et j’en passe.
Nous avons tous été junior, et nous avons tous appris. Et surtout, nous avons tous appris des autres.
Dans la situation où la majorité des développeurs travaillent de leur mieux pour appréhender la complexité des domaines à laquelle ils participent, les développeurs expérimentés doivent aussi coopérer avec ceux qui n’ont pas de bonne pratiques.
Dans cette même situation où à l’embauche, presque 1 développeur sur 3 ne pourra sans doute pas produire une application avec la qualité requise pour le maintien sur le long terme.
C’est pour cela que les développeurs seniors ont la responsabilité d’éduquer, de responsabiliser et d’assister l’évolution des capacités des développeurs juniors.
Plus-value
Un développeur senior a un rate tarifaire élevé. Mais ils produisent aussi une plus-value au prorata des tarifs. L’embaucheur espère avant tout qu’un développeur produise. C’est la manière la plus naturelle d’honorer son engagement. Mais il y a d’autres manières: testing, documentation, refactoring, conseils … La manière qui nous intéresse aujourd’hui est la suivante : partager son expérience.
Soyez transparent et éducatif. Sachez partager vos connaissances acquises à tous ceux qui le désirent et à ceux qui en ont besoin. C’est une manière efficace d’améliorer le codebase à court et long terme.
Code review
La manière la plus efficace est le code review. Il permet un compromis entre productivité et formation continue des développeurs juniors.
Selon moi, la meilleure façon d’apprendre est de se tromper. Donnez l’occasion au développeur junior de s’égarer dans une timebox court (1 journée de code maximum) pour avoir l’occasion de retravailler une partie précise. Ceci permet:
- De se concentrer sur une petite partie du code. Limiter le nombre de sujets abordés par code review.
- De lui donner la facilité de retravailler dans un petit scope et qu’il puisse plus facilement remanier ses classes/fonctions.
- De ne pas le décourager face à un code review sévère. Plus la review cible est petite, plus elle sera clémente et constructive.
Personnalités et assistance
Chaque développeur a son tempérament. D’expérience, il ne faut pas accompagner de la même manière un jeune fougueux ou un introverti.
Assurez-vous que la critique soit acquise et surtout constructive. Je ne connais pas aujourd’hui de méthode miracle. J’utilise souvent l’argument d’autorité. C’est-à-dire que j’utilise les références techniques pour être écouté.
Vous connaissez sûrement l'adage 'tout ce qui est sur internet est vrai'.
Le junior a tendance à travailler seul. Il est soit sûr de lui ou soit n’ose pas déranger selon sa personnalité. À vous d’identifier l’approche. Si vous le laissez longtemps dans sa caverne, vous risquez d’avoir une quantité de lignes de code que vous ne pourriez pas exploiter pour le soutenir. À vous de fixer des règles de reviews pour l’assister.
Encourager l’autoapprentissage par une présentation
Une autre manière efficace est d’obliger le junior à présenter un sujet. Il se formera lui-même, mais aussi cela l’encourage à s’autoformer par la suite. La confiance en soi, ainsi que de démontrer qu’il est capable d’enseigner quelque chose à ses compères l’encouragera à être curieux et à parfaire ses capacités.
Reconnaissance et motivation
La qualité que je recherche le plus chez un développeur est sa motivation. La motivation assure l’envie de produire, mais aussi la curiosité de chacun. Cette même motivation pousse naturellement les développeurs à s’améliorer et à se remettre en question.
La motivation est propre à chacun. Par chance, elle peut être cultivée par son entourage. C’est sans doute le paragraphe le plus important de cet article.
Motivez votre équipe, et surtout vos juniors. Sachez être constructif dans vos critiques. Elles doivent toujours être construites pour inculquer une bonne pratique. Mettez votre égo de côté et n’émettez jamais de critique pour vous poster en position supérieure.
Sachez remarquer les bonnes actions. Donnez de la visibilité quand quelqu’un applique les bonnes pratiques. Cette manière d’encourager booste énormément la motivation.
Et enfin, laissez respirer votre entourage. Apprendre est une tâche intellectuelle. Cela demande de mettre ses acquis de côté et de raisonner dans une zone d’inconfort. De plus, personne ne peut espérer qu’un junior devienne senior du jour au lendemain. La route est longue. Laissez-lui le droit de se tromper sur quelques points et corrigez vous-même quelques points dans un refactoring du lendemain si le temps presse. Si vous lui demandez la perfection H24, vous risquez de tuer sa motivation.
Si vous retravaillez une partie de l'application, faites-les remarquer poliment.
La correction en cachette peut-être mal interprétée.
Expliquez-lui quand même ce qui était attendu.
Il se sentira quand même grandir et qu'il est estimé comme membre de l'équipe.
Chaque minute investie dans la qualité supprime plusieurs dizaines d’heures de travail inutile
Dans le monde agile, la finalité est la valeur. Est-ce qu’investir dans le mentorat crée de la valeur ? La réponse est oui.
Chaque fois qu’un junior apprend un principe, il l’appliquera toute sa vie. Et cet apprentissage garantit une amélioration continue de la qualité de vos applications.
Toute entreprise informatique doit se mettre à jour pour survivre. Cette évolution passe, entre autres, par un mentorat appliqué. Sensibilisez votre entourage au mentorat.
d'avoir pris le temps de lire cet article
Table des matières
Commentaires