EXPÉRIENCES PROFESSIONNELLES
CA-CIB, Juin 2022 à Décembre 2025
Tech Lead & Ingénieur d’Études et Développement - Java/Angular
Contexte : Programme Loanscape
Le programme Loanscape a pour objectif de transformer toute la chaîne de valeur de la banque de financements structurés, de l'origination au back-office. Ce projet est constitué de plusieurs projets Cockpit, Invest’ON, LDT, Program, etc.
Projet : Cockpit
Cockpit est un tableau de bord offrant une vue d'ensemble de l'avancement du traitement des crédits via des KPIs et des diagrammes graphiques, avec accès aux documents liés aux deals.
Tâches réalisées :
• Collaborer avec les architectes pour la mise en œuvre de l’architecture technique du projet
• Rédiger et maintenir à jour la documentation technique (les schémas d’architecture, les diagrammes de séquences et des uses cases, choix techniques, etc.)
• Mise en place de pipeline GitLab CI/CD ainsi que la création et le déploiement des applications sur Argo CD
• Garantie de la qualité, de la sécurité et de la performance des livrables (Sonar, Checkmarx, Gatling et Dynatrace)
• Revue de code et support technique en partageant les bonnes pratiques
• Planifier les sprints en coordination avec le PO
• Garantir la bonne livraison des fonctionnalités
• Développement d’un tableau de bord permettant aux utilisateurs de manipuler des widgets déplaçables (drag and drop)
• Implémentation de l’API Gateway avec Spring Cloud Gateway (filtrage, rate-limiting, sécurisation OAuth2/Keycloak, etc)
• Conception et développement des fonctionnalités backend pour stocker les configurations des widgets et les préférences des utilisateurs
• Tests unitaires avec Junit5/Mockito et d’intégration avec Spring test et Testcontainers
Projet : Invest’ON
Invest’ON est la solution digitale proposée aux investisseurs de CA-CIB, permettant d’accéder aux opportunités d’investissement proposées par la banque et à la documentation associée. Ce projet facilite les interactions tout au long du processus de vente d’un actif, de la proposition à l’accord final.
Tâches réalisées :
• Optimisation des performances côté backend pour réduire les temps de réponse et garantir une expérience utilisateur fluide
• Conteneurisation et déploiement du backend coté Kubernetes en utilisant ArgoCD
• Particper à la refonte de l’interface utilisateur de VueJS vers Angular pour améliorer la modularité et la maintenabilité du projet
• Migration GitLab CI/CD
• Revue de code et support technique
• Planifier les sprints en coordination avec le PO
• Garantir la bonne livraison des fonctionnalités
Projet : LDT
LDT permet de créer des deals/opportunités et de les suivre tout au long de leur cycle de vie (comité de crédit, mandat, syndication et closing).
Tâches réalisées :
• Amélioration des performances des interfaces utilisateur existants et des APIs
• Migration technique complète de Java 11 à 17 et de Spring Boot 2.7 à 3, assurant la maintenance et l’évolution des applications
• Implémenter un actuator personnalisé pour Kafka
• Intégration de Spring Boot Admin et du feature toggling
• Développement full stack de deux modules : écran d'origination des crédits et l'autre pour l'envoi des données d'un deal vers une application externe
• Génération des documents Word avec Docx4J
• Tests unitaires avec Junit5/Mockito, intégration avec Spring test et Testcontainers, BDD avec Cucumber et Performance avec Gatling
Projet : Program
Program permet de gérer les programmes de distribution des deals.
Tâches réalisées :
• Développement d’une librairie de composants UI réutilisables pour afficher une liste des programmes et les détails associés
• Mise en place de pipeline GitLab CI/CD
Equipe-projet (Cockpit) : 1 Scrum Master, 2 Business Analyst, 1 PO et 4 ingénieurs de développement
Environnement technique: Java(11,17,21), Angular(14, 17, 19), Angular Element, NgRx, Typescript5, Jest, Spring (Spring 5/6, Spring Boot 2.7/3.3, Spring Security, Spring Cloud Gateway, Spring Data, Spring Web Socket), Docx4 , Swagger3, Caffeine, Mockito, Junit, Gatling, REST, GraphQL, Netflix DGS, Hibernate(5/6), JPA3, Liquibase, PostgreSQL, DBeaver, Kafka, Kubernetes, Helm, Docker, Argo CD, Maven3, Sonar, GitLab, Git, Checkmarx, Artifactory, Vault, Keycloak, ELK, Dynatrace, IntelliJ, Scrum, SAFe
BNP, Février 2018 à Avril 2022
Ingénieur d’Études et Développement - Java/Angular
Contexte : Programme MyCreditApp
Le programme MyCreditApp a pour objectif de digitaliser la chaine de crédit destinée aux clients Corporate et Institutionnels de BNP, puis fluidifier le process et améliorer la visibilité sur l’avancée de la demande.
Tâches réalisées :
• Avec Engineering Team :
Participation à la mise en place du schéma d'architecture et la cartographie du projet
Mise en place des services techniques transverses : e2e-main-controller avec Spring Integration, e2e-monitoring-admin avec Spring Boot Admin et e2e-distributed-tracing avec Zipkin
Création et intégration d'une librairie (jar) dans tous les services Back-end afin de propager un token dans tous les messages JMS et les appels HTTP REST synchrones et asynchrones
Améliorer les performances de l’application (Front-end et Back-end)
Migration du Front-end vers la version 11 d'Angular et certains services Back-end vers Spring boot 2
Génération de la documentation des APIs Swagger sous les formats PDF et HTML à l'aide du swagger2markup et le plugin maven asciidoctor
• Avec "Request to Decision" Team :
Implémenter un POC avec Eureka comme service discovery et Ribbon comme load balancer
Développement Front-end avec Angular et des services Back-end : e2e-credit-request (TrafficLight, Facilities, SubLimit, PDF export,etc) et e2e-referential
Génération des documents word et PDF avec Aspose
Tests unitaires avec Junit4/Mockito, intégration avec Spring test et BDD avec Cucumber et KarateDSL
• Avec "Decision to Implementation" Team :
Développement Front-end avec Angular et des services Back-end : e2e-deal (Contracts, Borrowers, Facilities, Gestion des documents, Transaction, etc.) et e2e-documents
Implémenter la gestion des statuts des contrats avec Spring Statemachine
Création des vues matérialisées permettant d'exposer des données aux systèmes externes de MyCreditApp
Développement des batchs avec Spring Batch (chargement des fichiers et terminate deal)
Tests unitaires avec Junit (4&5) /Mockito, intégration avec Spring test et BDD avec Cucumber et KarateDSL
Equipe-projet ("Decision to Implementation") : 1 Scrum Master, 3 Business Analyst, 1 PO et 6 ingénieurs de développement
Environnement technique : Java 8, Architectures Hexagonale et orienté services, Angular12, Spring (Spring 5, Spring Boot 1.5/2, Spring integration, Spring Data, Spring boot Admin, Spring Batch, Spring Statemachine, Spring cloud : Sleuth, Eureka,Ribbon), Typescript 4, Jasmine 4, Zipkin, Aspose, Swagger 2, JPA, Hibernate 5, Liquibase, Mockito, Junit4/5, Cucumber, KarateDSL , Oracle 19c, H2, ActiveMQ, Docker, Maven3, Jenkins, Sonar, Artifactory, Git, Bitbucket, Jira, IntelliJ, SQL Developer
SGCIB, Septembre 2017 à Janvier 2018
Ingénieur d’Études et Développement - Java/Angular
Contexte : Projet Liquidity Follow Up (projet réalisé au forfait)
La chaine de calcul de la liquidité GLFI/CORI est une chaîne de processus spécifique qui vise à optimiser les fonds des opérations de financements. Des applications « in-house » et des progiciels contribuent et communiquent entre elles mais ne fournissent pas de statut unique pour une opération donnée.
L’objectif du projet est de développer un outil de suivi global afin d’anticiper les ruptures dans la chaine de processus et permettre aux utilisateurs de traiter des évènements comme des tâches avec un workflow simple.
Tâches réalisées :
• Mise en place de Swagger pour tous les microservices
• Implémentation d’un microservice permettant l’intégration des évènements avec Spring MVC et RabbitMq
• Implémentation d’un microservice permettant de créer les tâches suivant les évènements reçus avec Drools
• Gestion de workflow des évènements et des taches
• Notification des utilisateurs par mail
• Gestion des permissions des utilisateurs, stockés dans la plateforme d'habilitation de SGCIB, en créant un filtre en commun pour tous les microservices
• Authentification et communication inter microservices avec Feign
• Tests unitaires avec Junit et Mockito
• Tests d’intégration avec Spring test et Docker
• Tests BDD avec Cucumber
• Développement front avec Angular
• Implication dans les cérémonies agiles Scrum (Daily, Sprint Planning, Review, Rétrospective)
Equipe-projet : 1 Scrum Master, 1 Tech Lead et 4 ingénieurs de développement
Environnement technique: Java 8, Architecture Microservices, Spring Boot 1.5, Spring Core/MVC/Data/Security, Thymeleaf, REST, Swagger, Drools, Feign, Angular4, Typescript, Jasmi...