Gérer à plusieurs niveaux
Sur papier, je gère actuellement des leaders et des IC seniors qui représentent environ 25 ingénieurs. La structure a changé avec le temps. Il y a quelques années, nous étions plus près de 40, et d’autres ajustements sont peut-être à venir. Je ne gère pas la plupart des développeurs directement; je gère les gestionnaires qui dirigent ces équipes, donc il y a déjà une couche entre moi et les ingénieurs.
Je m’occupe des salaires, des vacances, des évaluations de rendement, et j’aide à définir l’orientation de l’ingénierie avec le CTO, mais les détails opérationnels passent par mes gestionnaires avant de m’atteindre. À elle seule, cette structure ajoute de la complexité.
Une matrice par-dessus tout ça
En plus de cette couche interne, nous évoluons dans une structure matricielle. Les ingénieurs relèvent de l’ingénierie comme discipline, mais leur travail vient des unités d’affaires auxquelles ils sont assignés. Leur backlog est piloté par les Product Owners, et la validation des livrables se fait du côté affaires.
La structure ressemble à ceci : les affaires définissent le travail, les gestionnaires coordonnent l’exécution, les ingénieurs livrent, et moi je demeure responsable à l’échelle de l’ensemble du système. Je n’attribue pas les tâches au quotidien, mais je suis responsable de la façon dont le système performe.
Être responsable sans contrôle direct
Même sans contrôler directement les priorités, je demeure responsable de la livraison. Si un projet prend du retard ou que la qualité baisse, ça rejaillit sur l’ingénierie, et si les parties prenantes sont insatisfaites, cette rétroaction finit par revenir vers moi.
J’évalue la performance de mes gestionnaires et, indirectement, celle de leurs équipes, et une partie importante de ce signal vient du côté affaires : fiabilité, communication, sens de l’ownership et capacité à naviguer les compromis. Je travaille donc à distance du quotidien, mais je suis responsable à la fois des résultats et des personnes. Cette distance exige de la confiance, de la clarté et des ajustements constants.
Quand l’ingénierie et les affaires divergent
Le désalignement apparaît généralement autour du périmètre, de l’échéancier ou de la soutenabilité. Les ingénieurs se concentrent sur la maintenabilité à long terme et la santé du système, tandis que les parties prenantes d’affaires se concentrent sur les engagements, les clients et les revenus. La tension commence souvent au niveau de l’équipe, et ce sont mes gestionnaires qui en absorbent la majeure partie; j’interviens quand l’alignement ne peut pas être trouvé ou quand un contexte plus large est nécessaire.
Dans plusieurs cas, le problème vient d’une information incomplète. Une date fixe a peut-être déjà été promise, un partenaire externe peut être impliqué, ou les revenus peuvent dépendre d’un lancement dans une fenêtre précise. Quand ces contraintes deviennent visibles, la conversation change : les compromis deviennent explicites, le périmètre peut être réduit, la livraison peut être faite par phases, et la dette peut être prise consciemment plutôt qu’accidentellement. La clarté n’enlève pas la pression, mais elle rend les décisions plus intentionnelles.
Niveaux de décision et friction
Ce système devient plus lourd à mesure que les couches s’ajoutent. Il y a déjà une couche entre moi et les ingénieurs, et quand on ajoute d’autres décideurs au-dessus des unités d’affaires, les exigences traversent plusieurs intermédiaires avant d’arriver à l’équipe.
La personne qui discute du projet n’a peut-être pas l’autorité pour changer le périmètre ou l’échéancier, alors les ingénieurs peuvent avoir l’impression de répondre à des abstractions plutôt qu’à des contraintes réelles. Évoluer dans un tel environnement demande plus de traduction et plus de patience.
Tenir l’équilibre
Si la pression penche trop du côté des demandes d’affaires, l’ingénierie perd le contrôle de la base de code, la maintenance ralentit et la frustration s’accumule. Si elle penche trop du côté de la pureté technique, l’entreprise avance moins vite; un système propre sans revenus ne soutient pas une équipe.
Mon rôle se situe entre ces forces. Par l’entremise de mes gestionnaires, j’essaie de faire ressortir les contraintes, de clarifier les compromis et de protéger assez d’intégrité d’ingénierie pour que le système reste sain pendant que l’entreprise continue de livrer ce dont elle a besoin.
Accepter l’imperfection
Je ne crois pas gérer chaque situation parfaitement. Parfois, je ne découvre pas la vraie contrainte assez tôt, parfois je pousse pour obtenir plus de temps et je ne l’ai pas, et parfois je dois revenir vers l’équipe pour dire qu’on va le faire comme demandé. Ce ne sont pas des moments confortables.
D’autres fois, la conversation fonctionne : on gagne quelques semaines, on réduit le périmètre, ou on protège une partie du système qui aurait été bâclée. Avec le temps, j’en suis venu à voir cela moins comme une victoire ou une défaite que comme une gestion de la tension. L’équilibre n’est pas statique; il bouge selon le contexte, le leadership, la pression sur les revenus et les personnes en cause.
Mon travail consiste à garder cette tension visible, à éviter les extrêmes et à m’assurer que les décisions sont prises consciemment plutôt que par accident. Je ne contrôle pas tout le système, mais je travaille fort pour l’empêcher de dériver trop loin dans une seule direction.
- Patrick