Skip to content Skip to sidebar Skip to footer

Le Lead Developer Front : des missions entre expertise technique, conseil et leadership

Management d’équipes de développeurs, suivi du développement d’un projet IT, conseil technique…le Lead Developer est présent sur tous les fronts d’un projet IT !

Un poste aux enjeux importants pour la réussite d’un projet et stratégique pour la qualité des solutions déployées. Zoom sur ce métier, parcours et ses missions avec Sylvain FAUBET qui nous dévoile les coulisses du Lead Developer Front. 

Sylvain, peux-tu nous présenter brièvement ton parcours jusqu’au métier de Lead Developer Front ?

Je suis arrivé chez Inside à Bordeaux en 2015 en tant que développeur Java J2EE junior. Après quelques missions, je me suis dirigé vers le Front et plus particulièrement Angular, des technologies avec lesquelles j’avais beaucoup d’affinités et sur lesquelles j’avais envie de monter en compétences. J’ai d’abord expérimenté les technologies sur des projets persos, et Inside m’a fait confiance en m’envoyant en mission chez les clients sur ces technologies.

De là, grâce aux compétences que j’ai acquises au cours du temps, j’ai commencé à accompagner les équipes sur les problématiques qu’ils pouvaient rencontrer. J’ai aidé à architecturer les projets, j’ai été présent sur la partie déploiement et sur tous les besoins que les équipes pouvaient me remonter. Il a donc été naturel que je prenne le rôle de Lead Developer

Il y a deux ans, Inside m’a accompagné en me permettant de suivre une formation Angular Advanced. A ce moment-là, j’étais déjà Lead Developer Front depuis quelques temps, mais nous devons sans cesse nous améliorer et cette formation me l’a prouvé. 

 

En tant que Lead Developer Front au sein d’Inside, quel est le rôle de ton métier ? 

Selon moi, le rôle d’un Lead Dev, se compose de plusieurs volets : 

  • Aider les développeurs juniors à appréhender plus rapidement le projet, pour devenir autonomes. 
  • Il faut penser l’architecture du projet avec les autres développeurs et mettre en place les outils nécessaires à son bon développement.
  • C’est aussi réaliser les configurations nécessaires au déploiement de l’application en plus du développement.

Être Lead Dev Front, c’est également conseiller sur le côté technique le Product Owner qui, lui, va définir le cadre du projet et veiller à son avancée. Et justement, cette partie collaboration humaine est très intéressante à souligner pour le métier de Lead Dev’. En effet, nous nous devons d’être capables de s’entendre et d’échanger avec toutes les parties prenantes d’un projet ! 

Pour moi, c’est là tout le cœur du métier de Lead Developer : le partage ! C’est embarquer l’équipe pour mener au mieux un projet et l’aider quand elle n’a pas les réponses. Je continue moi-même à découvrir et apprendre sur le métier de Lead Dev tous les jours. 

Pour résumer, le cœur du métier c’est d’aider ses collègues au mieux, pour avoir un projet qui tourne et de bonne qualité. 

Tu as donc à la fois une vision technique et fonctionnelle c’est ça ? 

Oui c’est ça ! Comme je le disais, j’assiste le PO quand il y en a besoin sur le fonctionnel pour éviter les problèmes techniques importants. Ensuite, il faut rentrer dans le « technique ». Il m’arrive de développer des outils pour faciliter le développement sur certains points.

Dans le rôle de Lead Dev, il y a aussi tout ce qui est outillage et mise en place de structure du code. Dans les tests, il y a également la mise en place d’outils et de vérification : tests unitaires, de tests d’intégration, de tests d’API, etc. 

Concrètement et dans le cadre de ma mission actuelle, j’ai eu la chance d’apprendre énormément avec mes collègues Full-stack et les Lead Dev Back. En effet, dans mon équipe aujourd’hui, il y a un Lead Dev Back qui travaille en collaboration avec les autres développeurs pour faire toutes les API dont nous avons besoin. Moi, je m’occupe de la partie Front Angular aidé par les Développeurs Full Stack qui viennent faire du Front quand il y en a besoin. Plusieurs d’entre eux ont notamment un très bon niveau Angular, et en développement en général, ce qui nous permet à tous de challenger continuellement la structure du code pour faire les choses correctement. 

