The Manager's Path
Chapitre 3 / 9 · 15 min de lecture

Le Tech Lead : leader sans être manager

Le premier rôle de leadership technique : porter une vision de projet, coordonner sans autorité hiérarchique, et rester technique.

Le responsable technique (tech lead) est le premier endroit où beaucoup d'ingénieurs touchent au leadership — et c'est souvent une surprise. Camille Fournier le raconte de mémoire : elle a été nommée tech lead sans être la personne la plus ancienne de son équipe, ni la plus haut placée. Ce qui a fait la différence, ce n'était pas sa supériorité technique, mais le reste : elle communiquait clairement, savait prioriser, et surtout elle était prête à ramasser les morceaux et faire ce qu'il fallait pour avancer. Cette « urgence pragmatique » a pesé plus lourd que les années d'expérience. Car le rôle de tech lead, rappelle-t-elle, est avant tout une position de leadership, même quand ce n'est pas une position de management.

C'est aussi le rôle le plus mal compris du parcours. L'idée que le tech lead devrait revenir automatiquement au meilleur codeur de l'équipe est une erreur classique, dans laquelle tombent même des managers chevronnés. Fournier décrit l'ingénieur brillant qui détestait parler aux gens, se perdait de terrier en terrier (« rabbit hole after rabbit hole ») dans des détails techniques, pendant que le product manager profitait de son absence pour engager l'équipe sur des livraisons mal conçues et bien trop agressives. Le projet est devenu un désastre — et le tech lead, lui, est reparti chasser le prochain refactoring. Ce chapitre déplie ce qu'est vraiment ce rôle, ses différentes casquettes, la compétence-clé qu'il exige (la gestion de projet), et le grand défi qui l'accompagne : rester technique tout en prenant du recul.

Un ensemble de responsabilités, pas une promotion

Première chose à comprendre : le tech lead n'est pas un échelon sur l'échelle de carrière (career ladder), mais un ensemble de responsabilités qu'un ingénieur peut endosser une fois arrivé au niveau senior. Chez Rent the Runway, l'équipe de Fournier a volontairement défini le rôle de cette façon, parce que, à mesure que les équipes évoluent, la casquette de tech lead peut passer d'un ingénieur à un autre sans que ni l'un ni l'autre ne change de niveau hiérarchique. C'est un titre souvent temporaire : un jeu de responsabilités que l'on prend, puis que l'on lâche, plusieurs fois dans une carrière.

Patrick Kua, cité par Fournier, en donne une définition courte et utile :

Note

« Un leader, responsable d'une équipe de développement (logiciel), qui passe au moins 30 % de son temps à écrire du code avec l'équipe. » (Patrick Kua, Talking with Tech Leads)

Deux mots à retenir : leader (donc des compétences humaines) et au moins 30 % de code (donc toujours technique). Le tech lead n'est ni un manager pur ni un ingénieur isolé.

Notez bien : il n'y a là rien de spécifiquement technique dans la définition du leadership attendu. C'est un rôle senior, mais le ramener au « meilleur ingénieur de l'équipe » est une erreur. On ne peut pas mener sans embarquer les autres — et ce sont précisément les compétences humaines (people skills) que l'on demande au nouveau tech lead de muscler, bien plus que l'expertise technique pure.

Piège courant

