Posture 1 : Développeur·se
Développeur junior
- Capable de s’acquitter de tâches d’implémentation relativement bien définies, en suivant des normes techniques (TDD…)
Développeur confirmé
- Capable d’aborder des demandes explicites (user stories, etc.), de les qualifier, au besoin demander des clarifications, définir des solutions techniques appropriées, les implémenter en suivant des normes techniques et de processus
Développeur sénior
- Capable de pallier proactivement à des carences ou des ambiguités dans le cadrage des demandes, sensible à leur cohérence globale dans le cadre d’une démarche produit ou projet, capable de “debugger” également les processus
Posture 2 : Technical Leader
Mission
La mission d’un·e Tech Lead est d’aider chacun·e dans l’équipe à contribuer techniquement.
Elle aide notamment l’équipe à
- comprendre le problème
- gérer le flot des idées
- maintenir la qualité
Compétences
Les outils à sa disposition sont tous les procédés qui impliquent à la fois ces trois dimensions du travail technique en équipe :
- Motivation : ce qui incite ou dissuade les membres de l’équipe à contribuer techniquement
- Organisation : la structure qui permet de mettre en pratique les idées et de les réaliser
- Idées (ou Innovation) : la vision qui guide les réalisations de l’équipe
Exemples de procédés sur lesquels un·e Technical Leader possède des compétences lui permettant de pratiquer et transmettre par sa pratique :
architecture decision record — gestion de source (notamment log) — trunk based development — ensemble programming — pair programming (notamment strong style) — continuous integration / continuous deployment — TDD — BDD — mikado method — slow debug — user story — event storming — feedback structuré — check in — open space — perfection game — time box — debrief
Devenir Tech Lead ce n’est pas devenir de plus en plus pointu•e techniquement
Posture 3 : Coach Technique
Mission
La mission d’un·e Coach Technique est d’aider nos clients à poursuivre les buts qu’ils se donnent dans leurs réalisations techniques.
- Le client peut être une personne (e.g. un manager, un DSI, un CTO, un responsable d’application, un PM, un PO, un TL) ou une équipe.
- Le client du coaching est désigné au moment du cadrage de mission. En coaching en entreprise (à la différence du coaching individuel) le client, le mandataire et le prescripteur ne sont pas la même personne.
Le Coach Technique aide notamment le client à :
- formuler, élaborer, au besoin découvrir ses objectifs techniques
- reconnaître et évaluer la situation présente en regard de ses objectifs
- améliorer son état de l’art et l’état de l’art de ses équipes
Compétences
Les outils à sa disposition sont tous les procédés de coaching qui permettent d’aider un client dans le cadre d’une réalisation technique. Cela inclut la maîtrise des procédés du Technical Leader, mais également ces procédés de coaching spécifique :
cadrage de mission de coaching — supervision — facilitation d’ateliers (notamment open space, event storming, Wardley Maps, ateliers Etats de l’Art, ensemble programming, mikado method, slow debug) — debrief — time box — feedback structuré — check in — open space — perfection game — écoute active — médiation — navigation dans un conflit
Le Coach Technique n’est pas un “super Tech Lead” :
- Le Tech Lead fait partie d’une équipe, pas le Coach Technique.
- Le Tech Lead contribue aux résultats de l’équipe en faisant avec elle,
- tandis que le Coach Technique contribue aux résultats de l’équipe en interagissant avec l’équipe, afin de l’aider à se comprendre elle-même, trouver son centre et avancer dans la direction de ses objectifs.
Par contre-exemple, il est extrêmement rare de voir un.e Coach Technique réalise une user story, ou contribue directement aux artefacts produits par l’équipe.
Posture 4 : Intrapreneur·se / Spin-Off
Critères et exigences
Work in progress
Notes en vrac…
Il existe peut-être encore d’autres options ?
- CTO de transition / “CTO as a service”
- expert·e technique (un domaine / une techno en particulier)
- formateur·trice