Senior Full Stack Software Engineer
Intervention au sein de l'organisation d'ingénierie (35+ développeurs) d'une plateforme en environnement distribué servant plus de 70 000 utilisateurs, composée de plus de 30 microservices et 100+ dépôts.
- A conçu et implémenté des services backend scalables avec Java, Spring Boot et Domain-Driven Design.
- A contribué à la décomposition d'une application monolithique en microservices asynchrones, RESTful et pilotés par les événements.
- A architecturé des briques applicatives selon l'architecture hexagonale pour garantir maintenabilité et modularité.
- A piloté les décisions architecturales en conciliant exigences métier, maintenabilité et scalabilité à long terme.
- A amélioré les performances de build frontend en migrant de Create React App vers Vite et pnpm, réduisant le temps de build de 3 minutes à 12 secondes.
- A réduit le temps de chargement initial de 50 % et amélioré la réactivité d'environ 30 % grâce au caching frontend (TanStack Query), au lazy loading et à des optimisations backend.
- A optimisé les performances SQL en refondant les requêtes, introduisant des index et remplaçant HQL par du SQL natif optimisé.
- A conçu des modèles de bases de données relationnelles à partir de spécifications UML et implémenté des schémas prêts pour la production.
- A piloté les migrations Java (8 vers 11 puis 17) et Spring Boot (2.x vers 3.x, puis vers 4.x).
- A contribué aux systèmes événementiels basés sur Kafka en sélectionnant les patterns de messagerie adaptés aux besoins métier.
- A construit et maintenu des pipelines CI/CD avec GitLab CI, Jenkins et Docker Compose.
- A géré les incidents de production, coordonné les cellules de crise, préparé les stratégies de rollback et animé les REX, contribuant à une disponibilité de 99,9 %.
- A assuré le monitoring de production via Elasticsearch et les plateformes d'observabilité internes.
- A conduit environ 100 entretiens techniques par an pour évaluer des ingénieurs Java et Full Stack.
- A encadré plus de 16 développeurs juniors, stagiaires et alternants pour soutenir leur montée en compétences.
- A animé des ateliers techniques, des discussions d'architecture et des sessions de partage de connaissances au sein des équipes.
- A collaboré étroitement avec les Product Owners pour challenger les exigences et prioriser la dette technique.
Environnement technique