Le tech lead est ce que Fournier appelle, avec humour (clin d'œil aux Simpson), la « Pierre du Triomphe » (Stone of Triumph) : une reconnaissance qui arrive avec un lourd prix à payer. Très rarement accompagné d'une augmentation ou d'un changement de titre, le rôle représente une pure augmentation de responsabilités et de périmètre — et la plupart des managers attendront de vous que vous continuiez à coder presque autant qu'avant. Si vous êtes tech lead pour la première fois, vous avez les mains très pleines.

Diriger sans autorité hiérarchique

Le cœur du rôle, résume l'ingénieure Caitie McCaffrey dans le livre, est un exercice d'influence sans autorité (influencing without authority). Le tech lead mène une équipe, mais tout le monde — lui compris — reporte au même manager. Il doit donc influencer latéralement ses pairs, et aussi vers le haut, son propre manager, pour s'assurer que l'équipe priorise le bon travail.

L'exemple est éclairant : devenir tech lead l'a obligée à déplacer son centre de gravité. Le travail n'est plus tourné vers soi et l'idée la plus stimulante techniquement, mais vers l'équipe. Les questions changent : Comment les rendre autonomes ? Comment retirer les obstacles qui les ralentissent ? Lorsqu'elle a voulu geler le développement de fonctionnalités pour s'attaquer à la dette technique (technical debt), elle n'a pas imposé sa décision : elle l'a vendue en parlant à chacun selon ce qui comptait pour lui — service plus fiable pour les uns, vitesse d'itération pour les autres, astreinte (on-call) moins infernale pour ceux qui ne dormaient plus la nuit. À son manager, elle a mis en avant la réduction de la charge opérationnelle, qui libérerait du temps pour plus de fonctionnalités à l'avenir.

Astuce

Pour faire accepter une décision impopulaire, ne récitez pas une justification unique. Reformulez l'impact pour chaque interlocuteur selon ce qui compte pour lui. La même initiative (réduire la dette) se vend différemment à un développeur épuisé par l'astreinte, à un pair pressé d'itérer, et à un manager assailli de demandes clients.

Les casquettes du tech lead

La priorité la plus haute du tech lead est de prendre une vue d'ensemble pour que le projet continue d'avancer. Imaginez un effort de plusieurs semaines, avec un product manager et quatre autres ingénieurs. Selon le moment du cycle de vie du projet, vous porterez tour à tour plusieurs casquettes — écrire du code n'étant que l'une d'elles, et probablement pas la plus importante.

CasquetteCe que vous faitesCompétence travaillée
Architecte système & analyste métier (systems architect & business analyst)Identifier les systèmes critiques à faire évoluer et les fonctionnalités à construire ; donner une structure pour estimer et ordonner le travail ; traduire les besoins métier en logicielVision globale de l'architecture, conception de logiciels complexes
Planificateur de projet (project planner)Découper le travail en livrables grossiers, trouver des découpages efficaces, maximiser le travail en parallèle via des abstractions convenuesPenser le travail d'un groupe, pas seulement le sien
Développeur & meneur d'équipe (software developer & team leader)Continuer à écrire du code (mais pas trop), communiquer les obstacles tôt, déléguerSavoir quand faire soi-même et quand confier aux autres

Quelques précisions sur chaque rôle, fidèles au texte.

Architecte et analyste métier

Ici, le but n'est pas d'identifier parfaitement chaque élément du projet, mais de réfléchir en amont aux externalités et aux problèmes qu'il soulève, afin de fournir une base pour estimer et ordonner. Cela suppose une bonne perception de l'architecture globale de vos systèmes et la capacité de traduire des exigences métier en logiciel.

Planificateur de projet

Le planificateur découpe le travail en livrables. Le défi : faire avancer un maximum de travail en parallèle — ce qui est difficile, car vous aviez l'habitude de ne penser qu'à votre propre travail. La clé est de trouver où appliquer des abstractions convenues pour permettre le travail simultané. L'exemple de Fournier : si un frontend consomme des objets JSON depuis une API, inutile d'attendre que l'API soit terminée — convenez du format JSON et codez le frontend contre des objets factices (dummy objects). À ce stade, sollicitez les experts de l'équipe, ceux qui connaissent à fond les parties concernées, et commencez à dégager les priorités : qu'est-ce qui est critique, qu'est-ce qui est optionnel, comment traiter le critique tôt ?

Développeur et meneur d'équipe

À mesure que le projet avance, des obstacles imprévus surgissent. La tentation est de jouer les héros et de tout pousser soi-même, à coups d'heures supplémentaires. Résistez.

Attention

Même si vous êtes tenté de sortir le lapin du chapeau vous-même, communiquez d'abord l'obstacle. Votre product manager doit être au courant le plus tôt possible de toute difficulté potentielle ; appelez votre manager à l'aide si besoin. Dans une organisation saine, il n'y a ni honte ni danger à remonter un problème tôt. Les équipes échouent souvent parce qu'elles se sont épuisées sur une fonctionnalité sur laquelle le product manager aurait volontiers accepté un compromis.

À l'approche d'une échéance, il y aura des compromis sur les fonctionnalités. C'est aussi le moment de chercher à déléguer, en particulier les parties que vous comptiez construire vous-même mais n'avez pas eu le temps d'attaquer. Vous n'avez pas à porter toutes ces casquettes en même temps — l'inconfort du début s'estompe avec la pratique.

La gestion de projet, compétence-clé démystifiée

C'est la grande nouveauté technique du rôle : la gestion de projet (project management). Les ingénieurs la dénigrent volontiers — Fournier elle-même se souvient de sa première expérience comme « l'une des pires », une série d'étapes frustrantes et fastidieuses où il fallait affronter l'incertitude et la peur d'oublier une pièce. Mais ce fut aussi l'un des apprentissages les plus importants de sa carrière.

Première idée reçue à écarter : l'agilité ne supprime-t-elle pas la gestion de projet ? Non. L'agile est une excellente manière de penser le travail (découper, planifier les petits morceaux, livrer de la valeur par incréments), mais certains projets — souvent décrits par les mots infrastructure, plateforme, système — comportent beaucoup d'inconnues et des échéances dures, et ne rentrent pas bien dans le processus agile standard. Vous devrez estimer leur durée pour votre direction et expliquer pourquoi.

Fournier définit précisément ce qu'est la gestion de projet :

À retenir

La gestion de projet, c'est découper un but complexe en plus petits morceaux, les ordonner à peu près efficacement, identifier ce qui peut se faire en parallèle et ce qui doit être séquentiel, et débusquer les inconnues susceptibles de ralentir ou faire échouer le projet. Vous adressez l'incertitude — en sachant que, malgré vos efforts, vous ferez des erreurs et raterez des inconnues.

Et surtout, la valeur de la planification n'est pas d'exécuter le plan à la perfection ni de prédire l'avenir. Elle est d'imposer l'autodiscipline de réfléchir au projet en profondeur avant de plonger. Le plan lui-même, aussi exact soit-il, compte moins que l'acte de planifier. Lors de son premier grand projet, rien ne s'est passé exactement comme prévu — bugs, retards, oublis — mais l'équipe a livré à peu près à temps et sans nuits blanches, parce qu'elle avait un plan et avait identifié les risques.

Les cinq étapes de la conduite d'un projet

ÉtapeCe qu'il faut faireLe piège
1. Découper le travailPartir du gros livrable, le casser en morceaux de plus en plus petits ; demander de l'aide pour les parties mal connues ; ordonner, et confier ce qui peut démarrer tout de suiteVouloir tout faire seul
2. Pousser à travers détails et inconnuesContinuer malgré l'irritation, l'ennui et la douleur ; un bon manager s'assoit avec vous, pose des questions, signale ce qui n'est pas assez bonS'arrêter dès qu'on est un peu coincé ou lassé
3. Mener le projet et ajuster le planSuivre où en est le projet et ce qu'il reste ; quand ça dérape (toujours), tenir tout le monde informé en pointant les jalons atteintsContinuer à deviner l'avancement au lieu de le mesurer
4. Gérer les changements d'exigencesRéutiliser ce que le découpage vous a appris ; si un changement ajoute du risque ou du travail, être clair sur son coûtAccepter des changements sans en chiffrer l'impact
5. Revisiter les détails près de la finLe fastidieux revient : tests, vérifications, pré-mortem (lister tout ce qui peut rater au lancement) ; fixer et socialiser la ligne du « assez bon », couper le reste, faire un plan de lancement et de rollbackNégliger les finitions… et oublier de célébrer !

Astuce

Fournier avoue ne pas aimer recruter des chefs de projet dédiés : ils deviennent souvent une béquille qui dispense les ingénieurs d'apprendre à penser leur travail futur et à poser de vraies questions sur ce qu'ils font et pourquoi — leur présence pousse vers des projets en cascade plutôt qu'agiles. La gestion de projet doit avoir lieu, mais c'est à vous, tech lead, de la faire quand elle est nécessaire, surtout pour les projets profondément techniques. Inutile aussi de la dérouler en détail pour chaque effort : elle est surutilisée dans certaines organisations.

Le grand défi : rester technique tout en prenant du recul

Le « truc » le plus important d'un bon tech lead, écrit Fournier, est la volonté de s'écarter du code pour équilibrer ses engagements techniques avec ce dont l'équipe a besoin. C'est l'art de l'équilibre — et ce sera désormais l'un des défis centraux de toute votre carrière. Pire : il vous faudra équilibrer ce que vous savez faire et aimez faire (coder) avec ce que vous ne savez pas encore faire. Comme tout humain préfère ce qu'il maîtrise, passer moins de temps sur vos talents actuels pour apprendre du neuf est franchement inconfortable.

À faireÀ éviter
Vous réserver des blocs de temps assez grands pour coderVous laisser happer au hasard par des réunions (la pire erreur de planning)
Aider votre boss et le product manager à respecter le temps de concentration de l'équipeLaisser un calendrier de réunions écraser les contributeurs individuels
Continuer à coder, mais pas trop ; prendre parfois une tâche amusanteVous accaparer tout le travail intéressant — ou tout le plus ennuyeux
Déléguer sans micro-managerFaire de l'héroïsme et tout pousser vous-même
Impliquer l'équipe dans les décisions techniques majeuresDécider seul (l'équipe vous en voudra) — ou ne rien décider (ça traîne)

