Expériences

Plus de cinq ans de développement full-stack, du monolithe legacy aux plateformes cloud à fort trafic.

  1. juin 2023 — aujourd’hui

    Développeur Kotlin Full-Stack · SNCF Connect

    Après-vente (APV)

    juin 2024 — aujourd’hui

    Après-vente de l’application SNCF Connect — réserver, échanger ou annuler un billet de train — au sein d’une équipe de 15 personnes, sur un parcours à très fort trafic.

    • Étude d’impact côté après-vente de la migration du paiement Worldline SIPS vers GoPay : identification des adaptations à prévoir et des composants mutualisables avec le parcours d’achat
    • Ajout et annulation d’un animal sur un voyage déjà réservé, une démarche jusque-là absente du parcours après-vente
    • Mise en place de l’échange « multi-inventaires », pour couvrir des billets issus de plusieurs systèmes de réservation dans un même échange
    • Mise en place d’un chatbot en premier niveau de réponse sur l’après-vente
    • Ajout d’un circuit breaker sur les endpoints sensibles, pour éviter qu’une panne partenaire ne dégrade l’ensemble du parcours
    • Activation progressive des nouvelles fonctionnalités par feature toggles, réduisant le risque à chaque mise en production
    • Front Next.js/TypeScript et application mobile Flutter dans un monorepo, avec un design system documenté sous Storybook
    • Infrastructure AWS (Kubernetes, DynamoDB, Route 53, KMS, Lambda) et supervision Datadog et OpenSearch pour diagnostiquer en production
    • Tests unitaires avec Kotest et tests d’intégration sur conteneurs éphémères avec TestContainers, pour valider le code contre de vraies dépendances
    • Pair et mob programming, revues croisées et SonarQube pour diffuser les connaissances dans l’équipe
    • Kotlin
    • Java 21
    • Spring Boot
    • Kotest
    • TestContainers
    • Next.js
    • React Query
    • Storybook
    • Flutter
    • MongoDB
    • DynamoDB
    • AWS
    • Kubernetes
    • Datadog

    Gestion documentaire (MaDOC)

    juin 2023 — juin 2024

    MaDOC, application de gestion documentaire construite from scratch pour les métiers du ferroviaire (conducteurs, agents terrestres) — signature des documents émis dans l’application.

    • Backend Kotlin/Quarkus en architecture hexagonale, isolant le métier des frameworks et facilitant les tests
    • Tests unitaires avec Kotest et tests d’intégration sur conteneurs éphémères avec TestContainers, pour valider le code contre de vraies dépendances
    • Compilation native avec GraalVM, pour un démarrage rapide en environnement conteneurisé
    • Manipulation de PDF via iText, stockage S3 et réécriture d’un service SOAP hérité
    • Front React/TypeScript, avec deux librairies NPM internes (authentification OpenAM, design system Material-UI et Storybook) packagées pour être réutilisables au-delà du projet
    • Types générés depuis OpenAPI avec swagger-typescript-api, supprimant les écarts entre le contrat d’API et le front
    • Infrastructure décrite avec Terraform et déploiements GitOps sur AWS (Kubernetes, Flux CD, Helm), reproductibles et versionnés
    • Migrations MongoDB gérées avec Mongock, versionnées avec le code
    • Kotlin
    • Quarkus
    • GraalVM
    • Kotest
    • TestContainers
    • MongoDB
    • React
    • Material-UI
    • React Query
    • Jotai
    • AWS
    • Terraform
    • Flux CD
    • Helm
  2. mars 2021 — février 2023

    Développeur Java Full-Stack · Officéo

    Chez le leader français de l’Office Management à la demande, en binôme avec le CTO/Lead Dev — refonte du back-office et évolutions des applications Client et Assistant.

    • Refonte du back-office en Vue.js/Vuetify, en remplacement d’une application Java 6 devenue difficile à faire évoluer, avec migration progressive des fonctionnalités
    • Création d’APIs REST et GraphQL dans une application Spring Boot dédiée
    • CRONs dynamiques pilotables par API : activation, reprogrammation et journal d’exécution en base, sans redéploiement
    • Participation à la conception, documentation et tests unitaires JUnit
    • Java 11
    • Spring Boot
    • MySQL
    • Vue.js
    • Vuetify
    • GraphQL
    • Keycloak
    • Docker
  3. octobre 2020 — décembre 2020

    Développeur Java Full-Stack · Association

    Application de gestion des adhérents pour une association d’entraide funéraire — architecture microservices derrière une gateway.

    • Architecture microservices avec gateway, Eureka et proxy OpenFeign (Spring Cloud)
    • Relances automatiques par CRON des cotisations à partir de trois mois de retard, en remplacement d’un suivi manuel
    • APIs REST, documentation et tests unitaires JUnit
    • Java 8
    • Spring Boot
    • Spring Cloud
    • PostgreSQL
    • Angular
    • Docker

Formations et certifications