Je conçois des systèmes robustes et évolutifs en m'appuyant sur des pratiques solides : Clean Architecture, Domain-Driven Design, Test Driven Development et Behavior Driven Development.
Actuellement en mission chez EDF (via ITERA), j'interviens sur des problématiques d'architecture à forte volumétrie : mise en place du pattern CQRS pour séparer lecture et écriture, introduction des Domain Events pour découpler la logique métier, et refonte de la conception des agrégats DDD.
Avant cela, chez Softway Medical, j'ai accompagné les équipes dans l'adoption du BDD et du TDD, tout en participant à la modernisation d'un legacy applicatif — avec toujours le même objectif : réduire le couplage et fiabiliser les évolutions futures.
Certifié Java 17 et AWS, je continue à me former en continu sur les sujets d'architecture et de qualité logicielle. Ouvert aux échanges sur ces sujets — n'hésitez pas à me contacter.
Ingénieur Full Stack chez EDF
- Présentation et mise en place du pattern CQRS sur un projet à forte volumétrie de données, afin de séparer les flux de lecture et d'écriture, réduisant les temps de réponse et améliorant la scalabilité de l'application.
- Présentation et mise en place des Domain Events pour découpler les effets secondaires d'une action métier de son traitement principal, réduisant les dépendances du service concerné et préservant la lisibilité de la logique métier centrale.
- Refonte de la conception des agrégats (DDD) : remise en cause des agrégats trop larges construits sur une simple relation de dépendance de cycle de vie, pour les recentrer sur leur véritable rôle — une frontière de cohérence transactionnelle.
Ingénieur Full Stack
- Présentation du Behavior Driven Development (BDD) afin de clarifier le besoin fonctionnel en étroite collaboration avec les Product Owners, en instaurant un langage commun entre équipes métier et techniques et en réduisant les ambiguïtés dès la phase de spécification.
- Formation des équipes à la Clean Architecture et au Test Driven Development (TDD), pour améliorer la testabilité du code, réduire le couplage entre la logique métier et les détails techniques (frameworks, infrastructure, persistance), et fiabiliser les évolutions futures.
- Modernisation du legacy applicatif.
La logique métier ne dépend jamais des frameworks, de la base de données ou de l'UI. Les détails techniques restent interchangeables.
Des agrégats pensés comme de vraies frontières de cohérence transactionnelle, pas comme un simple arbre d'objets liés.
Le test précède le code et le comportement précède le test. Un langage commun entre métier et technique, dès la spécification.
Séparer lecture et écriture quand la volumétrie l'exige. Découpler les effets secondaires pour garder la logique métier lisible.
Une question d'architecture, un projet à challenger, ou simplement envie d'échanger sur le DDD et le clean code ? Écrivez-moi.