Le statut social du rôle évolue aussi. Le point le plus difficile à accepter : vous n'êtes plus forcément le meilleur codeur de la pièce, et ce n'est pas grave. Votre productivité personnelle compte désormais moins que celle de toute l'équipe. Vous payez le « prix » de la communication : plutôt que faire asseoir chaque membre en réunion, vous représentez l'équipe, portez ses besoins, et rapportez l'information.

À retenir

Si un talent universel sépare les leaders qui réussissent des autres, c'est la communication. Les bons leaders écrivent bien, lisent attentivement et savent prendre la parole devant un groupe. C'est le moment de pratiquer : rédigez des documents de conception (design documents) et faites-les relire par de meilleurs rédacteurs, écrivez des billets de blog, parlez en réunion d'équipe et en meetup. Et n'oubliez pas d'écouter : laissez les autres parler, reformulez ce qu'ils disent pour vérifier que vous avez compris, devenez un bon preneur de notes. Sans cela, votre croissance — manager ou pas — stagnera.

Bien gérer la relation avec votre propre manager

Le tech lead influence aussi vers le haut. Concrètement : demandez à votre manager ce qu'il attend du rôle, car la définition varie d'une entreprise et même d'une équipe à l'autre. C'est souvent votre manager qui vous poussera (comme Mike, le boss de Fournier, l'a forcée à produire un vrai plan de projet) à faire le travail inconfortable et formateur de découpage. Un bon manager s'assoit avec vous, pointe ce qui n'est pas assez détaillé, pose des questions et fait une partie du chemin avec vous : c'est un exercice d'enseignement, pas un contrôle.

