Itinéraire de consultante : Laure, Lead developer
Quel est le quotidien de nos consultantes et consultants en projet ? Quels sont les challenges techniques à relever et quelles solutions sont apportées ? Derrière une mise en production réussie, un déploiement ou un Proof of Concept, il y a des consultantes et des consultants, une équipe, des technologies et beaucoup d’expertise et d’intelligence collective ! Cette série d’articles vise à vous dévoiler l’envers du décor, à travers leur témoignage.
Laure est développeuse fullstack et travaille sur les services managés Google Cloud Platform. Elle a rejoint l’équipe Devoteam Revolve Paris il y 3 ans, puis elle a choisi de quitter Paris et de poursuivre l’aventure Revolve dans l’agence de Lyon.
Quel était ton parcours avant de rejoindre Devoteam Revolve ?
Après cinq années à exercer le métier d’assistante sociale, j’ai choisi de me reconvertir et j’ai fait l’école 42. J’ai ensuite travaillé pendant un an dans une startup où j’ai fait du développement en Python.
Pour quelles raisons as-tu rejoint Devoteam Revolve ?
La possibilité de se former et de travailler sur le Cloud m’a immédiatement intéressée, même si je n’avais pas d’expérience sur le sujet. A mon arrivée, on m’a proposé de participer à des ateliers de formation sur AWS, et en parallèle j’ai commencé ma mission chez le client pour travailler sur des sujets GCP. J’ai suivi quelques tutoriels sur GCP, puis je me suis lancée, et j’ai appris “les mains dans le cambouis”, ce qui me convenait parfaitement. Je préfère apprendre par la pratique qu’en faisant de la théorie sur des tutoriels. J’ai rapidement arrêté de suivre les formations AWS pour me concentrer sur la partie web front que je ne connaissais pas du tout. Et c’est ainsi que j’ai commencé à monter en compétence sur GCP. Au quotidien, je travaille le plus souvent sur des services managés sur GCP, on ne fait pas vraiment d’architecture Cloud, c’est du pur développement. Cela demande de savoir comment utiliser les différentes librairies et les API, et connaître le fonctionnement des services de bases de données.
Tu travailles au sein d’une équipe Revolve ?
Nous sommes 4 ou 5 consultants Revolve au sein de l’équipe client. Au quotidien, on ne travaille pas toujours nécessairement ensemble, mais on évolue ensemble. C’est une petite communauté, on s’entraide sur certains sujets, et pas uniquement sur les sujets GCP. Du côté de Revolve, nous avons la possibilité de participer à des hands-on ou des KM time, et découvrir ainsi des sujets très différents de notre quotidien. A mon arrivée dans l’agence de Lyon, j’ai proposé un comparatif GCP/AWS pour présenter le sujet à mes collègues qui font essentiellement de l’AWS. L’environnement Revolve a développé ma culture Cloud : même si je ne travaille pas sur AWS, j’ai des notions sur les services qui y sont disponibles.
Comment a évolué ta mission ?
J’ai commencé à travailler sur un sujet métier de dataviz (visualisation de données); j’avais peu de connaissances sur le sujet, donc au départ je faisais du développement en tant que simple exécutante. Petit à petit, j’ai mieux compris le métier, j’ai approfondi les technos (un framework Python pour le back office, Angular pour le front office), et il y a un an environ je suis devenue Lead developer.
En quoi consiste ton poste de Lead developer ?
Cela demande d’anticiper au maximum sur les besoins des projets, d’avoir un point de vue plus macro sur l’organisation dans les équipes. Par exemple, être force de proposition sur la mise en place d’outils ou la CI/CD. Sur ce point, être chez Devoteam Revolve m’a beaucoup aidée : nous sommes sensibilisés au sujet de la CI/CD, et je sais que je peux facilement trouver des informations et de l’aide dans la communauté Revolve. Plus généralement, j’apprécie de prendre du recul et plus de responsabilités sur le rendu du projet global, l’interaction avec les autres projets, et les membres des différentes équipes chez le client.
Le poste implique plus de relationnel, des échanges avec les product owners et les gens du métier, mais il y a encore des aspects très techniques. J’ai par exemple récemment alerté sur la dépréciation de Python 2 sur un back office : nous devons prendre les devants et passer à Python 3. Cette transition doit être anticipée, et mon rôle est de faire comprendre cette nécessité au product owner. Nous allons réécrire l’architecture du back office pour passer sur la nouvelle version du langage, c’est donc l’occasion de revoir complètement l’architecture. Pour moi, cela fait partie du rôle de lead dev : anticiper, pouvoir expliquer les impacts au client, lui permettre de comprendre la nécessité de certains choix techniques. Avoir un nouveau back office, propre, lisible et bien architecturé nous fera gagner beaucoup de temps de développement. Dans le même ordre d’idée, j’ai aussi poussé pour mettre en place des tests unitaires. Je pense que c’est le rôle du lead dev de pousser ces sujets : l’intégration continue, son fonctionnement, les tests, les bonnes pratiques Google sur les droits, les permissions, la rotation des clés et la gestion des secrets via un outil dédié.
Comment s’est fait cette évolution vers ces nouveaux sujets ?
J’essaie de ne pas voir uniquement le bout de code sur lequel je travaille, de penser au projet global et à sa qualité de rendu. Cela demande de guider le client et l’équipe vers les bonnes pratiques. Participer aux différents ateliers chez Revolve sensibilise beaucoup sur ces questions, on découvre ce que font les autres chez leurs clients, on se met à jour sur les bonnes pratiques du développement d’applications Cloud native. Mes collègues de l’équipe lyonnaise sont très portés sur la sécurité, donc forcément on s’adapte à cet état d’esprit ! J’ai l’avantage de travailler pour un client qui me laisse la main sur ces sujets : je suis owner sur GCP, sur Gitlab, ce qui implique de grandes responsabilités, et donc de voir comment mettre en place les meilleures pratiques.
Quels sont tes autres sujets et problématiques au quotidien ?
Je travaille surtout sur le développement de nouvelles fonctionnalités. Par exemple, je suis actuellement sur une solution orientée Data, et qui concerne plusieurs projets. La finalité est de faire remonter la donnée depuis des sites industriels vers le Datalake, puis de développer les applications qui vont permettre la visualisation de ces données. Les fonctionnalités développées doivent être cohérentes sur l’ensemble des applications, prendre en compte l’enchaînement des différents projets, anticiper les impacts sur les bases de données Big Query. Nous devons aussi dimensionner nos bases SQL en fonction de l’environnement (production ou développement), et analyser les outils à privilégier pour les grosses évolutions…
Un des problématiques que nous traitons actuellement est la conversion des unités des KPI : il s’agit d’unités de volumes, mais aussi de prix, à convertir dans de nombreuses devises et de nombreuses unités de volumes. Nous devons connaître le taux de change à l’instant T, même si la conversion en euros n’est pas faite sur le moment. Nous réfléchissons donc à la façon la plus pertinente de traiter ces indicateurs, aux avantages et inconvénients de chaque solution, et les coûts en termes de puissance de calcul et de stockage.
Je fais également pas mal de revues de code. J’ai demandé à ce qu’on fasse des merge request, elles doivent être relues pour être validées. On code, on se relit les uns les autres, on valide on invalide, et on suit les tickets qui peuvent arriver. Une application phare est déployée sur plusieurs pays, nous avons donc des demandes qui arrivent de toutes les BU pays, et notre job est de suivre ces demandes et de résoudre les incidents quand il y a des bugs.
Comment es-tu passée de l’équipe Revolve Paris à celle de Lyon ?
Quitter Paris était un projet personnel, je n’ai donc pas hésité quand j’ai eu l’opportunité de rejoindre l’équipe de Devoteam Revolve Lyon. C’était très sympa de pouvoir rejoindre une petite équipe où il y avait beaucoup à construire, et j’ai apprécié de contribuer au projet différemment en rejoignant des Meetup sur Lyon (Angular, Python, GCP, AWS…), en organisant des temps d’échange avec mes collègues, mais aussi des moments informels pour se voir régulièrement et animer la vie d’équipe. Il y avait déjà beaucoup de choses en place à Paris, là tout ou presque était à construire. Par ailleurs, comme je travaille 100% à distance pour mon client, je suis tous les jours au bureau Revolve et donc proche de l’équipe. Cela m’a permis de plus m’impliquer.
Qu’est-ce que tu apprécies chez Devoteam Revolve ?
J’ai eu ce que j’attendais, j’ai pu travailler sur de nombreux sujets très différents, toujours passionnants, et j’ai beaucoup appris. J’apprécie aussi beaucoup le fait que si j’ai un moment de creux chez le client, il y a toujours de nouveaux sujets sur lesquels s’impliquer chez Revolve. J’ai par exemple pu contribuer au développement du partenariat avec l’école 42 à Lyon, travailler sur le Learning Day… S’investir sur de nouveaux sujets, cela nourrit intellectuellement, et cela permet de sortir de son quotidien. Il y aussi une très bonne entente et un soutien avec les collègues de Revolve, et c’est très appréciable.
J’ai fait passer pas mal d’entretiens techniques, et on m’a souvent posé des questions sur le travail en ESN : les candidats ont souvent peur d’être traités comme des numéros. Personnellement, je n’avais pas cet a priori, et j’explique aux candidats que ce ressenti ne correspond pas à mon expérience chez Revolve. J’ai toujours eu des commerciaux et des RH très à l’écoute, et tous les événements auxquels j’ai participé étaient constructifs et intéressants. Il y a une vraie dynamique dans l’entreprise, nous ne sommes pas des consultants isolés les uns des autres, chacun dans sa mission. Il y a toujours moyen de se former, de porter des sujets, de trouver des collègues avec qui partager et progresser ensemble. Les opportunités sont là, il suffit de se lancer !