Comment exceller dans le rôle de Lead Developer ?

04 févr. 2019

6min

Comment exceller dans le rôle de Lead Developer ?
auteur.e
Guillaume Sasdy

C# .NET developer @ CSN Energy

Cet article est issu de la section Behind the Code et s’adresse à un public de développeurs. Pour avoir accès à plus de contenus similaires, comme des retours d’expérience, des interviews de personnalités du monde du développement ou encore des articles de réflexions sur la programmation, n’hésitez pas à consulter directement notre rubrique Behind the Code, entièrement en anglais.

Si plus personne dans l’équipe ne doute que vous connaissez par cœur les Design Patterns du GoFet que vous êtes le garant de la technique et de la qualité de ce qui est codé, votre rôle de Lead Developer ne s’arrête cependant pas à la conception et à l’écriture de code.
Vous menez et représentez une équipe technique. Et à ce titre, votre travail nécessite également de développer d’autres compétences moins techniques mais tout aussi importantes, comme par exemple votre sens du relationnel ou votre capacité à accepter vos responsabilités et à vous organiser.
Pas de panique cependant puisqu’il est toujours possible d’apprendre et de s’améliorer sur ces aspects non techniques, plus couramment appelés soft skills. On vous livre nos pistes pour que vous puissiez exceller dans votre rôle de Lead Developer !

Acceptez votre rôle de modèle

Prenez un feutre et notez la phrase « Je suis un modèle » sur 3 post-it ou plus, puis collez-en un sur chacun de vos écrans. Alors non… vous n’êtes pas un mannequin (désolé de vous décevoir) mais vous êtes bien un modèle aux yeux des développeurs de votre équipe qui feront non seulement attention à tout ce que vous ferez mais également à la façon dont vous le ferez.

Et puisque chacune de vos actions pourra avoir un impact sur la confiance et l’attitude de l’équipe, on vous conseille de privilégier un état d’esprit d’entraide et d’ouverture aux autres, de ne pas hésiter à encourager les nouvelles idées et de mettre aussi souvent que possible en avant les succès de chacun.

Votre rôle de modèle nécessitera également une certaine humilité de votre part puisque vous devrez parfois apporter de l’aide sur des tâches fastidieuses comme installer un nouveau poste, expliquer les processus de déploiement, faire des reviews de code ou encore montrer comment débugger…

Améliorez votre communication

JavaScript, PHP, Python et Ruby sont de très beaux langages. Mais que diriez-vous d’améliorer le vôtre ?

Boris Gervaise, Technical Leader chez Supralog, nous explique qu’il faut être capable en tant que Lead Developer de « vulgariser ses propos et d’expliquer ce qui va être fait, pourquoi et les coûts associés. » Il est donc essentiel de travailler sur votre prise de parole en adaptant votre langage et le niveau de détails fourni en fonction de la personne que vous avez en face de vous.

Votre interlocuteur pourra ainsi préférer entendre un discours direct, court et synthétique ou au contraire le raisonnement logique qui vous a amené à choisir telle solution. Vous pouvez, pour vous aider, utiliser des frameworks comme True Colors ou MBTI ou tout simplement vous fier à votre instinct ! Cela vous permettra à la fois de donner de meilleurs feedbacks aux développeurs et de mieux expliquer les tenants et aboutissants des projets techniques aux autres services de l’entreprise, et par conséquent de justifier des nécessités techniques auprès du business, ou inversement, des impératifs business auprès de l’équipe technique.

Améliorer votre communication nécessite également de réaliser des efforts sur la qualité de votre écoute et votre capacité à comprendre les autres. Vous devez ainsi non seulement faire attention aux arguments avancés, mais également à l’attitude et à l’humeur de votre interlocuteur. De manière générale vous devez plus que jamais prendre en compte l’avis des autres et ne pas hésiter à leur poser des questions pour comprendre leurs motivations et leur façon de réfléchir. Pour Jérôme Nadaud, CTO à Living Actor et anciennement Deputy COO au sein de SensioLabs, il est ainsi essentiel pour un Lead Developer « d’améliorer son relationnel humain et son charisme. » Il ajoute que « comprendre les besoins du client pour apporter la bonne solution » est une des compétences clés pour devenir un excellent Lead Developer.

Organisez votre travail

Si vous étiez précédemment un ancien développeur, vous devez prendre conscience que vos tâches au quotidien vont être sensiblement amenées à changer et à se diversifier. En effet en tant que Lead Developer, vous êtes plus autonome dans votre travail, plus souvent sollicité pour aider les autres, donner votre avis ou assister à des réunions, et pouvez être amené à suivre plusieurs projets simultanément.

Vous devez par conséquent faire attention à bien vous organiser ! Vous pouvez pour cela vous former à la gestion du temps et à la priorisation des tâches, et vous ne devez surtout pas hésiter à déléguer si nécessaire.

