Les fondamentaux du management : Comment devenir un grand responsable technique (Tech Lead)

-

Je pose la question d’emblée, qu’est-ce qu’un bon ou grand responsable technique (Tech Lead)? Bonnes compétences en communication verbale et écrite? Capable de décomposer les exigences commerciales de haut niveau en spécifications de conception de bas niveau. Capable de collaborer avec différentes équipes et d’expliquer les fonctionnalités à développer. Capable d’encadrer des développeurs juniors et d’établir des priorités dans leur travail. Capable de faire avancer les choses et de montrer les progrès accomplis?

Le rôle de responsable technique, après tout, est un poste de direction, même s’il ne s’agit pas d’un poste de gestion – Camille Fournier

L’idée que le rôle de tech lead doit automatiquement être confié au développeur le plus expérimenté, celui qui peut gérer les fonctionnalités les plus complexes ou qui écrit le meilleur code, est une idée fausse que même les managers expérimentés ont tendance à croire. Le rôle de tech lead n’est pas celui de la personne qui souhaite se concentrer sur son propre code et un tech lead qui ne fait que cela ne fait pas son travail.

Mais en quoi consiste réellement le travail de tech lead ? Que devons-nous attendre de cette personne ?

Comme beaucoup de titres dans le domaine du génie logiciel, le terme « tech lead » n’a pas de définition commune. La définition la plus proche que j’ai pu établir sur la base de mon expérience est une description utilisée par Patrick Kua dans son livre Talking with Tech Leads.

Un leader responsable d’une équipe de développement de logiciels, qui passe au moins 30 % de son temps à écrire du code avec l’équipe.

Pour certains responsables techniques, le travail consiste à continuer à écrire du code, à valider les exigences commerciales, à guider l’équipe dans l’analyse de faisabilité, à fournir des solutions de conception, à effectuer des révisions de code, à être responsable de la livraison des fonctionnalités de bout en bout et à s’occuper de tous les détails de la gestion de projet. Ils ont pu être responsables techniques, même s’ils n’étaient pas les personnes les plus expérimentées de l’équipe, parce qu’ils voulaient et pouvaient assumer les responsabilités du rôle, tandis que le reste de mon équipe se concentrait uniquement sur l’écriture du code.

Si vous vous trouvez dans la position de responsable technique, félicitations ! Vous avez ce qu’il faut pour être le point de contact d’une équipe. Il est maintenant temps d’acquérir de nouvelles compétences !

Les principaux rôles d’un responsable technique

Architecte de systèmes et analyste commercial

Dans ces rôles, vous êtes censé identifier les changements à apporter au système et les fonctionnalités à développer, afin de mener à bien les projets. L’objectif ici est de fournir des données et une structure pour commencer à estimer et à décomposer le grand projet en petits morceaux réalisables. Il n’est pas nécessaire d’identifier parfaitement toutes les composantes du projet, mais le fait de passer un peu de temps en amont aidera certainement à identifier les principaux écueils, le cas échéant. Ce rôle exige que vous ayez une bonne compréhension de l’architecture globale de votre système, ainsi que des besoins de l’entreprise et de leur traduction en logiciels.

Planificateur de projet

L’objectif principal du planificateur de projet est de décomposer le travail en éléments livrables approximatifs. Nous devons chercher des moyens d’accomplir un maximum de travail productif, en parallèle. Une méthode éprouvée consiste à appliquer des abstractions convenues pour permettre un développement parallèle. Par exemple, si vous construisez une application frontale qui consomme un objet API, il n’est pas nécessaire que l’API soit complètement terminée avant de commencer le développement frontal. Au lieu de cela, vous pouvez commencer à coder le frontend en utilisant des objets factices. À ce stade, vous voudrez commencer à identifier les priorités, à distinguer les fonctionnalités indispensables des fonctionnalités souhaitables et à planifier la livraison des éléments critiques au début du projet. Vous devrez également recueillir les contributions des experts de votre équipe, qui connaissent en profondeur les parties concernées du logiciel et vous aideront à régler les détails.

Développeur de logiciels et chef d’équipe

