Le Lead Développeur est un élément central dans une équipe de développeurs. Généralement expert technique, il se doit d'être un bon facilitateur et un excellent mentor. Être bon communiquant est également indispensable lorsqu'on échange tous les jours avec les autres équipes techniques, le support client, ainsi que les partenaires techniques ou les commerciaux.
C'est un métier qui nécessite des compétences multiples — hard skills et soft skills, mais aussi une bonne compréhension du produit et du business... entre autres !
L'objectif de cet article est de détailler les bases du métier de Lead Développeur (et en bonne partie du Tech Lead), de vous aider à mieux comprendre son rôle et comment devenir Lead Développeur.
Les points suivants seront couverts :
- qu'est-ce qu'un Lead Développeur ?
- quelles sont les responsabilités du Lead Dév ?
- pourquoi devenir Lead Développeur ?
- comment devenir Lead Dév ou Tech Lead ?
Lead Dév ?
Etant Lead Développeur depuis des années, c'est un métier que j'affectionne particulièrement car il me permet de rester dans la technique, tout en ayant un rôle plus transversal et plus impactant.
Cependant, c'est un métier relativement peu défini, aux responsabilités disparates d'une entreprise à l'autre et qui peut être très divergent dans une start-up ou dans un grand groupe. Les différences entre Tech Lead et Lead Développeur sont d'ailleurs très floues.
J'ai parfois l'impression que mon rôle n'est pas clair, que ce soit pour mes collègues ou pour mes proches.
On me pose notamment les questions suivantes :
- c'est quoi un Lead développeur ?
- mais, qu'est-ce que tu fais exactement ?
- tu amènes plus de *leads* aux équipes commerciales ?
Ou des remarques comme..
- en fait, c'est un peu comme un chef de projet
- j'ai une question sur le produit, tu peux peut-être me répondre...
- j'ai un problème pour l'onboarding du nouveau client...
- j'ai jamais compris ce que tu faisais exactement
Qu'est-ce qu'un Lead Développeur ?
Développeur spécialiste et généraliste, architecte et manager, le Lead Développeur est un élément central d'une équipe de développement d'un produit. Relais de son équipe auprès des autres, il est là pour la mener en la conseillant tout en lui faisant confiance.
En tant que Lead Développeur je me considère avant tout comme le responsable technique d'un produit ou service. C'est donc mon rôle de veiller à la résolution des différents problèmes, en m'impliquant directement dans les investigations ou en trouvant le bon interlocuteur. Il est également nécessaire de savoir prioriser, donner une direction à son équipe et prendre des décisions.
Un Lead développeur est un facilitateur, la personne qui met de l'huile dans les rouages. Il est donc important de donner de la cohésion à une équipe, d'en faire émerger des valeurs communes et de s'assurer de son bon fonctionnement. En pratique, il s'agit de déclencher des réunions de conception technique lorsque c'est approprié, de mettre en place l'agilité et d'en animer les rituels.
Souvent un des interlocuteurs des autres équipes (avec le Product Owner et le Product Manager par exemple), le Lead Développeur se doit d'être un bon communiquant, car il sera amené à gérer des incidents en production, à se synchroniser avec les équipes supports et business, mais aussi à planifier, estimer et prioriser les tâches avec l'équipe produit.
Par ailleurs, sans devenir l'interlocuteur unique de l'équipe, le Lead Développeur essaye de limiter au maximum l'interruption de ses développeurs, pour favoriser leur concentration sur des tâches de développement complexes et prévues. En fait, le rôle de facilitateur du Lead Développeur se résume en une phrase :
Les Tech Leads & les Lead Dévs sont des coefficients multiplicateurs de leurs équipes.
Un expert technique
Le métier de développeur est hautement technique. Il est indispensable pour un Lead d'avoir de l'expérience et d'être un expert technique. Il ne s'agit pas forcément d'être le "meilleur développeur", bien au contraire ! Mais des connaissances assez étendues sur de nombreux sujets faciliteront son travail et aideront son équipe.
Les Tech Leads et les Lead Dév ont pour similarité principale d'être les référents techniques d'un produit ou d'une équipe. Il s'agit de la personne qui oriente les choix techniques, veille au bon fonctionnement du service.
Les sujets qui me semblent importants à connaître sont les suivants :
- bonnes pratiques de développement
- intégration continue
- déploiements, DévOps, infrastructure
- connaissances de la majorité des notions de frontend, backend & d'architecture logicielle
- fonctionnement des bases de données
- compréhension technique globale du produit & service gérer, et des technologies impliquées
Il est primordial que le Lead Développeur continue à coder. Il est souvent estimé qu'un Lead devrait passer entre 40 & 60% de son temps à développer, voire 80% dans le cas de petites équipes.
Etant données le variété des connaissances techniques impliquées et la rapidité d'évolution du secteur, il est recommandé d'effectuer une veille technique continue.
Coaching, mentoring, management
Variable suivant les entreprises, le Lead Développeur a un rôle d'encadrement qui comporte du mentoring, mais aussi parfois du management. Le management de développeurs et ingénieurs est la différence principale de responsabilités entre le Lead Développeur (qui est manager) & le Tech Lead (qui ne l'est pas).
Concrètement, le mentoring implique :
- d'effectuer des revues de code
- de pratiquer le pair-programming
- de partager les bonnes pratiques et de s'assurer de leur respect
- de veiller aux dérives
- de soutenir les développeurs rencontrant des obstacles
- de confier des tâches permettant la montée en compétences (non brutale) de ses collaborateurs.
La transmission fait partie de mes motivations principales à être Lead Développeur. Mon but n'est pas d'être un "pompier" ou un "ninja développeur". mais plutôt d'être un coach pour mon équipe et un gardien des bonnes pratiques.
Le Lead développeur, c'est le référent technique du projet, le bouclier anti-interruptions de son équipe et son coach.
Tu recherches un mentor ou un coach ? Tu peux m'appeler
Quelles sont les responsabilités du Lead Développeur ?
Du fait de mes multiples responsabilités, mes journées sont en général assez variées. Je navigue entre les impératifs du quotidien et de la gestion de production, le prévisionnel à moyen terme et les sujets de fonds. Pour faire simple, l'essentiel de mon temps est dédié..
Réponses aux sollicitations techniques
Qui dit Tech Lead dit référent technique et :
- questions techniques des développeurs, ce qui m'amène souvent à expliquer un concept, détailler les raisons de l'existant ou être en pair-programming
- questions de faisabilité technique de l'équipe produit ou qualité. Le Product Owner (ou Product Manager) est mon binôme dans une équipe produit. C'est cette personne qui possède la connaissance fonctionnelle et qui a également une meilleure vue que moi sur le long terme, les demandes et les projets à venir.
Coder !
Même si mes semaines ne sont pas dédiés au code comme c'est le cas pour mes développeurs, je code encore autant que possible.
N'ayant pas autant de temps (notamment d'affilée sans interruptions) pour développer, j'évite de prendre les sujets très longs et complexes comme les nouvelles fonctionnalités majeures.
J'essaye donc de maximiser mon impact.
Je me concentre sur ce qui bloque mes développeurs ou ce qui les ralentit. A ce titre, j'interviens surtout sur :
- l'infrastructure, le monitoring, le déploiement continu et l'intégration continue
- l'investigation de sujets complexes, que je peux ensuite déléguer à d'autres
- l'écriture de scripts, l'automatisation, l'outillage de l'équipe, pour nous faciliter la vie
Gestion des incidents en production
Très variable en fonction des équipes et des projets, mais sur des plateformes avec un fort traffic, il y a régulièrement des problèmes à investiguer ou résoudre, parfois en urgence.
Être responsable de la production demande donc :
- de garder un oeil sur les alertes et les tableaux de monitoring
- de répondre aux remontées de bugs et de les filtrer avant de les répartir à l'équipe de dévs
- écrire des rapports de bugs
- soutenir l'équipe support qui est en première ligne
Management de l'équipe et du projet
Cela peut paraître évident, mais un lead est un manager, et le management prend du temps. Il est nécessaire d'anticiper les sujets, blocages et dépendances ; de communiquer avec les personnes aux rôles transverses (architecte, Data Scientist, département design) ou avec les autres équipes (les autres Lead Dévs notamment). Et aussi :
- de faire tous ses 1-to-1 avec les membres de mon équipe
- de prioriser et d'estimation les tickets
- de préparer le sprint à venir et les rituels
- d'effectuer un reporting technique et d'avancement des projets efficace
Mes responsabilités incluent du Management à plusieurs niveau : humain, produit, technique et des incidents.
Dans une même journée, je passe sans cesse d'une vue immédiate (le jour le jour) à une vision plus long terme.
Le rôle de Lead Dév nécessite d'avoir une vision à 360°, comme un hélicoptère.
Pourquoi devenir Lead Développeur ?
La voie du Lead est une des possibilités d'évolution de carrière pour un développeur, mais ce n'est pas la seule ! De mon côté, je distingue 3 évolutions principales de carrière.
La voie de l'expertise technique
Lorsqu'on aime essentiellement développer ou architecturer, rien ne sert de s'orienter vers la voie du Lead. L'expert grandit en connaissances, compétences, aura & influence. Dans une carrière de ce type, on commencera par acquérir des connaissances spécifiques, puis de plus en plus vastes, en ayant un impact démarrant par celui de son équipe, puis de son département, de son entreprise ou plus !
Les journées de l'expert sont très différentes d'un Lead Dév :
- plus de temps à coder
- réflexions, proof-of-concepts, conception technique, évolution de l'architecture..
- mentoring des différentes équipes
- au sein de son équipe, nombreuses revues de code et pair programming
- gestion de la production (investigations des incidents, déploiements, etc.)
- éventuellement rédaction sur le blog de l'entreprise
La voie transversale
Il est parfaitement possible d'évoluer vers un rôle moins technique !
Ainsi, il arrive fréquemment que des développeurs souhaitent devenir Product Manager, avec un regard et une connaissance assez pointue sur la technique sous-jacente. Il existe également des rôles d'évangélistes ou de spécialistes, qui sont plus en relation avec l'extérieur ou les clients, tout en étant très techniques.
Pourquoi choisir la voie du Lead ?
Si on aime avoir plus de variété de tâches, qu'on aime la technique mais sans souhaiter en faire tout le temps, on pourra commencer par devenir mentor, puis Tech Lead. La progression se fait ensuite sur différents échelons de management (Lead Dév, Engineering Manager, VP Engineering ou CTO).
Être Lead Développeur, c'est — comme indiqué dans la première partie de cet article — avoir plus de responsabilités, une plus grande variété de tâches. Il y a bien évidemment des avantages et des inconvénients.
Les principaux avantages :
- la transmission
Lorsqu'on aime transmettre, le rôle de Lead Développeur est une évidence. Encadrer & guider une équipe de développeurs est au coeur des journées du Lead. - un plus grand impact
Etant en communication avec plus d'acteurs de la société, et ayant des responsabilités plus grandes sur son projet, le Lead a forcément un plus grand impact. Il est plus aisé d'orienter les priorités ou les décisions techniques. - une meilleure vision, un meilleur alignement
Il n'est pas forcément facile, lorsqu'on est développeur d'avoir une vision sur le pourquoi de nos projets. En tant que Lead, c'est plus facile, puisqu'on est beaucoup plus impliqué dans les discussions, les priorisations et les décisions.
Et les inconvénients..
- plus de réunions
Malheureusement, il est compliqué d'éviter entièrement les réunions quand on a un rôle de facilitateur. En revanche, pas de panique ! Le temps en réunion n'est en général pas majoritaire. - plus d'interruptions, moins de temps à coder.
Etant un point de contact privilégié, le Lead est beaucoup plus souvent sollicité. Il est donc plus difficile d'avoir des heures d'affilée à coder sans interruption.
La principale difficulté est la gestion de son temps.
Les semaines ne sont plus aussi simples lorsqu'on est Lead, et il faut s'avoir s'organiser.
Besoin d'aide pour gérer ton temps ? Je coach sur ce sujet !
Si tu te visualises dans ce métier et que les inconvénients te paraissent dérisoires par rapport aux avantages, c'est probablement que le métier de Lead Développeur est fait pour toi ! Découvrons ensemble comment devenir un bon Lead Dév ...
Comment devenir Lead Développeur ou Tech Lead ?
Il n'existe aujourd'hui pas de formations pour devenir Lead Développeur. En effet, il s'agit d'un métier qui s'apprend essentiellement sur le tas, et d'un rôle qui s'acquiert avec l'expérience. En revanche, il y a bien entendu un chemin assez clair pour évoluer vers ce rôle !
1. Acquérir de l'expérience en tant que développeur
Ce rôle est très technique et demande des connaissances techniques poussées et variées pour prendre les bonnes décisions. Il n'y a pas de raccourcis possibles ! Il est donc important de passer plusieurs années en tant que développeur professionnel avant de devenir Lead Dév. Le plus important à ce stage est d'acquérir des compétences en T (horizontales pour comprendre tous les sujets principaux, verticale en tant qu'expert sur un sujet).
2. Manifester son intérêt
Tout le monde n'aime pas les responsabilités ou le management. Le plus simple lorsqu'on est intéressé est de manifester son intérêt à son manager !
3. Mentorer des développeurs juniors
Le mentoring est la première étape vers le Lead. Cela permet de commencer à guider des développeurs moins expérimentés sans avoir des responsabilités de type management
4. Devenir Lead pour la première fois !
Il y a deux manières principales de devenir lead :
- en devenant Lead en interne, parce qu'on est la expérimentée et qu'une personne change de position
- soit en recherchant un emploi en tant que Lead Développeur junior
Le mieux est de commencer avec une petite équipe (1 ou 2 développeurs). A noter que dans de nombreuses sociétés, on commence par être Tech Lead, c'est à dire référent technique mais sans être manager, assuré par des Engineering Manager.
J'espère vraiment que cet article t'a permis de mieux comprendre ce qu'est un Lead Développeur, et comment le devenir.
J'anime également des cercles de Lead Développeurs, pour que l'on puisse échanger entre nous sur nos difficultés et partager nos bonnes pratiques. J'accompagne également les développeurs seniors ou les Lead Développeurs sur leurs problématiques spécifiques comme la gestion du temps, le management ou l'agilité.