Parmi les outils existants, on peut citer la Matrice d’Eisenhower, une liste de choses à faire et un agenda, des rappels dans votre agenda électronique, un tableau Kanban avec des posts-it ou sur Trello, ou encore la mesure du temps de chaque tâche… Prenez le temps d’expérimenter ces différentes méthodes pour trouver celle qui vous convient le mieux !

Faites monter en compétence l’équipe

L’un de vos principaux objectifs en tant que Lead Developer est de faire monter en compétences chaque membre de l’équipe. Cela commence dès le recrutement et se poursuit avec le processus d’intégration des nouveaux développeurs. Les ressources humaines apprécieront ainsi que vous les épauliez dans leurs décisions pour juger des compétences techniques et du potentiel d’évolution d’un candidat. Puis une fois le développeur recruté, il vous faudra mettre en place un parcours de formation technique adapté.

Ne sous-estimez pas le besoin d’encadrement d’un profil junior pendant et après sa formation, même si Boris Gervaise recommande de « doser ses conseils afin de laisser le développeur résoudre seul une partie du problème rencontré car c’est ce qui lui permet de progresser. »

Accompagner l’équipe pour la faire monter en compétence passe aussi par la création d’un environnement de travail stimulant. N’hésitez pas à planifier des moments dédiés à la découverte de nouvelles technos ou outils. Des ateliers de travail ou des mini-talks organisés dans un endroit différent du lieu de travail habituel permettront de se détacher du planning de production le temps d’une journée pour développer des compétences techniques différentes de celles utilisées au quotidien.

« Aider les gens et les faire grandir est le plus bel aspect du métier » conclut le Technical Leader. En laissant de côté cet aspect du rôle de Lead Developer, le risque est de « s’enfermer dans un rôle où les développeurs viennent nous voir seulement lorsqu’il y a un point bloquant. »

Permettez à l’équipe de mieux travailler

Selon Boris Gervaise, un Lead Developer qui se veut excellent doit « être un moteur pour améliorer le produit et la productivité des équipes » . Vous devez pour ce faire utiliser votre connaissance des environnements, des outils, et des méthodes de développement pour être force de proposition.

Vous êtes en manque d’inspiration ? Voici des quelques idées :

  • Définissez des bonnes pratiques de développement concernant par exemple le code en lui-même, les commentaires ou la documentation
  • Réduisez les temps de mises en production en améliorant les process
  • Formalisez des procédures afin de minimiser les risques d’erreur : validation des bugs et des demandes d’évolution, mise en place de l’intégration continue et de tests automatisés…
  • Alertez les équipes fonctionnelles si vous trouvez que les spécifications fournies à l’équipe sont de mauvaise qualité

Pensez l’équipe comme un système harmonieux. De nombreux points peuvent être améliorés sur l’ensemble du flux du développement, en partant du besoin client jusqu’au delivery. Si un développement passe les tests sur le poste d’un développeur, mais relève des erreurs sur les serveurs de qualification, alors il y a de la place à l’amélioration.

Actez les décisions techniques

En tant que Lead Developer vous devez être le référent technique de l’équipe, c’est-à-dire « défendre la partie technique, être ferme dans ses choix, et trancher s’il y a des divergences entre développeurs » nous explique Jérôme Nadaud. La tâche n’est pas toujours facile car cette responsabilité a parfois pour conséquence de rejeter la solution d’un développeur ou de trancher un débat technique qui partage les membres de l’équipe.

De plus, vous serez certainement consulté à propos de problèmes pour lesquels vous n’aurez pas encore la connaissance technique nécessaire pour y répondre. En effet « vous êtes la personne chez qui on vient toquer pour trouver une solution face à des situations qui n’ont encore jamais été rencontrées » résume Boris Gervaise. La résolution de ces problèmes implique d’être très autonome et de savoir se documenter. Il est donc judicieux d’intégrer une veille technologique régulière dans votre travail.

Les actions que vous pouvez réaliser après avoir lu cet article

  • Prenez cinq minutes pour réfléchir à un rituel d’équipe qui permettra de créer un environnement plus stimulant (talks, lunchs, projets…). Proposez-le à votre équipe avant la fin de la semaine !

  • Réfléchissez à la personnalité et aux attentes de vos coéquipiers et notez par écrit les mesures que vous pourriez prendre pour améliorer votre communication avec chacun d’entre eux.

  • Votre rôle a une dimension forte en management ? Procurez-vous le livre The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change de Camille Fournier (disponible uniquement en anglais) : un livre à placer sur votre table de chevet (ou votre liseuse) dès ce soir !

Accédez à plus de contenus pour les développeurs sur la rubrique dédiée Behind the Code !

*Suivez Welcome to the Jungle sur Facebook pour recevoir chaque jour nos meilleurs articles dans votre timeline !

Illustration par Brice Marchal*

Les thématiques abordées