Pour en savoir plus sur notre parcours de formation dédié au Software Craftsmanship !

Est-ce que toutes les convictions et bonnes pratiques autour du développement qu’Inside valorise, tels que le DevOps TDD, Clean Code ou encore le Craft, sont des éléments que tu appliques et qui t’ont aidé dans ton quotidien de Lead Dev ? 

J’essaie d’en appliquer le plus possible ! J’échange par exemple régulièrement avec Julien Vitte, Insider bordelais qui est Coach Software Craftsmanship. Nos échanges tournent souvent autour des outils et tests à mettre en place pour faire du “code propre”. J’essaie également d’appliquer au maximum les principes du TDD et du Crafts (dans un environnement Front c’est assez difficile mais je m’accroche).

Pour vous donner un exemple, mon projet actuel est un projet qui était déjà conséquent à mon arrivée, il y avait 200 tests automatiquement générés par angular, qui ne testaient rien et qui ne faisaient que passer au vert, sans vérifier le code. Après nettoyage des tests inutiles, il n’en restait que 65. J’essaie petit à petit de faire baisser la dette IT. Nous ne sommes pas forcément toujours clean et parfaits dans notre code, mais nous essayons de corriger et d’avancer au fur et à mesure du temps dans une démarche d’amélioration continue

L’amélioration continue est une vision clé dans le métier Lead Developer chez Inside. Je suis arrivé sur une structure de projet qui n’était clairement pas faite pour travailler avec des micro-services. Il y avait des briques d’applications et chaque brique était indépendante côté API, elles devaient donc le devenir côté Front, qui est lié à tout. Nous étions donc obligés de travailler avec des versions qui étaient potentiellement différentes. Nous avons donc réussi à mettre en place une architecture nous permettant de déployer en production la version adaptée à chacune des versions des APIs. Nous avons maintenant une architecture qui est capable de s’adapter à de multiples micro-services qui peuvent être déployés indépendamment et sur laquelle nous pouvons masquer les fonctionnalités développées qui ne sont pas encore matures.

Peux-tu citer des exemples de missions, de contextes dans lesquels tu as travaillé en tant que Lead Developer Front ? 

Dans le cadre de ma mission actuelle pour un client dans le secteur bancaire, j’ai notamment été missionné sur un projet d’automatisation d’actes d’Administration Réseaux. Le but : Mettre à disposition des administrateurs réseaux des outils automatiques et des API associées pour gérer les tâches courantes du réseau pour plus d’efficacité et de simplicité. 

L’architecture de cette application était très divisée avec une API par cœur de métier réseau. C’était le mode de développement choisi par les développeurs de l’équipe. A mon arrivée sur le projet en tant que Lead Developer Front, nous avons travaillé ensemble avec les développeurs front afin d’améliorer les déploiements (qui se faisaient manuellement). Ma partie Lead Dev a commencé par un peu de DevOps.  

Au départ, nous avons travaillé sur une partie DNS : les équipes de run DNS recevaient plus de 6000 requêtes par an pour tout type de tâches d’administration, ce qui est assez élevé, et elles n’avaient pas nécessairement besoin qu’il y ait un “humain” qui s’occupe de faire le lien entre l’adresse IP et le nom DNS choisi. Nous avons donc développé un formulaire DNS dans l’application qui permet à ceux qui ont le droit d’administrer un domaine, de pouvoir créer toutes les adresses qu’ils souhaitent dans ce domaine.

Grâce à notre application, nous avons donc permis d’automatiser un certain nombre de tâches que les administrateurs devaient faire à la main et qui leur faisaient perdre du temps. Résultats : ils peuvent alors se concentrer sur les actions à valeur ajoutée et sur les parties plus complexes notamment d’évolution du réseau. Aujourd’hui, tout le monde peut créer son adresse dans le réseau et les équipes du Run réseau ont simplement besoin de vérifier que tout se passe bien. 

Les bénéfices ont été importants : cela a accéléré le rendu du service aux personnes et de l’autre côté, permis aux Administrateurs Réseaux, de se concentrer sur les problématiques plus complexes. 