Dans ces rôles, vous continuerez à écrire du code, à communiquer les difficultés et à déléguer. Au fur et à mesure que le projet logiciel progresse, des problèmes inattendus surgissent. Vous serez tenté de faire des heures de travail supplémentaires pour mener le projet à terme. Dans votre position, en tant que responsable technique, vous devez d’abord communiquer cet obstacle. Votre chef de produit doit être informé des difficultés éventuelles le plus tôt possible. Il n’est pas rare que les chefs de produit réduisent la portée du projet vers la fin de la version, afin de respecter les délais. Dans tous les cas, vous devez tenir votre responsable et votre équipe produit informés des problèmes et prendre une décision éclairée pour atténuer les risques. Vous devez également être capable de déléguer certaines de vos tâches à d’autres membres de l’équipe lorsque vous avez les mains pleines, et de vous investir dans d’autres tâches lorsque vous en avez la possibilité.

En tant que responsable technique, vous devrez porter la casquette d’un développeur de logiciels, d’un architecte système, d’un analyste commercial et d’un chef d’équipe qui sait quand faire quelque chose tout seul et quand déléguer le travail aux autres. Ne vous inquiétez pas, vous n’avez pas à accomplir toutes ces tâches en même temps. Il s’agit plutôt d’une courbe d’apprentissage et vous finirez par vous améliorer avec beaucoup de pratique.

Un bon tech lead c’est quoi?

Les bon tech leads présentent un certain nombre de caractéristiques. J’en ai énuméré les plus importantes selon moi ci-dessous.

Comprendre l’architecture

Si vous êtes un responsable technique et que vous ne comprenez pas entièrement l’architecture de votre système, prenez le temps de l’apprendre. Déterminez comment les données entrent dans le système, où elles se trouvent et quelles sont les parties mobiles du système. Si vous soutenez un produit, il est essentiel de comprendre les fonctions qu’il prend en charge et la logique de base de ce produit. Il est presque impossible de mener à bien des projets si vous ne comprenez pas l’architecture que vous modifiez.

Ayez l’esprit d’équipe

Si vous faites tout le travail intéressant vous-même, arrêtez. Examinez les domaines délicats, ennuyeux ou ennuyeux des besoins techniques et voyez si vous pouvez les décoincer. Ma préférence a toujours été de m’attaquer aux problèmes liés à la latence, de développer de nouvelles API de services web, de donner la priorité à la dette technique et aux problèmes d’architecture complexes. Cela me donne l’occasion d’en apprendre davantage sur l’architecture du système et d’affiner mes compétences en matière d’optimisation des performances. En tant que responsable technique, vous êtes un ingénieur senior / un développeur de logiciels talentueux et il est raisonnable que vous assumiez certaines des tâches les plus difficiles. Vous voulez encourager les membres de votre équipe à apprendre quelque chose de nouveau et leur donner l’occasion de se dépasser. Vous devez être en mesure d’évaluer les forces et les capacités des membres de votre équipe. Si vous avez un membre junior de l’équipe, donnez-lui des fonctions simples à mettre en œuvre au début et faites-le progresser progressivement vers des tâches plus difficiles. De cette façon, vous les mettrez sur la voie du succès.

Prenez des décisions techniques

Vous serez impliqué dans la plupart des décisions techniques majeures de l’équipe. Attention, il y a une différence entre être impliqué et être celui qui prend toutes les décisions seul. Si vous commencez à prendre toutes les décisions techniques sans solliciter l’avis de votre équipe, celle-ci vous en voudra et vous blâmera lorsque les choses iront mal. Mais, d’un autre côté, si vous laissez tout à l’équipe, des décisions qui auraient pu être prises rapidement peuvent s’éterniser sans être résolues. Par conséquent, en tant que responsable technique, vous devez déterminer quelles décisions doivent être prises par vous, quelles décisions doivent être déléguées à d’autres personnes ayant plus d’expertise et quelles décisions doivent être résolues par l’ensemble de l’équipe. Dans tous ces cas, soyez clair sur le sujet de la discussion et communiquez le résultat.