Quelques traits des grands tech leads

  • Comprendre l'architecture. Si vous ne maîtrisez pas pleinement l'architecture que vous soutenez, prenez le temps de l'apprendre, de la visualiser : où vivent les données, comment elles circulent entre systèmes. On ne mène pas bien un projet dont on ne comprend pas l'architecture qu'on modifie.
  • Être un coéquipier. Si vous faites tout le travail intéressant, arrêtez. Allez débloquer les zones pénibles et ennuyeuses — on y apprend beaucoup sur ce qui est cassé dans le processus. Mais si vous ne faites que le travail ennuyeux, arrêtez aussi : offrez-vous parfois une tâche stimulante, du moment que vous avez le temps de la faire bien.
  • Mener les décisions techniques. Être impliqué dans la plupart des décisions n'est pas être le seul à toutes les prendre. Déterminez lesquelles vous reviennent, lesquelles déléguer à plus expert, et lesquelles exigent toute l'équipe — puis communiquez clairement le sujet et l'issue.

Attention

Attention au « tsar du processus » (process czar) que devient parfois un ingénieur fraîchement nommé tech lead : convaincu qu'il existe un unique « bon outil » ou un unique « bon processus » qui réglera tous les problèmes de planification, de focus et de priorisation. Il fige le travail le temps de chercher le processus parfait, ou impose sans cesse de nouveaux outils. Or un changement de processus n'est presque jamais une solution miracle pour des problèmes qui relèvent de la communication ou du leadership. Cherchez plutôt des processus auto-régulés : si vous vous surprenez à jouer le gendarme des règles, demandez-vous si la règle elle-même ne peut pas être rendue plus facile à suivre.

Faut-il devenir tech lead ?

Fournier a une opinion tranchée : ne poussez personne — et ne vous laissez pas pousser — vers le management avant d'être prêt. Rester profondément dans la technique n'a rien de honteux, surtout s'il vous reste beaucoup à apprendre. Mais elle est lucide : à un moment, pour progresser, vous devrez probablement faire le travail de tech lead, même sur la voie de contributeur individuel (individual contributor). Au-delà du niveau senior 2, c'est presque incontournable, tant le leadership et la responsabilité pèsent à ces échelons.

Le critère de décision est simple : si le travail purement individuel vous met encore au défi techniquement, et que vous préférez que quelqu'un d'autre pilote, ne prenez pas le rôle maintenant. Si, au contraire, ce travail ne vous challenge plus, il est peut-être temps de vous pousser vers de nouvelles compétences — et celles du tech lead sont d'excellentes à essayer.

À retenir

  • Le tech lead est un rôle de leadership, pas (encore) de management : un ensemble de responsabilités temporaires qu'un ingénieur senior endosse — et peut lâcher — sans changer d'échelon. Ce n'est ni un titre, ni une récompense automatique pour le meilleur codeur.
  • C'est un exercice d'influence sans autorité : il faut convaincre ses pairs et son propre manager, en reformulant l'impact d'une décision selon ce qui compte pour chacun.
  • Le rôle se décline en plusieurs casquettes — architecte/analyste métier, planificateur de projet, développeur/meneur d'équipe — qu'on porte tour à tour, pas toutes en même temps.
  • La compétence-clé est la gestion de projet, démystifiée : découper, ordonner, paralléliser, débusquer les inconnues et suivre l'avancement. Sa vraie valeur n'est pas le plan parfait, mais l'autodiscipline de penser le projet avant de plonger.
  • Le grand défi est l'équilibre : continuer à coder (au moins 30 %) mais pas trop, déléguer plutôt que faire de l'héroïsme, communiquer les obstacles tôt, et accepter de ne plus être le meilleur codeur de la pièce.
  • La communication (écrire, parler, écouter, reformuler) devient le talent décisif — et comprendre l'architecture que l'on modifie reste indispensable pour mener.