Notre nouveau challenge à présent : créer les nouvelles fonctionnalités qui vont accélérer les actions répétitives et “simples” pour les administrateurs parce qu’il y a toujours plus de demandes entrantes. 

Dans quel environnement technologique travailles-tu ? As-tu un outil spécifique peu utilisé dans le monde du Dev ?

Les environnements de développements sont plus ou moins standardisés maintenant. Sur les parties déploiement du code Angular, nous utilisons : 

  • Docker : pour l’image du code à déployer
  • Kubernetes : pour faire tourner ces images

Ce sont des systèmes qui sont vraiment efficaces. 

Pour le code source, nous utilisons :

  • Git : c’est un système qui est parfait parce qu’il est complètement indépendant, même si le réseau se perd, il suffit qu’un des développeurs de l’équipe ait le code le plus à jour pour tout reconstruire. 
  • GitLab qui permet un déploiement continu, en plus d’héberger le repository Git.

Mais nous n’avons pas un outil qui nous est spécifique. En général, il y a soit le combo GitHub / Git ou bien le combo GitLab / Git pour le code source. 

Nous avons choisi les grands standards. Ainsi les développeurs ne sont pas perdus lorsqu’ils arrivent sur le projet. Il vaut mieux partir sur un standard bien configuré que sur un un outil très spécifique que les gens ne sauront pas utiliser.

Qu’est-ce qui te plaît le plus dans ton job ?

Pour moi, il y a trois aspects : 

  • le challenge : le Lead Developer est en première ligne pour gérer les problématiques importantes du projet.
  • l’accompagnement : je mets en place des outils pour que les équipes puissent développer plus facilement et j’épaule les développeurs lorsque le besoin se fait sentir. 
  • la réflexion : la recherche pour améliorer l’architecture d’un projet et le rendre plus qualitatif. 

Donc en tant que Lead Dev chez Inside, vous pourrez découvrir tous les métiers à travers votre propre métier qui est l’informatique et le développement. Personnellement, j’aime ce challenge qui est à mon sens complet.

Le Lead Dev, c’est quelqu’un qui a envie de toujours faire mieux et d’aider les autres. Il faut se dire “J’aime aider les autres, j’aime créer des outils pour les aider à travailler, j’aime avoir du challenge technique et j’aime toujours apprendre à faire mieux”. 

Donc foncez si vous vous reconnaissez dans tous ces aspects !

J’ai cru comprendre que tu étais le premier Français à contribuer à la méthode de coaching Samman. En quoi consiste-t-elle ?

On trouve principalement 2 volets. Le premier est le learning hour qui consiste à faire de courtes sessions de formation au cours desquelles les participants mettent en pratique leurs compétences de programmation et apprennent de nouvelles techniques. Concrètement, nous essayons d’avoir une demi-journée complète avec les équipes, avec une heure d’apport de concepts et de pratique via des ateliers basés sur la structure « quatre C ». Le reste du temps disponible est réservé au second volet, c’est-à-dire l’Ensemble Working. Il consiste pour nous à travailler avec l’équipe sur son propre code en essayant d’incorporer ce qui vient d’être vu en atelier. Cela amène à se confronter directement aux difficultés réelles rencontrées par les équipes, et à glaner du feedback sur les prochains apports de connaissance qui seront nécessaires. Enfin, ce deuxième volet permet une montée en compétence du travail en équipe.

Côté formateur, il faut réussir à scinder des concepts qui prennent du temps à transmettre en formats de seulement une heure (qui s’enchaînent). Si nous reprenons l’exemple du TDD, le but n’est pas d’apprendre aux équipes à être autonome au bout d’une heure. Le but est d’acquérir des éléments pratiques à chaque session. Comme la façon d’envisager les tests qui devront être mis en place, et la complexité qui sera amenée dans le code.

Pour aider à la tenue ce type d’atelier, nous allons être les premiers Français avec mes collègues Yohann et Nicolas à mettre en ligne notre méthode de coaching sur le site sammancoaching.org

Vous souhaitez échanger avec nos experts autour de vos enjeux et de la diffusion des pratiques du Software Craftsmanship dans votre organisation, c’est par ici !