Communiquez

Dans votre rôle de responsable technique, au lieu de faire participer tous les membres de l’équipe à la réunion, vous représentez l’équipe, communiquez leurs besoins et ramenez les informations de cette réunion à l’équipe. S’il y a un talent universel qui sépare les leaders qui réussissent de la masse, ce sont les compétences en communication. Les leaders qui réussissent écrivent bien, lisent attentivement, se lèvent devant un groupe et parlent. Ils sont attentifs lors des réunions et testent constamment les limites de leurs connaissances et de celles de l’équipe. C’est le moment idéal pour mettre en pratique vos compétences en matière d’écriture et d’expression orale. Rédigez des documents de conception et obtenez des commentaires sur ceux-ci de la part de meilleurs rédacteurs. Rédigez des articles de blogue pour votre blogue technique ou personnel. Prenez la parole lors de réunions d’équipe, de stand up et recherchez les occasions de parler ou de faire une démonstration de ce que vous avez construit devant un public.

Veuillez noter que les compétences d’écoute sont aussi importantes que les compétences d’expression orale. Au cours de ma carrière, j’ai vu des gens parler, parler et parler encore, sans donner aux autres la chance de s’exprimer et d’entendre ce qu’ils disent. Ils ne se rendent pas compte qu’ils sont irrespectueux et passent à côté des perspectives différentes et nouvelles que d’autres personnes pourraient apporter ! Il est parfois essentiel de laisser notre travail parler. Si vous proposez une solution de conception sans l’étayer par des preuves solides, des recherches ou une expérience antérieure dans un domaine similaire, vous risquez de ne pas pouvoir convaincre les parties prenantes d’aller de l’avant avec votre solution. Vous devez donc travailler à renforcer votre crédibilité technique, vos capacités d’écoute ainsi que vos compétences en matière d’expression orale et écrite.

Peu importe que vous choisissiez de vous plonger dans la technologie ou de devenir un manager, si vous ne pouvez pas communiquer et écouter ce que disent les autres, l’évolution de votre carrière en souffrira.

Évaluer votre propre expérience

  1. Votre organisation a-t-elle des responsables techniques ? Si oui, existe-t-il une description de poste pour ce rôle ? Sinon, comment le définiriez-vous ? Comment un responsable technique définirait-il ce rôle ?
  2. Qui est le meilleur responsable technique avec lequel vous avez travaillé ? Quelles sont les qualités de cette personne qui l’ont rendue exceptionnelle ?
  3. Avez-vous déjà travaillé avec un responsable technique frustrant ? Qu’est-ce qu’il/elle a fait qui vous a frustré ?
  4. Êtes-vous intéressé à devenir un responsable technique ? Etes-vous à l’aise pour diriger une équipe sur un projet dans lequel vous êtes techniquement à l’aise ? Êtes-vous prêt à vous pousser à prendre des responsabilités supplémentaires ? Êtes-vous prêt à passer moins de temps à écrire du code ? Avez-vous parlé à votre manager de ce qu’il attend d’un tech lead ?
Alfred
Alfredhttps://www.alfreddagenais.com
Salut ! Moi, c'est Alfred, développeur dans l’âme et explorateur de l'infini Web. Je suis constamment à la recherche de nouvelles idées et je pense que le développement web et l'informatique ont le pouvoir de transformer le monde. Je suis un grand admirateur de l'expérimentation, parce que c'est souvent de là que naissent les idées les plus créatives. Je suis convaincu que l'humour est un ingrédient clé de la vie, alors j'essaie toujours de glisser une blague ou deux dans mon code (pas toujours facile à comprendre, mais c'est le risque à prendre). En dehors de la programmation, j'aime passer du temps avec ma famille et mes amis, découvrir de nouveaux endroits et cuisiner des plats délicieux (du moins, j'essaie). Si vous voulez discuter de développement web, d'innovation, ou tout simplement échanger des blagues, n'hésitez pas à me contacter. Je suis toujours partant pour une bonne conversation !

Share this article

Recent posts

Popular categories

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Recent comments