EXPERIENCES
SOCIETE GENERALE - FRM/CCR, PARIS DEPUIS AÔUT 2021
Développeur senior Java/Data Engineer (2 an et 3 mois)
CONTEXTE GENERAL :
Développement des applications pour le Standard Approach for Counterparty Credit Risk (SA-CCR) afin de produire différents indicateurs pour des différentes métriques (RWA, Full STD, LE, LR, CVAR)
PROJETS : FCCM, Collateral Allocator, SA-CCR Composition, Basel Maturity Calculator, SACCR Pricer, Haircut, PreDeal calculator as a Service, Standard Checker, Standard Validator, Error Sender
DOMAINE D’INTERVENTION :
Phase d’analyse :
• Participation à la conception technique de l’architecture des applications
Phase de développement :
• Optimisation de la performance d’une application « Haircut » par plus de 90%. Le temps de réponse moyenne est descendu au 4 secondes du 45-50 secondes
• Développement des applications pour différents métriques du SA-CCR en utilisant Spark 2.4 avec Java
• Développement d’une application afin d’automatiser des tâches manuelles et aussi de faire une comparaison dés métriques pour une non-régression
• Développement d’une librairie « error-sender » utilisée par plusieurs applications sur la chaîne SA-CCR afin d’envoyer des messages sur Azure EventHub et les consommer pour les envoyer vers à un autre système pour des audits
• Mettre en place du caching pour des APIs clients en utilisant Azure Redis Cache
• Développement d’une application REST afin de fournir la composition SACCR as-a service pour un projet « Pre-Deal Check »
• Développement sur des applications hors SACCR Transformation Streaming
• Participation aux workshops techniques au sein de l’équipe
Phase de déploiement:
• Création des artifacts pour déployer sur Azure Spark HDI Cluster
• Création des images Docker pour déployer sur Azure Kubenetes Service (AKS)
• Déploiement sur les différents environnements
Gestion d’équipe :
• Accompagnement lors de la montée en compétence des nouvelles ressources
RESULTATS OBTENUS :
Développement des compétences sur des technologies suivantes : Spark 2.4, Spring Framework, Azure, AKS, Azure HDI, Kibana, Caching
ENVIRONNEMENT TECHNIQUE :
Langages: Java 8/11
Frameworks: Spark 2.4, Spring boot, Spring cloud, Spring web, Spring Data, Spring security, Junit, Mockito, ArchUnit, JMH
Base de données et Caching: Azure Redis Cache, Hazelcast, Caffeine, PostgreSQL
Clusters: Azure Spark HDI Cluster, Azure Kubernetes Service
Méthode: Agile (Sprint de trois semaines)
SFR, PARIS DECEMBRE 2019 – AÔUT 2021
Développeur senior Java (1 an et 8 mois)
CONTEXTE GENERAL :
Développement d’une application « eClient » qui gère la base de données de clients de SFR.
PROJET : eClient core, Consentements, Prospects, AEM (Annuaire Externe Mobile)
DOMAINE D’INTERVENTION :
Phase d’analyse :
• Participation à la conception technique de l’architecture des applications
• Étude et validation des solutions en collaboration avec Tech Lead et Business Analysts
Phase de développement:
• Développement des libraires topic kafka en utilisant Avro pour la déclaration des schémas
• Développement de plusieurs micro services from scratch
• Développement des batches Java en utilisant le framework « Spring Batch » avec partitionnement
• Développement des webservices REST afin de lire ou modifier des données d’un client aux systèmes externes
• Utilisation d’un Circuit Breaker « Resilience4J » afin de protéger (Temps de réponse, nombre de threads, etc.) notre application lors d’appels (REST et SOAP) vers les systèmes externes
• Utilisation de S3 pour des batches Java
• Migration des métriques à Prometheus
• Refactoring d’une applications existante
• Participation aux workshops techniques au sein de l’équipe
• Refonte d’une application existante AEM et migration d’utilisation d’IBM MQ au Kafka
Phase de déploiement (sur environnement Unix de recette) :
• Création de l’image Docker
• Création de fat jar pour des composants qui ne sont pas encore sur Kubernetes
• Installation sur l’environnement de développement et de recette
Gestion d’équipe :
• Accompagnement lors de la montée en compétence des nouvelles ressources
RESULTATS OBTENUS :
Développement des compétences sur des technologies suivantes : micros services, spring batch, spring cloud kafka, kafka registry, Kubernetes, Airflow, Graphana
ENVIRONNEMENT TECHNIQUE :
Langages : Java 8, MongoDB Queries, JMS, Maven, Python
Framework : Spring boot web, Spring boot batches, Spring cloud kafka, Spring Data, Junit, Mockito
Base de données : MongoDB, Embedded MongoDB
Serveur d’Application : Embedded Tomcat
Système d’exploitation : Unix
Méthode : Agile (Sprint de deux semaines)
BNP PARIBAS CIB, PARIS SEPTEMBRE 2017 – DECEMBRE 2019
Développeur senior Java (2 ans et 3 mois)
CONTEXTE GENERAL :
Refonte de l'application officielle du marché secondaire (pricing des produits, publication des valorisations et trading). L’application gère différents types de produits financiers et est utilisée par les sales secondaires, les traders secondaires et les équipes MO & BO.
PROJET : Exocet, Secondary Market Derivatives, MIFID II, Stream 11, EPQT, NEO
DOMAINE D’INTERVENTION :
Phase d’analyse :
• Participation à la conception technique de l’architecture des applications
• Etude et validation des solutions en collaboration avec les Business Analysts
Phase de développement:
• Refonte du système de marges existant conformément à la réglementation MIFID-II
• Développement d’un service « Mail Parsing » afin de parser des ordres d’exécution de trades reçus par mail et d’appeler les différents services pour les exécuter
• Développement des micros services pour la nouvelle chaine de pricing (i.e. Stream 11) avec différents patterns (CQRS, Event sourcing)
• Collaboration avec un fournisseur externe de BNP Paribas pour des projets « Equity Portfolio Quant Tool » (outil de gestion et d’analyse d’un panier) et « Néo » (outil de contrôle entre deux réajustements mensuels et suivi de performance d’investissement)
• Développement d’un composant afin de générer différents fichiers des instruments financiers utilisés par le projet EQPT
• Participation aux workshops techniques au sein de l’équipe
• Participation aux activités de la Guild technique
• Suivi de la production
Phase de déploiement (sur environnement Unix et Windows de développement, de recette et de production) :
• Création de l’artifact « fat jar » en utilisant le pipeline de Jenkin 2
• Création du binaire exécutable pour les composants legacy
• Installation sur l’environnement de développement, de recette
RESULTATS OBTENUS :
• Développement des compétences sur des technologies micros services et event sourcing
ENVIRONNEMENT TECHNIQUE :
Langages : Java 8, SQL, PL/SQL JavaScript, PHP, JAX-RS, JMS, XML, Gradle
Framework : Spring, Spring boot, Hibernate, JUnit
SGBD : SQL Server
Serveur d’Application : Tomcat
Système d’exploitation : Windows, Unix
Méthode : Agile, Cycle en V
ACCENTURE TECHNOLOGY SOLUTIONS, NANTES NOVEMBRE 2014 – AOUT 2017
Ingénieur d’études Expérimenté JAVA/J2EE (3 ans)
CONTEXTE GENERAL :
Le développement et la maintenance des applications J2EE « SIGC » et « FAST » de CRM i.e. Customer Relationship Management (affichage de fiche de synthèse client en 360o, création de demandes et de dossiers, lancement des actes de gestion, intégration avec les applications externes, propagation vers d’autres systèmes…)
PROJET : Développement et maintenance corrective de l’application « SIGC » et « FAST ».
DOMAINE D’INTERVENTION :
Phase analyse :
• Prise en charge des nouveaux besoins du client (développements et correctifs)
• Support client
• Gestion des éventuelles demandes pertinentes de développement découlant du support client
• Prise en charge des demandes de la MOA.
• Ecriture de spécifications fonctionnelles (en anglais) pouvant répondre à la demande en amont pour une validation par la MOA en aval
• Après validation de la MOA création de documentation technique (en anglais) si besoin.
Phase de développement:
• Développement et maintenance d’une application CRM « Amdocs Clarify CRM »
• Développement et maintenance de batchs écrits en Shell Script et PL/SQL
• Développement d’un composant « Business Process Manager »
• Développement d’une autre l’application CRM afin de remplacer le CRM existant en utilisant un moteur de recherche Sinequa et Elasticsearch
• Développement de webservices REST afin d’exposer les données du CRM aux systèmes externes
• Réglage de la performance du code existant
• Automatisation de certaines activités manuelles
Phase de déploiement (sur environnement Unix) :
• Création de l’EAR et du WAR
• Installation sur l’environnement de développement, de recette et de production
Gestion d’équipe :
• Définition du niveau de priorité pour chaque tâche de l’équipe
• Accompagnement lors de la montée en compétence des nouvelles ressources
RESULTATS OBTENUS :
• Développement des compétences sur des technologies J2EE
• Amélioration des compétences sur la livraison de l’application sur différents environnements
ENVIRONNEMENT TECHNIQUE :
Langages : J2EE 5, EJB 3.0, JSP 1.2, SERVLET 2.3, SQL, PL/SQL JavaScript, JQuery, SOAP, JAX-RS, JMS, HTML, XML, XSLT, CSS, Ant, Maven, Shell Scripting
&...