
2023 → aujourd’hui · Paris, France (télétravail 75 %)
Edenred
Chef d’équipe de développement .NET / Flutter (Dev Lead)
Leader mondial des avantages aux employés · 60 M+ d’utilisateurs · 45 pays
LignesBackend .NETLeadershipCloudIA
Faits marquants
- Arrivé sur Edenred+, l’application unique qui remplace les applications mobiles propres à chaque pays, a pris la tête de la feature team Cartes deux semaines plus tard : deux développeurs Flutter, deux développeurs .NET, un PO et un QA dédiés, et lui-même en full stack.
- A vu le périmètre de son équipe s’étendre au fil des années : les cartes, puis les paiements, les transactions et, plus récemment, le suivi de livraison des cartes.
- Porte les choix d’architecture (DDD, CQRS, microservices) et les documente (BPMN, modèles de données, contrats d’interface) pour aider le PO à rendre les tickets prêts, puis valide chaque pull request qui touche aux microservices de l’équipe.
- A intégré l’IA au fonctionnement de l’équipe : skills dédiés, GitHub Copilot autorisé au niveau du groupe, et agents Claude branchés sur les pull requests Azure DevOps pour améliorer la qualité et la rapidité des revues.
- Devient à tour de rôle delivery manager des quatre feature teams : livraison de chaque release jusqu’en production avec les QA, et suivi de la production grâce aux dashboards Datadog et aux alertes Teams qu’il a mis en place.
J’ai rejoint Edenred sur un projet qui changeait sa façon de construire ses applications mobiles : remplacer une application par pays par une seule application pour tous, Edenred+.
Une application par pays, un modèle à bout de souffle
Historiquement, Edenred déployait une application mobile spécifique à chaque pays. Il y avait donc autant d’applications à maintenir que de pays, et ce modèle n’était plus viable.
En interne, l’entreprise a décidé de tenter autre chose : construire une seule nouvelle application capable d’adresser tous les pays. Une petite équipe de quelques personnes a été créée pour cela, sous le nom de Smarter. En quelques mois, elle a grossi jusqu’à atteindre une cinquantaine de personnes. Edenred+ est déployée progressivement et compte aujourd’hui 2,5 millions d’utilisateurs.
Lead de la feature team Cartes
Je suis arrivé à ce moment-là. Le développement de l’application mobile était découpé en quatre feature teams, et je rejoignais celle en charge de la gestion des cartes. Deux semaines plus tard, on m’a proposé d’en prendre la tête, ce que j’ai accepté.
L’équipe compte deux développeurs Flutter, deux développeurs .NET, ainsi qu’un PO et un QA dédiés. Je suis moi-même full stack .NET et Flutter, mais je consacre environ 90 % de mon temps au backend en C#.
Je travaille chaque jour en étroite collaboration avec le PO et le QA. Dès que le PO a une question, je suis son interlocuteur côté équipe. J’accompagne aussi le QA pour l’aider à comprendre les résultats de certains tests, notamment les tests de charge.
Le périmètre a grossi au fil des années. Aux cartes se sont ajoutés les paiements, puis, plusieurs mois plus tard, les transactions. Plus récemment, l’équipe a aussi hérité du delivery, c’est-à-dire le suivi de la livraison des cartes.
Architecture, documentation et revue de code
Je porte les choix d’architecture de l’équipe. Le backend repose sur des microservices .NET conçus en DDD, avec CQRS, MediatR et Service Bus, sur MongoDB et SQL Server. Côté mobile, l’application Flutter s’appuie sur BLoC, des use cases et l’Atomic Design.
Je produis les documents d’architecture : des BPMN pour les processus, des diagrammes de base de données avec Vertabelo. Je documente aussi les nouveaux endpoints et les contrats d’interface. L’objectif est d’aider mon PO à rendre nos tickets prêts, autant sur l’aspect technique que fonctionnel.
Je dois aussi protéger tout le code qui entre dans nos microservices. C’est pourquoi je suis PR Validator : chaque pull request passe par moi avant d’être fusionnée.
L’IA dans le quotidien de l’équipe
Depuis un an, nous avons intégré l’IA au fonctionnement de l’équipe, avec des skills spécifiques à nos besoins. Au niveau du groupe, nous utilisons GitHub Copilot, l’outil autorisé par Edenred.
Des agents Claude sont également branchés sur nos pull requests dans Azure DevOps. Ils améliorent la qualité des revues de code et réduisent le temps qu’elles demandent.
Delivery manager de la tribe
J’ai aussi un rôle tournant à l’échelle de la tribe, pour les quatre feature teams. Environ tous les quatre sprints, je deviens delivery manager. Je m’occupe alors de la release en cours et je la livre sur les différents environnements, en étroite collaboration avec les QA qui donnent le go.
Je surveille la production pour l’équipe SRE, lors du déploiement de chaque nouvelle release mais aussi au quotidien. J’ai mis en place des boards Datadog qui montrent en un coup d’œil l’état de la production, avec des dashboards dédiés à mon équipe. Un système d’alerting publie automatiquement un message dans un canal Teams dédié dès qu’un événement se produit, ce qui nous permet d’être proactifs.
Un quotidien en anglais
Je fais le lien entre le CTO, le PO et mon équipe, en animant les points de shaping et de refinement.
Chaque matin, un daily de tribe réunit en anglais les membres de la tribe User, répartis entre la France et la Roumanie. Mon équipe est francophone, mais la plupart de mes réunions sont transverses, avec d’autres équipes, pour discuter des dépendances et du shaping à grande maille. Elles se tiennent en anglais : au total, environ trois quarts de mes réunions.
Environnement technique
- .NET 10
- C#
- DDD
- Clean Code
- CQRS
- MediatR
- Microservices
- Service Bus
- MongoDB
- SQL Server
- Flutter
- Dart
- BLoC
- Atomic Design
- Datadog
- SonarQube
- BPMN
- Azure
- Azure DevOps
- MuleSoft
- SAFe