
Sabri Arfaoui
Ingénieur R&D Java Full Stack Senior
Salaire / Taux journalier
77400 Lagny-sur-Marne, France
Freelance
Expertises
Langues
À propos
Introduction
Ingénieur Java/Spring full-stack avec +15 ans d'expertise dans le secteur bancaire (Société Générale, HSBC, BNP Paribas). Spécialisé en développement d'API REST, architectures microservices et applications de gestion des risques financiers. J'apporte une maîtrise complète de l'écosystème Java/Spring Boot et une expertise métier solide pour vos projets critiques en environnement Agile.
Expérience de travail
Ingénieur R&D Java/Spring
Société Générale
nov. 2022 - Présent
4 ans
Paris, France
Api Springboot
Ingénieur R&D
LCH
nov. 2020 - oct. 2022
2 ans
Paris, France
Ingénieur R&D Java
Société Générale
sept. 2018 - oct. 2020
2 ans 2 mois
Paris, France
Contexte : Maintenance et développement sur un système de gestion des anomalies de transaction dans la banque. Ce système baptisé « Serval » est une application web implémentée en partie en Java/GWT et en partie réécrite en Java/REST dans le conteneur Spring Boot et qui permet à ces utilisateurs de gérer des workflows appartenant à différents contrôles qui gèrent les anomalies sur les transactions passées en front à travers une grille liée à une cartographie du personnel de la banque afin d’escalader les alertes et les attributions aux personnes concernées. Environnement technique : - Langage Java - Framework Spring, Spring Boot, Hibernate, Angular, GWT - Système d’exploitation : Windows - Outil de gestion de la configuration : Git - Outil de compilation et de livraison : maven, Jenkins - Méthodologie Agile - Gestion des faits techniques : Jira
Ingénieur R&D Java
HSBC
oct. 2017 - juil. 2018
10 mois
Région de Paris, France
Contexte : Maintenance et mise en PROD d’une application de calcul des risques et du PnL développée en Java/Spring basée sur une librairie de pricing en C/C++ qui se connecte à une base de données ‘Sophis’ pour collecter les données des instruments ainsi que les valeurs des ‘spots’ puis calcule la variation des prix entre deux jours consécutifs et génère des rapports csv pour les utilisateurs. Pixar : C’est une application de calcul de risques et PnL développée en Java/Spring et s’exécutant à partir de batch schedulé par le logiciel d’ordonnancement de tache ‘Control-M’. Les exigences de la mise en PROD de PIXAR consistent en la correction de bugs et le développement des évolutions demandées par le business. Ecriture de script batch sur Windows et création et configuration de job control-m pour la gestion des taches d’ordonnancement, de transfert de fichiers vers les dossiers de dépôts des applications clientes, la purge des anciens fichiers ainsi que l’archivage des données en base. Support de production lors des anomalies. Environnement technique : - Langage Java, C/C++ - Framework Spring - Système d’exploitation : Windows - Outil de gestion de la configuration : Git - Outil de déploiement et de production : Jenkins, Control-M, script batch - Outil de compilation : maven - Méthodologie Agile - Gestion des faits techniques : Jira
Ingénieur d’étude et de développement
BNP Paribas Corporate and Institutional Banking
mai 2014 - oct. 2017
3 ans 6 mois
Région de Paris, France
Contexte : Maintenance et évolution d’un serveur de génération automatique de la documentation « Universal Drafter », pour la description des contrats financiers à base de « templates » Développement d’outils et d’interface graphique pour l’élaboration manuelle de « template » à partir d’un poste client ainsi que la vérification de la validité des informations contenues dans les documents générés. Universal Drafter : Le serveur de « drafting » est un serveur implémenté en python. Il intègre des « templates » contenant des descriptions textuelles, des formules mathématiques et des tableaux générés à partir de scénarios préalablement implémentés afin de décrire les différentes positions de risque et de profit d’un contrat financier. Les templates sont organisés suivant le type de documents de sortie et la nature du contrat financier Outils et client graphique : Participation à l’implémentation d’un studio de conception de « Template » en Java Swing. Participation au développement d’un outil graphique de contrôle de la validité de la documentation générée à partir du serveur de « drafting » en Java Swing. Environnement technique : - Langage Java & Python - Api Swing - Système d’exploitation Windows - Outil de gestion de la configuration : Subversion - Outil de compilation : maven Environnement fonctionnel : - Produits structurés - Produits flow et produits exotiques
Ingénieur d’étude et de développement
THALES COMMUNICATIONS & SECURITY SA
juin 2011 - mai 2014
3 ans
Région de Paris, France
Contexte : Maintenance et développement des évolutions sur une application client/serveur appelée «Configurateur » qui génère des données de configuration pour un système de supervision et d'acquisition de données (SCADA : Supervisory Control And Data Acquisition) gérant et surveillant les équipements sur d’une ligne de métro de l'RATP. Configurateur : Le configurateur est une application client/serveur de configuration et de modélisation de l’infrastructure et des équipements d’une ligne de métro. La partie cliente est une interface graphique implémentée en Java Swing qui permet à l’utilisateur d’ajouter, modifier et supprimer des équipements et d’introduire dans la base de données les valeurs de leur paramétrage. La partie serveur est une application java dont la persistance est gérée par une base de données Oracle, génère à partir de la modélisation objet et des valeurs renseignées des fichiers de configuration utilisés pour l’initialisation du système temps réel SCADA au démarrage puis l’acquisition des données parvenus du terrain et des équipements pendant le fonctionnement. Environnement technique : - Langage Java & C/C++ - Api Swing - Langage SQL sous oracle - Environnement distribué : Java RMI - Multithreading java - Outil de gestion de la configuration : Clearcase - Outil de gestion des faits techniques : ClearQuest Environnement fonctionnel : - Environnement transport
Ingénieur d’étude et de développement
SunGard
juin 2009 - mai 2011
2 ans
Région de Paris, France
Contexte : Développement et maintenance d’applications front office pour le traitement du flux boursier public et privé. Ces applications gèrent le flux des marchés cash et des marchés des dérivées. Ils ont pour rôle de se connecter à la bourse, de traiter et de décoder le flux afin de mettre à jour et notifier en temps réel les clients connectés en back office. Gateway front office : Les applications front office appelées « Gateway », sont des clients implémentés en langage C++. L’application se connecte à une bourse donnée et se branche sur les canaux de transmission du flux boursier pour synchroniser et ordonner les paquets reçus en temps réel. Ensuite suivant le protocole de communication, l’application décode les messages et les informations reçus, construit en mémoire partagée les tableaux des transactions correspondant chacun à l’achat et la vente d’un produit dérivé particulier en les classant par ordre d’arrivée et par limite de prix ainsi que toutes les autres informations qui concernent le sous-jacent associé. Environnement technique : - C/C++ temps réel - Multithreading (thread posix, thread de boost) - Design Pattern et UML - Outils de diagnostic (Valgrind, cachegrind, purifier, cppCheck) - Outils de compilation (makefiles, script python) - Outils de débogage (gdb sous linux et dbx sous Solaris) - Outil de gestion de la configuration : Perforce Environnement fonctionnel : - Produits dérivés - Actions, Obligations
Ingénieur d’étude et de développement
Aptus
sept. 2007 - juil. 2009
1 an 11 mois
Tunis, Tunisie
Contexte : développement de drivers d’une imprimante multifonction sous linux embarqué pour recevoir et interpréter les commandes et les données envoyés par un PC. Ces données comportent des commandes de contrôle de Job de type PJL (début de job, fin de job, statut de job, …) ainsi que des données d’impression de type JBIG. - Prise de connaissance des formats de données d’impression - Rédaction du document de conception en utilisant les diagrammes UML - Conduite de projet suivant le modèle de cycle en V - Développement en langage C dans l’environnement linux embarqué - Développement des tests unitaires - Documentation des tests unitaires et des tests d’intégration - Passage des tests unitaires - Correction de faits techniques suite à la livraison Environnement technique : - Langage C temps réel - Multithreading (thread posix) - Outils de conception : rational rose et diagrammes UML - IDE : Eclipse sous linux - Outils de diagnostic : Valgrind, cachgrind - Outils de compilation : makefile - Outils de débogage : gdb sous linux - Outil de gestion de la configuration : subversion Environnement fonctionnel : - Connaissance des formats de données d’impression JBIG, PJL, GSTREAM. Contexte : Maintenance et évolution du système d’information existant de la fédération française de handball basée sur l’architecture Java/J2EE - Prise de connaissance des fonctionnalités du système - Correction de faits techniques et des bugs du système d’information - Développement de nouveaux modules métiers définis dans les spécifications fonctionnelles - Conduite de projet suivant le modèle de cycle en V - Automatisation des tests à travers le développement de modules basés sur le Framework JUnit - Passage des tests unitaires Environnement technique : - Langage de programmation JAVA - Architecture J2EE - Langage web : HTML, CSS, XML, XSL, XSLT - IDE : Eclipse sous Windows - Base de données : SQL sous MySQL - Outils de diagnostic : JProbe, Plugin eclipse TPTP
Formation
Faculté des Sciences Mathématiques, Physiques et Naturelles de Tunis
Diplôme d’acceptation au concours d’entrée aux grandes écoles de formation d’ingénieurs, Etudes preparatoires
Résultat : Entrée au cycle de formation d'ingénieur aprés concours national
ENSI - Ecole Nationale des Sciences de l'Informatique
Diplôme d'ingénieur, Ingénierie informatique
Lycée El Omran à Tunis
Baccalauréat, Section Mathématiques
Résultat : Mention trés bien