Experience

Over five years of full-stack development, from legacy monoliths to high-traffic cloud platforms.

  1. June 2023 — present

    Full-Stack Kotlin Developer · SNCF Connect

    After-sales (APV)

    June 2024 — present

    After-sales for the SNCF Connect app — booking, exchanging or cancelling train tickets — in a 15-person team, on a very high-traffic journey.

    • After-sales impact study for the Worldline SIPS to GoPay payment migration: identifying the adaptations required and the components shareable with the purchase journey
    • Built adding and cancelling a pet on an already-booked trip, a journey that did not exist in after-sales before
    • Implemented “multi-inventory” exchanges, covering tickets from several booking systems within a single exchange
    • Set up a chatbot as first-line response for after-sales
    • Added a circuit breaker on sensitive endpoints, so a partner outage cannot degrade the whole journey
    • Progressive rollout of new features through feature toggles, reducing the risk of each release
    • Next.js/TypeScript front end and Flutter mobile app in a monorepo, with a design system documented in Storybook
    • AWS infrastructure (Kubernetes, DynamoDB, Route 53, KMS, Lambda) with Datadog and OpenSearch monitoring for production diagnosis
    • Unit tests with Kotest and integration tests on ephemeral containers with TestContainers, validating the code against real dependencies
    • Pair and mob programming, cross reviews and SonarQube to spread knowledge across the team
    • Kotlin
    • Java 21
    • Spring Boot
    • Kotest
    • TestContainers
    • Next.js
    • React Query
    • Storybook
    • Flutter
    • MongoDB
    • DynamoDB
    • AWS
    • Kubernetes
    • Datadog

    Document management (MaDOC)

    June 2023 — June 2024

    MaDOC, a document-management application built from scratch for railway field workers (train drivers, ground agents) — signing documents issued within the app.

    • Kotlin/Quarkus backend in hexagonal architecture, isolating the domain from frameworks and making it testable
    • Unit tests with Kotest and integration tests on ephemeral containers with TestContainers, validating the code against real dependencies
    • Native compilation with GraalVM, for fast start-up in a containerised environment
    • PDF processing with iText, S3 storage and the rewrite of a legacy SOAP service
    • React/TypeScript front end, with two internal NPM libraries (OpenAM authentication, Material-UI and Storybook design system) packaged to be reusable beyond the project
    • Types generated from OpenAPI with swagger-typescript-api, removing drift between the API contract and the front end
    • Infrastructure described with Terraform and GitOps deployments on AWS (Kubernetes, Flux CD, Helm), reproducible and versioned
    • MongoDB migrations handled with Mongock, versioned alongside the code
    • Kotlin
    • Quarkus
    • GraalVM
    • Kotest
    • TestContainers
    • MongoDB
    • React
    • Material-UI
    • React Query
    • Jotai
    • AWS
    • Terraform
    • Flux CD
    • Helm
  2. March 2021 — February 2023

    Full-Stack Java Developer · Officéo

    At the French leader of on-demand office management, pairing with the CTO/Lead Dev — rebuilt the back office and evolved the Client and Assistant applications.

    • Rebuilt the back office in Vue.js/Vuetify, replacing a Java 6 application that had become hard to evolve, with progressive feature migration
    • Created REST and GraphQL APIs in a dedicated Spring Boot application
    • Dynamic CRON jobs driven by API: enabling, rescheduling and an execution log in database, with no redeployment
    • Application design, documentation and JUnit unit tests
    • Java 11
    • Spring Boot
    • MySQL
    • Vue.js
    • Vuetify
    • GraphQL
    • Keycloak
    • Docker
  3. October 2020 — December 2020

    Full-Stack Java Developer · Association

    Member-management application for a funeral mutual-aid association — microservices architecture behind a gateway.

    • Microservices architecture with gateway, Eureka and OpenFeign proxy (Spring Cloud)
    • Automated CRON reminders for membership fees at least three months overdue, replacing manual follow-up
    • REST APIs, documentation and JUnit unit tests
    • Java 8
    • Spring Boot
    • Spring Cloud
    • PostgreSQL
    • Angular
    • Docker

Training & certifications