Engineering Leadership

By Hugo LassiègeMay 1, 20239 min read

Il y a quelques années, lors d’un meetup à Lyon je me rappelle avoir rencontré un jeune diplômé, appelons-le José, qui était intéressé par Malt. Il avait eu une manière surprenante d’entamer la discussion. Il me disait qu’il ne souhaitait pas trop parler et que son métier de toute façon ne nécessitait pas d’interactions, juste de coder. Autant dire qu’il ne m’avait pas totalement convaincu.

Mais si José était sans doute très caricatural, il n’est pas unique.

Pourtant, loin des clichés de “The social Network” ou la série “Silicon Valley” le développement informatique est une activité beaucoup plus sociale qu'il n'y paraît. Les équipes Produits des outils que vous utilisez régulièrement se comptent en centaines, voire milliers de personnes.

Le développement informatique est l’une des activités les plus collaboratives qui soit. C’est un travail qui nécessite de bien comprendre les problèmes à résoudre, donc de parler avec de nombreux utilisateurs. C’est un travail qui nécessite de savoir prioriser, donc d’être dans les bonnes discussions pour avoir le contexte. L’activité même de développement est une activité qui implique de multiples discussions auprès des utilisateurs, du Product Manager, du business. Et bien sûr, c’est un travail d’équipe impliquant de nombreuses spécialités, front, back, ops, sécurité, data etc…

Bref, ce n’est pas une activité solitaire, ce qui rend cette activité particulièrement complexe. Au-delà d'une nécessaire maîtrise individuelle, se pose une question majeure, comment apporter de l'impact dans un large groupe d'individus et même mieux, comment démultiplier son impact grâce au groupe ?

A l'inverse, comment éviter que ce groupe parte dans toutes les directions et fasse mauvais usage de ces ressources ?

Le Leadership, une autre forme de management

Une ambiguïté forte subsiste souvent quand on parle d’évoluer en tant que Senior.

Pour quelques entreprises, le management est l’unique voie d’évolution pour un(e) Senior. L’idée étant que les Software Engineer les plus chevronné(e)s feront les meilleurs managers. De fait, elles perdent leurs contributeurs individuels les plus expérimentés pour les convertir à un autre métier sur lequel il n’y a aucune garantie que cela fonctionne. C'est le fameux principe de Peter. Je ne m'éternise pas sur cette erreur, ce n’est pas le but de ce chapitre

Mais, côté contributeurs individuels, il y a également un stéréotype persistant. Quelques personnes pensent qu’il y a les managers d’un côté, un rôle un peu flou qui sert à faire des réunions et remplir des fichiers excel, et les contributeurs individuels de l’autre côté, qui développent l’application.

C’est très caricatural et cache une incompréhension du rôle de manager, d'une part.

D'autre part, cela mène aussi à dénigrer les tâches assimilées à du management et penser qu’un(e) contributeur individuel ne doit jamais être impliqué dans ce type d’activités qui seraient par essence, moins nobles.

Pourtant, si on reprend la définition du management de wikipedia :

Le management se définit comme l’ensemble des techniques d’organisation et de gestion pour conduire, piloter l’action des individus.
Wikipedia

À partir de senior, pour créer plus d’impact, il faut développer sa capacité à présenter des solutions, argumenter et convaincre sur une stratégie, rassembler des personnes autour d’un objectif, coordonner des groupes de personnes, mesurer des résultats. Pour tout cela, il va falloir utiliser des compétences de management, ce qu’on peut regrouper sous le leadership technique. On ne développe plus seulement une application, on commence à "programmer" une organisation.

Coding the company
Coding the company

Faire bien les choses est important.
Faire les bonnes choses est crucial.
Faire que tout le monde soit aligné sur les bonnes choses à faire est fondamental.

Et malgré les apparences, c’est bien le rôle des contributeurs individuels quand il s’agit de design, d’architecture et de réalisation techniques complexes.

Ce que je regroupe derrière le terme leadership est tellement important qu’il fait partie pour moi des deux barrières importantes, avec l’amélioration de la compréhension business, à débloquer pour dépasser le rôle de Senior et augmenter son impact dans une organisation.

Career path showing that leadership needs new skills
Career path showing that leadership needs new skills

On parle parfois de “Leadership chasm” : le fossé qu’il faut combler pour évoluer après le stade de Senior.

Développer son réseau

Développer son réseau revient à créer les bonnes conditions pour réussir à déplacer des groupes de personnes dans la même direction.

Quand on parle de développer son réseau, j’entends parfois des personnes répondre qu’elles n’aiment pas faire de la politique.

Je ne sais pas si “faire de la politique” a la même connotation négative dans tous les pays. Mais en France, c'est très souvent associé à de la manipulation dans le but de se procurer un avantage personnel.

Alors effectivement, ne faites pas de la politique.

Mais l'objectif ici, c'est d'utiliser l'effet de levier d'un groupe pour accomplir plus grand que ce qu'on réaliserait tout seul.

Tout seul on va plus vite, ensemble, on va plus loin
Proverbe africain

Il existe de multiples façons de construire ce réseau au sein d’une équipe produit.

Vous pouvez par exemple être régulièrement disponible pour apporter de l’aide ou faire du travail en pair programming, lorsque des collègues en ont besoin.

Vous avez la possibilité de faire du coaching ou du mentorat avec des personnes qui le souhaitent et/ou des nouveaux arrivants.

Vous pouvez faire du transfert de connaissance via de la formation, des BBL, des REX (retour d’expériences).

Cette liste n’est pas exhaustive, je n’inclus pas toutes les bonnes pratiques de travail en équipe (respect des délais, mises à jour régulières, communication claire etc…). Ce qui est important ici, c'est de susciter des échanges réguliers avec ces pairs, de comprendre les points de douleurs que l’équipe peut connaître, de travailler à améliorer la productivité globale.

