
Abdelilah RAMI
Software Engineer| Microservices et Event-Driven
Salaire / Taux journalier
Paris, France
Mobilité : France
Freelance
Peut venir sur site
Expertises
Langues
À propos
Introduction
Software Engineer avec 8 ans d'expérience en architecture microservices event-driven et développement full-stack Java/React. Expert en systèmes distribués sur Azure (Kafka, Debezium CDC, Transactional Outbox) avec réalisations concrètes chez Pluxee : orchestration BFF multi-services, pipelines Kafka Streams, et architectures Micro-Frontend. Je conçois des solutions scalables et maintenables avec focus sur la qualité, le mentoring et les standards techniques.
Expérience de travail
Senior Software Engineer
Pluxee
janv. 2025 - Présent
1 an 10 mois
À distance
– Projet : B2B Portal • ODE • CLM • SMO NOMA – Plateforme Microservices Event-Driven – Lead technique sur un écosystème de microservices event-driven (B2B Portal, ODE, CLM, SMO, NOMA) déployé sur Azure AKS, avec architecture distribuée Kafka + Debezium CDC. – B2B Portal (BFF) — Lead dev – Lead technique du BFF Spring Boot 3.4 / Java 21 orchestrant 7+ microservices downstream (CLM, SMO, ODE, Taxie) via Spring Cloud OpenFeign et Azure APIM – choix de stack et design d'orchestration validés en revue d'architecture – Conception du système d'authentification multi-issuer (Pluxee Connect + Okta RS256) avec sessions Redis-backed, devenu standard pour l'ensemble des frontends B2B – Définition du pattern de forwarding intelligent des tokens JWT et de l'injection automatique des clés APIM + Correlation-ID (MDC) pour le tracing distribué – Développement frontend dans l'architecture Micro-Frontend (Module Federation) avec React 18 / TypeScript / Vite, Chakra UI + Pluxee Design System, Zustand, TanStack Query, React Hook Form + Zod – ODE (Offer Designer) — Architecture event-driven – Pilotage de l'implémentation du Transactional Outbox Pattern avec Debezium CDC (PostgreSQL WAL, pgoutput) : écriture atomique benefit + outbox, capture CDC, sérialisation Avro vers Schema Registry, publication sur topic Kafka – choix d'architecture argumenté et documenté en ADR – Conception du système d'audit complet via Hibernate Envers (historique de chaque révision, consultation par révision) avec génération automatique de l'historique – Définition des contrats d'API interne (backoffice) et externe (lecture seule), avec implémentation de la contrainte métier « un seul bénéfice publié par pays » – Mise en place de la stratégie de tests (JUnit 5, Mockito, REST Assured, TestContainers, Instancio, Vitest) et des standards de qualité (SonarQube, couverture de code) – Code review et mentoring sur les patterns event-driven et la sécurité OAuth2 avec rôles par pays – CLM (Client Lifecycle Manager) – Pipeline Lead-to-Client – Conception du pipeline complet Lead-to-Client : création de leads, conversion clients avec validation (email/companyId), gestion des contrats, devis et groupes de facturation (JPA/Hibernate + Liquibase sur PostgreSQL) – Architecture des intégrations externes via Feign : synchronisation bidirectionnelle Salesforce (création clients, requêtes SIRET), capture de leads HubSpot, export batch SAP via SFTP (Excel, cron nightly), envoi d'emails via Kafka vers NOMA – Implémentation du Transactional Outbox Pattern pour la publication d'événements Kafka (topics client, lead, billing_contract) – Conception d'une Kafka Streams Topology (Billing Topology) avec state stores pour normaliser les données de facturation – Stratégie de tests d'intégration : JUnit 5, Mockito, WireMock (mocking HTTP externe), Instancio, H2, Kafka Streams Test Utils – SMO (Smart Ordering) — Système de commandes – Conception du système de commandes (v2/v3) avec Specification Pattern, recherche avancée, annulation, calcul de prix avec validation programme/bénéfice (JPA/Hibernate + Liquibase sur PostgreSQL) – Design d'une pipeline Kafka Streams consommant 4 topics (clients CLM, bénéfices ODE, comptes prépayés Beatriz, instruments paiement Patty) et produisant 4 topics (ordres normalisés, programmes validés, DLQ, ordres de facturation BPP)
Software Engineer
RATP
déc. 2023 - déc. 2024
1 an 1 mois
Paris, France
– Projet : ACIV-DIFFUSION — Application SIV-TRAM (gestion des informations voyageurs) – Conception et développement de l'application SIV-TRAM pour la gestion des informations voyageurs – Architecture du pipeline Kafka (consommateur/producteur) pour le traitement des informations voyageurs – Définition de la stratégie de tests : unitaires (JUnit 5/Mockito), intégration, BDD (Cucumber), performance (Gatling) – Intégration de SonarQube dans la chaîne CI et suivi de la qualité du code – Maintenance et évolution des APIs backend ; coordination des déploiements multi-environnements (DEV, Recette, Pré-prod, Prod) – Animation des cérémonies SCRUM
Senior Software Engineer
Carrefour
janv. 2021 - déc. 2023
3 ans
– Projets : Merch • Business Console • Product • Product Store E-catalogue – Contexte : plateforme e-merchandising pour optimiser la pertinence des produits sur le site Carrefour. Équipe de 9 (Scrum Master, 6 développeurs, PO, QA) en méthodologie agile. – Merch / Console Search / Product – Conception d'une interface catalogue responsive avec React (pagination client, filtres dynamiques avec custom hooks) – Architecture du système de gestion des catégories avec React Router et Redux (gestion d'état globale) – Création de composants React réutilisables pour la visualisation et l'édition de l'arborescence des catégories – Développement des opérations CRUD sur l'arborescence avec stockage MySQL – Mise en place de routes Apache Camel pour le traitement de fichiers CSV produits et la consommation Kafka – Implémentation de l'API Kafka Consumer/Producer pour synchroniser les données Product-Link (API Phenix) avec les microservices PRODUCT – Application stricte de TDD et SOLID dans le développement quotidien pour assurer la maintenabilité – Product Store E-catalogue (3 microservices internalisés) – Conception et développement de l'e-catalogue (NVT — Transformateur de navigation, OFR — Éditeur d'offres, PRP — Éditeur de produits) sur Java 17 / Spring Boot – Internalisation d'une solution externe en équipe restreinte (2 développeurs + tech lead + PO) – Ingestion et traitement de fichiers d'entrée (CSV/Excel) depuis Google Cloud Storage – Conception consommateur/producteur Kafka pour les interactions inter-API – Validation fonctionnelle avec QA et PO, troubleshooting production via Kibana
Senior Full Stack Developer
Rexel
avr. 2019 - déc. 2020
1 an 9 mois
– Projet : Suppliers and Customers API – Contexte : Portail Rexel (distribution d'équipements électriques pour professionnels). Mise en place d'une nouvelle couche API pour améliorer la gestion des fournisseurs et optimiser les performances du panier d'achat. Équipe Scrumban (Scrum Master, 6 développeurs, 2 POs). – Développement des fonctionnalités du panier d'achat (création, modification, suppression) – Implémentation de services web pour la gestion des fournisseurs et des clients – Sécurisation de l'application avec Spring Security et OAuth 2.0 – Intégration d'Azure Active Directory avec Spring Security OAuth 2 pour une authentification centralisée basée sur les rôles – Mise en place d'un système de cache Redis pour accélérer l'accès aux données – Utilisation d'Azure Blob Storage pour le stockage et la récupération de fichiers volumineux (multimédia) – Tests unitaires JUnit 5 / Mockito ; participation aux déploiements production et cérémonies agiles
Software Engineer Full Stack
Orange
juin 2017 - août 2018
1 an 3 mois
– Projet : FemtoCells – Analyse fonctionnelle et technique pour garantir l'alignement avec les exigences métier – Développement de nouvelles fonctionnalités backend pour améliorer performances et fiabilité – Mise en place de tests robustes (JUnit/Mockito) : couverture de code passée de 70% à 80%, réduction des régressions en production – Participation à la migration JSP/Servlet vers Java/Spring + Angular pour modernisation de l'interface – Utilisation des outils CI pour automatisation des tests et déploiements – Contribution à la documentation technique pour la maintenabilité
Software Engineer
Groupe Oxyl
mars 2017 - mai 2017
3 mois
– Projet : Exciskills – Formation Stack Java de 3 mois (Spring, Spring MVC, JDBCTemplate, Spring Security, Hibernate ORM, API REST, Angular), suivie d'une intégration en équipe de 10 développeurs sur Exciskills (outil de gestion de compétences interne). – Backend Spring Boot : APIs REST CRUD, persistance MySQL/Hibernate, tests Spring Boot Starter Test (JUnit/Mockito/AssertJ) – Frontend React + Redux : composants ES6 connectés au store, Material UI, formulaires, tableaux triables – Authentification Google OAuth avec mécanisme de rafraîchissement de token – Tests unitaires React avec Jest et Enzyme
Formation
ENSEM
Diplôme d'Ingénieur, Informatique
2014 - 2017
3 ans 1 mois
CPGE
PSI
2012 - 2014
2 ans 1 mois
Licences et certifications
AWS Certified Cloud Practitioner
Délivré le : –
OCA Java SE 8
Délivré le : –
CKAD
Délivré le : –
OCP Java SE 21
Délivré le : –
Portfolio
