On n’imagine pas toujours combien les rôles d’un développeur sont étendus et multiples. Les compétences technologiques sont clés, mais la dimension humaine reste primordiale. Avec le client comme avec ses collaborateurs. Julien Leborgne, développeur Fullstack expérimenté qui a récemment rejoint notre Tribu Tech, nous livre sa vision du métier.
Julien, peux-tu te présenter en quelques mots ? Qu’est-ce qui te passionne dans ton job ?
J’ai 43 ans et je suis actuellement Team Leader en mission pour Devoteam Creative Tech que j’ai intégrée récemment, en août 2021, en tant qu’ingénieur étude et développement C#. J’interviens dans ce domaine depuis près de 20 ans, et cela fait donc à peu près autant de temps que je suis les évolutions du framework .NET de Microsoft.
Sur toute la période, j’ai eu l’occasion de travailler dans de nombreuses entreprises en tant que consultant Tech, notamment dans le secteur banque / assurance. Puis j’ai intégré un éditeur de logiciel spécialisé – toujours dans l’univers des services financiers – pendant 8 ans, avec une très grande équipe de développeurs (plus de 15 personnes) et près de 10 consultants. Cela m’a permis d’acquérir une excellente expérience du développement informatique, de la gestion de projet et des interactions avec le métier et le business.
« Dès le départ, j’ai adoré créer des choses immédiatement visibles et cette dimension visuelle également, au-delà de la technique, m’a toujours paru très ludique. »
J’avais un Amstrad CPC 6128 et j’ai commencé à coder dès 12 ans. Dès le départ j’ai adoré créer des choses immédiatement visibles. Cette dimension visuelle, au-delà de la technique, m’a toujours paru très ludique. J’ai de la chance d’avoir fait ça toute ma carrière.
En quoi consiste ton métier de consultant web FullStack au sein de la Tribu Tech ?
Le consultant web Fullstack travaille en général en collaboration avec un Product owner (PO). On fonctionne le plus souvent en approche agile, des sprints de quelques semaines pour pouvoir développer les features qui nous sont transmises par le Métier. Durant ce temps, nous devons réaliser les développements, et les tests unitaires requis. Enfin, en collaboration avec le métier, nous participons à la recette <End To End>, pour finaliser.
On doit donc suivre les projets de A à Z, avoir une relation assez forte avec le PO, qui est le responsable du produit, mais également avec les consultants qui réalisent les tests, et sont « en clientèle ». C’est notamment eux qui nous apportent du feedback et c’est très intéressant de régulièrement prendre leurs conseils et retours. Ça fait partie de la dimension humaine du job.
Et sur la partie technique ?
Sur la partie technique, nous sommes amenés à toucher à toutes les technologies. Je suis certes spécialisé dans les développements Microsoft, pour autant je peux être amené à travailler sur des bases de données, en SQL. Je peux également travailler en Java même si ça reste à la marge. Cela me permet d’avoir une vision plus large des langages existants…
En tant que développeur Fullstack, on doit aussi veiller à ce que les bonnes pratiques de développement et d’architecture soient respectées. Le respect des pratiques SOLID par exemple. Cet acronyme nous permet de garder en tête ce qu’il convient de faire pour tout projet en développement. Typiquement : séparer les responsabilités si l’on travaille le code, veiller à ce que les microservices développés soient interopérables d’une plateforme à une autre, etc.
À quelles problématiques clients le Consultant web FullStack répond-il le plus souvent ?
La principale problématique que l’on résout est le respect des engagements (conformité des développements dans des délais raisonnables). Notre client a ses besoins, et il n’a pas forcément connaissance du métier ni des infrastructures associées. Dans ce cadre, c’est à nous de lui apporter de la valeur à ce niveau-là tout en respectant les délais impartis.
La plupart du temps, on intervient de plusieurs manières. D’abord, bien décortiquer le besoin. Savoir exactement ce que le client veut et faire des feedbacks pour être bien certain que l’équipe technique est au clair sur ses tâches. Ensuite, notre rôle est d’indiquer au client ce qu’il aurait pu oublier tels que les aspects de sécurité, les enjeux de protection des données ou de montée en charge… On se doit aussi de traiter le plus rapidement possible la correction de bugs.
Dans quelle mesure êtes-vous force de proposition face au client ?
En effet, on peut encourager nos clients à réaliser des développements pour de nouveaux besoins. Par exemple, quand le produit est assez stable et que l’on a réussi à passer les étapes de mise en production, on doit monitorer ce qui est fait. À ce stade-là, et en fonction des usages spécifiques qu’ont nos clients, on peut leur proposer de nouvelles choses. La mise en place d’APIs web par exemple pour permettre le temps réel, là où leur dispositif ne permettait des remontées qu’une fois par heure ou par jour.
« J’ai souvent été confronté à ce sujet chez mes clients. Une volonté de rester sur le legacy, mais de l’améliorer pour qu’il soit plus efficace et rapide. Là on est dans de l’expertise purement technique. »
L’optimisation de l’existant également – aujourd’hui on s’attend en effet à ce que les applications soient très réactives, très temps réel. Pour autant le legacy de nos clients (architectures et produits hérités) peut freiner la performance. On fait donc du refactoring de code pour optimiser les temps de réponse de l’ancien système. J’ai souvent été confronté à ce sujet chez mes clients. Une volonté de rester sur le legacy, mais de l’améliorer pour qu’il soit plus efficace et rapide. Là on est dans de l’expertise purement technique puisqu’on doit décrypter le code originel pour en proposer une nouvelle version plus rapide. J’ai souvent été amené à travailler sur ce genre de sujets. Une des nombreuses facettes de ce beau métier de développeur.