On évoque souvent les 10x developers, des personnes qui produisent 10x plus. Mais pour une personne Senior, l’objectif pour démultiplier son impact, c'est surtout de contribuer à créer des équipes 10x.

Un réseau élargi dans l’entreprise

Impact growing by circle
Impact growing by circle

Je l’évoquais dans un chapitre précédent, l’influence et l’impact que l’on peut avoir en tant que contributeur individuel doit dépasser le cercle de l’équipe produit. Pour cela il faut étendre son réseau, que ce soit à travers l’ensemble de l’entreprise ou en dehors.

J’entends par là, faire du shadow (observer des personnes du support, ou des équipes commerciales), prendre le rôle d’une personne pendant une journée (le support s’y prête bien), et tout simplement participer à des discussions métiers avec les autres départements.

José vous dirait sans doute que ces discussions ne lui sont pas naturelles. Il préfère rester dans des groupes qui partagent les mêmes codes, la même culture. C’est justement le point. Sortir de l’équipe Engineering est nécessaire pour construire une meilleure compréhension des problèmes que l’on doit et peut résoudre.

Bien sûr, c’est compliqué, il faut apprendre de nouveaux jargons, de nouveaux codes. Mais c’est de cette façon qu’on peut développer son empathie : la capacité de s’identifier à l’autre, de comprendre comment il ou elle utilise votre produit, comment vous pourriez lui apporter de la valeur. Et ça va dans les deux sens.

Un réseau en dehors de l’entreprise

Enfin, on peut étendre ce réseau de confiance en dehors de l’entreprise.

Si je prends mon expérience personnelle, je blogue depuis 2006. Je suis impliqué dans les communautés depuis 2011 avec notamment des participations à l’organisation de Devoxx France, Blend Web Mix ou la création des Human Talks à Lyon. Actuellement je suis actif sur des channels slack comme Tech.rocks, Rands, ou FrenchProduit. Indirectement ces actions m’ont permis de rencontrer et de recruter de nombreuses personnes chez Malt et donc avoir un impact positif sur mon entreprise. L’avenir me dira si j’ai pu aussi avoir une influence positive sur l’écosystème dans lequel j’évolue.

Mais si on pense surtout au recrutement, ce n’est pas le seul impact positif possible. Certains ont contribué à créer des formats, spécifications ou protocoles standards à l’ensemble de l’industrie. Cette standardisation a pu permettre à leur entreprise un meilleur usage grâce à une plus forte interopérabilité et tout simplement de ne plus perdre autant de temps sur des sujets maintes fois réinventés par chaque acteur dans un même secteur.

D’autres ont fait bénéficier leur entreprise de leur travail au sein d’une communauté et je vous propose de l’illustrer avec l’exemple de Florent et Olivier.

Date : 2012

Acteurs : Florent Biville et Olivier Girardot - Software engineer chez Lateral-Thoughts

Topic : création de partenariat exclusif avec des éditeurs de logiciels

Florent et Olivier étaient tous deux membres de Lateral-Thoughts en 2012, une petite société de conseil de 10 personnes.

Chacun d’entre eux s’était appliqué à faire beaucoup de veille autour de Spark pour Olivier et Neo4j pour Florent. De fil en aiguille, ils ont blogué, participé à des conférences, des ateliers et se sont construits un réseau autour de cette expertise.

Ce réseau en retour leur a permis d’entrer en contact avec les éditeurs des logiciels Spark et Neo4j. Et ces éditeurs ont tous deux choisi de créer un partenariat exclusif Européen pour la formation et le conseil avec Lateral-Thoughts.

Et voici comment Florent et Olivier ont su créer un réseau de confiance et, via ce réseau, nouer un partenariat entre des éditeurs internationaux et leur société, pourtant pas plus grande que 10 personnes. Bref, ils ont créé de l’impact pour leur entreprise, voire pour l’industrie en contribuant à étendre l’usage de ces softs en Europe au début des années 2010.

Pour l’anecdote, Florent travaille aujourd'hui pour la société Neo4j.

Ce chapitre est le premier d'un gros morceau autour du leadership. Si je suis bien conscient qu'il n'existe pas une seule façon de faire les choses, j'aimerais exposer dans les prochains chapitres les principes qui sont communs à de nombreuses organisations efficaces :

  • Hard leadership vs soft leadership
  • La notion d'équipes autonomes (empowered teams)
  • Qu'est-ce qu'une vision technique et comment la créer
  • L'alignement par le contexte
  • La notion d'équipe 10x

Questions

Diriez-vous que vous êtes moteur sur l’organisation de la stratégie technologique ? C'est-à-dire que vous êtes à l’initiative des groupes de discussion, que vous listez les actions à faire, que vous surveillez les plannings, fixez les objectifs et faites le suivi ? Ou bien est-ce uniquement de la responsabilité des managers ?

Quelle est la dernière fois que vous avez eu une discussion avec des personnes d’autres équipes que la vôtre, au sein du produit, mais aussi avec le marketing, les équipes de vente, le support client… ?

Avez-vous récemment passé une journée avec une autre équipe pour les regarder travailler sur les produits que vous développez ?

Avez-vous tenté d’endosser le rôle d’une personne au support client, ou dans l’équipe de test ?

Ressources

TIP

Ce billet de blog fait partie du livre Impactful Software Engineering.
N'hésitez pas à lire les autres chapitres.


Share this:

Written by Hugo Lassiège

Software engineer, ex-freelance, ex-cofounder, ex-CTO. I love building things, sharing knowledge and helping others.

Next Article
Previous Article
Copyright © 2024
 Eventuallycoding
  Powered by Bloggrify