Sabri - Consultant J2EE
Ref : 200707A001-
77400 LAGNY
-
Consultant, Développeur (40 ans)
-
Totalement mobile
-
Bientôt freelance
Expériences professionnelles
LCH (London Clearing House) : De Novembre 2020 a Aujourd’hui
Ingénieur d’étude et de développement
Dans une équipe de treize personnes :
Développement sur différentes applications des nouveaux projets et des évolutions demandés par le client ainsi que la maintenance et la correction des anomalies de l’existant.
Développeur sur SPH Langage JAVA/Spring/Hibernate/AngularJs/PLSQL :
L’application SPH constitue la partie qui gère le règlement (settlement) et la livraison (delivery) des trasactions entre achteur/vendeur et contient deux composants TSI et DPF.
TSI étant une application web en angularjs pour le coté client et java/spring/Hibernate pour la partie serveur communiquant par web service et liée à une base de données Oracle.
DPF est un ensemble de procédures stockées appelées par des batchs shell.
Ces applications gèrent aussi le Netting (compensation) pour l’optimisation du nombre de transactions afin de réduire entrées/sortie en device, les fails ou défaut de livraison ainsi que les buy-in ou le rachat des actions non livrés.
Développeur sur UCS temps réel Langage C/JAVA :
L’application UCS est un système temps réel de gestion des positions et des transactions (Trade) ainsi que la gestion du référentiel des comptes membre et des instruments. UCS est un ensemble de processus écrits en Langage C dans un environnement Linux reliés entre eux par un bus qui véhicule les données et les évènements. UCS comporte aussi une partie batch (shell) exécutée chaque jour dans un ordonnanceur de taches ‘VTOM’. Outre la partie batch et temps réel il existe aussi une interface web en Java/GWT qui permet aux utilisateurs d’exécuter des opérations manuelles. La persistance des données est assurée à travers une base de données mysql.
Environnement technique
Langage C/Java/PL-SQL
Framework Spring, Hibernate, AngularJS, GWT
Système d’exploitation : Windows, Linux
Outil de gestion de la configuration : Git, svn
Outil de compilation et de livraison : maven, Jenkins, cmake, Ant
Méthodologie Agile
Gestion des faits techniques : Jira
Société Générale : De Septembre 2018 à Septembre 2020
Ingénieur d’étude et de développement
Dans une équipe de 10 personnes :
Développement de contrôles dans le système de gestion des anomalies des transactions, nommé « Serval », dans la banque. Ce système « Serval », est une application web implémentée en partie en Java/GWT et en partie réécrite en Java/REST dans un conteneur Spring Boot gérant la cartographie des employés de la banque et les workflow des contrôles d’anomalie.
Développement de scripts d’automatisation de la mise à jour de la cartographie (gére la liste et les hiérarchies des employés de la banque) du système.
Développement de scripts d’installation et de mise en production de serval.
Evolution et maintenance des workflows appartenant aux différents contrôles.
Support aux PO afin d’affiné et élaborer les nouveaux besoins de développement.
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
HSBC : De Octobre 2017 a Juillet 2018
Ingénieur d’étude et de développement
Dans une équipe de huit personnes :
Développement des évolutions d’une application de calcul des risques et du PnL baptisé « Pixar », écrite en Java/Spring et 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.
Suivi et mise en production de l’application.
Maintenance et correction de bug sur l’application.
Ecriture de scripts batch sur Windows ainsi que la 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
BNP Paribas : De Mai 2014 à Septembre 2017
Ingénieur d’étude et de développement
Dans une équipe de sept personnes :
Développement des évolutions sur un serveur de génération automatique de la documentation nommé « 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.
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.
Maintenance et correction des bugs sur le serveur.
Support des utilisateurs au front office.
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
Thales : De Juin 2011 à Avril 2014
Ingénieur d’étude et de développement
Dans une équipe de neuf personnes :
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.
Support des utilisateurs et formations des nouveaux utilisateurs sur le produit.
Maintenance et correction des anomalies.
Livraison et suivi en production.
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
Sungard : de Juin 2009 à Mai 2011
Ingénieur d’étude et de développement
Dans une équipe de sept personnes :
Développement 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.
Maintenance et correction des anomalies des applications gateway existantes.
Ecriture de la documentation associée à chaque gateway.
Elaboration des tests unitaires.
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
Aptus : de Septembre 2007 à Juin 2009
Ingénieur d’étude et de développement
Dans une équipe de quatre personnes :
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.
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
Outils de développement de tests : Framework JUnit
Outil de gestion de la configuration : subversion
études
2007 : Diplôme d’ingénieur en informatique de l’école nationale des sciences de l’informatique à Tunis (ENSI)
2004 : Diplôme d’acceptation au concours d’entrée aux grandes écoles de formation d’ingénieurs en Tunisie après un cycle préparatoire à la faculté des sciences de Tunis, filière physique-chimie
2002 : Baccalauréat Mathématiques, mention très bien, Lycée El Omran à Tunis
Connaissances fonctionnelles
Produits financiers structurés
Produits Flow
Produits exotiques
Connaissances techniques
Modélisation Modélisation UML avec “Rational Rose” et “PowerAMC”
Langages Java, Python, C/C++
Framework Spring, Spring MVC, Spring Boot, Hibernate, J2EE, GWT
Framework et langage web Angular, HTML, CSS, Javascript
Outils de développement Eclipse, IntelliJ, Visual C++, CodeBlocks
Framework de tests et de profiling Valgrind, cachegrind, purify, cppCheck, JUnit
Chaine de compilation Makefile, maven
Gestion de configuration Git, CVS, Subversion, ClearCase, Perforce
Systèmes Linux, Windows
Langues
Anglais : bon niveau