Senior Java Software Engineer
Participation à l'équipe de développement d'une plateforme d'épargne pour la diaspora (web et mobile) afin de concevoir et piloter l'architecture technique de bout en bout d'un système réparti.
- Prise en charge de la conception technique de bout en bout d'une plateforme d'épargne pour la diaspora (composée de plus de 12 microservices) servant plusieurs milliers d'utilisateurs à travers la diaspora, de l'analyse des besoins à la modélisation UML.
- Architecture de la communication inter-services avec RestTemplate, WebClient et Spring Cloud OpenFeign, tout en implémentant la découverte de services (Eureka), l'équilibrage de charge côté client et une passerelle API avec traçage distribué et résilience par coupe-circuit (Resilience4j).
- Construction d'une communication asynchrone et orientée événements entre les microservices avec Apache Kafka pour découpler les flux de travail principaux et améliorer la réactivité du système.
- Livraison de fonctionnalités d'interface utilisateur réactives sous Angular 16 à partir de maquettes de design, en développant des modules, des routages, des directives et des services en étroite collaboration avec les concepteurs UX/UI.
- Conception de la couche de persistance avec Spring Data JPA et JDBC Template, en utilisant Flyway pour les migrations de schémas versionnées.
- Documentation des API REST avec OpenAPI/Swagger et maintien d'une forte couverture de tests en utilisant JUnit 5, Mockito et Testcontainers dans le cadre d'un flux de travail TDD.
- Centralisation de la configuration des services avec Spring Cloud Config Server et standardisation des environnements de développement local à l'aide de Docker Compose.
- Encadrement et relecture de code de 3 développeurs juniors à intermédiaires, en fournissant des conseils sur les bonnes pratiques Spring Boot, la conception de microservices et la couverture de tests.
- Contribution à une équipe Scrum fonctionnant avec des sprints de 2 semaines, participant à la planification des sprints, au raffinement du backlog et aux rétrospectives suivies via Jira et Confluence.
Environnement technique