Sofiane - Développeur JAVA
Ref : 200505S002-
94000 CRÉTEIL
-
Développeur, Consultant technique (41 ans)
-
Freelance
EXPERIENCE PROFESSIONNELLE
Depuis Février 2016 Objectware (Paris) – Développeur Java EE Senior
Mission 1 :
de mai 2019 à Décembre 2019
Consultant technique Java EE
à Société Générale CIB (Val de Fontenay)
Mission : Développement et gestion des systèmes d’information liés aux données référentielles de la
base de données Oracle BDR (daily meeting in english with Bangalore Team).
Projet : Développement et évolution d’INDIGO avec une nouvelle stratégie d’Offboarding (inactivation)
moins risquée avec une nouvelle matrice de calcul en se basant sur les calculs des indicateurs avec des
batchs Java qui consomme des API REST de MAESTRO :
- Développement des API REST pour pour externaliser les fonctionnalités de INDGO : search,
export, create request, El Active/Inactive report
- Développement des batchs Java en multithreading pour calculer les indicateurs d’éligibilité à
l’inactivation et es insérer dans la base de données Oracle BDR.
- Faire les demandes de déploiement et Préparation des configs de déploiement pour chaque
livraison.
- Assistance pour le scrum master et la config team en Inde concernant la résolution des problèmes
de déploiement (comme la correction des paramètres des fichiers application.properties et
application.yml et la résolution du problème des certificats obsolètes sur les serveurs)...
- Revue de code source du projet.
Projet : Développement de 3 nouveaux API Rest pour le projet Astre comme API calendar et API
Portfolio (par mnemonic et par business line et booking entity).
Environnement Fonctionnel : Gestion des clients d’investissement de la Banque.
Environnement technique :
Windows 10, Linux, MS Office 2010, Oracle, Unix (bash, vi), Java EE Frameworks Spring (IoC, AOP,
Spring Boot), Hibernate, JPA, JDBC..), JDK(7,8), Design Pattern (DAO, IoC, Factory..), JSON, CSV,
EXCEL, XML, JavaScript, YAML, Service Web Rest, Junit, Eclipse, Apache Tomcat (7, 8), Maven, Ant,
Git, TortoiseGit, Jenkins, Nexus, Méthodologie Agile, WinSCP, CyberArk, npm, terminal, Visual Code,
Architecture microservices (Rest API, Spring Boot Microservices..), Swagger…
Mission 2 :
Avril 2018 – Janvier 2019
Consultant Java/C#/RTC
à Euro Information – CMCIC (Val de Fontenay)
Mission : Développement et maintenance des Librairies Java/C# et web services Rest/Soap avec
support sur IBM Rational Team Concert :
Projet : Résolution et mise en PROD de 2 tickets SARA « Problème » :
- Correction du bug des chemins long non supportés par Windows dans le cas d’une extraction ou
injection sous RTC Micro remonté depuis 2016 par l’équipe EID INTERNATIONALISATION.
- Correction du bug des « Changes Sets » technique « Refresh from ATEL » (à chaque fois un Project
Manager doit les associer à un Work Item).
Projet : Développement évolutive de web services sur RTC :
- Avec JAVA : Développement d’un service de restitution des droits RTC par utilisateur afin de
restreindre les accès aux codes sources d'application via Sonar & XSearch (développement avec
JAVA d’un batch et un service web REST).
- Avec C#.NET: Evolution des web services RTC (GetListStream, GetWorkItems et
ComponentListFiles...).
Projet : Suivi recette de l’équipe EID INTERNATIONALISATION : Maintenance corrective avec C#.NET
des librairies SRCM_LIB et SACS_GR_LAUN.
Projet : Support sur RTC :
- Résolution des conflits des sources sur les Workspaces de Build ATELSERVICE, en moyenne 2
résolutions de conflits par semaine.
- Ajouter des droits d’accès aux sources pour les utilisateurs de RTC.
Support et suivi des tickets PMR de maintenance sur RTC avec IBM (calls en anglais avec des
collaborateurs de IBM en Inde).
- Maintenance corrective sur RTC : Correction des erreurs DEVBOOSTER et des scripts Powershell
- Etude de transfert de composant RTC avec historique sur le Z et avec VS.
- Support de BAL - Réaffectation à la personne concernée des tâches reçues dans la boite mail
commune à l’équipe.
Environnement Fonctionnel : Gestion des sources à la Banque.
Environnement technique:
Windows 7, Windows Server 2008, MS Office 2016, DB2, Méthodologie Agile,
Visual Studio 2012/2015, .Net (4.5, 4.5.2), C#, Jazz Source Control, RTC (IBM Rational Team Concert),
Web Services REST/SOAP, SoapUI 5.0.0,
Eclipse, Java, Git, JUnit, Javascript, Batch, Powershell 5.1/2.0,
Gestionnaire des Sources: RTC - IBM Rational Team Concert (Source Control, Jazz Build Engine), RDZ:
IBM Rational Development for z Systems, GIT.
Devops : outils d'Intégration Continue interne à Euro Information (ATEL : Build automatique, QUALIS :
contrôle qualité du code, XMEP : déploiement planifié, PFTL : traces, PIXIS : documentation, ROBIN :
Référentiel des objets informatiques, INTER : internationalisation, DevBooster tools, PACMAN :
Installation de distributions..), Agile (Sprint, Story, Work Item), Gestion de projet (PO : Plan
Opérationnelle hebdomadaire, SGO : Système de Gestion Opérationnelle, OPALE : Organisation et
Pilotage des Activités Logicielles de l'Entreprise, SARA : ticket de maintenance (Incident, Prestation,
Problème..), RUBIS : Référentiel Unique des Besoins Informatiques - ticket de développement
évolutive..).
Mission 3 :
Avril 2016 – Avril 2018
Consultant technique Senior Java EE/C#/Angular2
à SNCF Réseaux (Ermont)
Mission : Développement et maintenance des kits de développement Jraf pour Java et Condor pour
Angular avec leurs applications de démonstration. Ces kits sont utilisés par tous les projets SNCF
comme socle technique avec la charte graphique de SNCF intégrée et des composants graphiques
prédéfinis :
Projet : Développement from scratch du framework Condor pour les projets Angular de SNCF :
- Génération, maintenance et administration de la Base de données PostgreSQL utilisée pour le
développement des modules métiers de l'application Démo pour le kit angular.
- Préparation de l’environnement de travail pour le projet de développement en Angular2+ :
Installation de NodeJs, angular-cli et Nexus3 et initialisation de la structure du module
Webapp avec Angular-cli.
Etude comparative entre les bibliothèques graphiques disponible sur le marché pour
Angular2 et le choix de PrimeNg.
Importation du thème SNCF et le template CSS dans le Webapp d’Angular.
- Initialisation et Développement du nouveau kit Condor pour le développement Angular2 :
Développement des composants et des services (pageTitle, menu...) du kit Condor.
- Développement de l’application de démonstration pour le kit Condor :
Développement du menu en responsive (menu smartphone et tablet).
Intégration de la charte graphique SNCF.
Développement du module métier (CRUD categories, CRUD products..)
Projet : Développement de la version 6 du Kit Jraf avec la décomposition en Architecture
Microservice et l’implémentation de l’API Gateway et les API REST :
- Développement des API REST avec génération automatique des sources CRUD.
- Initialisation de l’outil FlyWay d’automatisation de migration des schémas de DB.
- Implémentation du design pattern Builder via le générateur de code PojoBuilder.
- Configuration de SWAGGER pour le développement des Api Rest.
Projet : Développement évolutive et corrective de la version 5 du kit JRAF comme noyau de
développement pour les projets Java/J2EE à SNCF :
- Intégrer Spring mobile.
- Création du fichier XSD du menu Jraf et rendre l’application Responsive Design (ajout du mode
smartphone et tablette.)
- Modification des configs des logs Hibernate et de spring security de xml à java.
- Intégration de la v5 du kit JRAF dans le projet INTENCITE comme projet pilote.
- Intégration de la charte graphique SNCF.
Projet : Etude et Analyse du problème des doublons pour la librairie rffUuid développé en C et utilisé
dans les projets JAVA et .Net pour la génération des UUID (Universal Unique Identifier) :
- Proposition de librairies standards basées sur la version 4 comme Uuid pour java et Guid pour .Net
pour remplacer rffUuid.
- Faire des tests de génération par lots d’id en multi-threading (avec java et C#) avec Uuid et
Guid sans détection de doublons.
- Faire des tests de temps de réponse pour les solutions proposées qui ont montré qu’elles sont
plus rapides que la libraire rffUuid.
Environnement Fonctionnel : Transport Ferroviaire (Industrie).
Environnement technique :
Windows 7, Linux, MS Office 2016, PostgreSQL, Unix (bash, vi, scripts sh), Méthodologie Agile/Scrum
(avec des sprints de 2 semaines),
MS Visual Studio, .Net (C#, NuGet), RffUuid, C# multithreading, Java multithreading,
Java EE Frameworks (Spring 3 et 4 (IoC,, mobile, security..), Spring Boot, JSF 2.0, PrimeFaces Modena,
Hibernate, JPA, JDBC..), JDK (7, 8), Design Pattern (MVC, DAO, IoC, proxy, factory, builder..), XML,
XSD, HTML5, CSS3, Javascript (API Javascript de HTML5), JUnit, Framework JRAF (4, 5, 6), Eclipse,
Apache Tomcat (7, 8), Maven, Ant, gcc, Subversion, TortoiseSVN, Git, TortoiseGit, GitLab, Jenkins
(configuration des builds, tâches de build paramétrées, pipeline Jenkins, script Groovy), Sonar,
SonarLint, Nexus (2, 3),
Framework CONDOR, Angular 2+ (SPA), Angular 4, Node.js, primeNG, typescript, json, services REST,
Visual Studio Code, npm, yarn, angular-cli, putty, pgAdmin III, FileZilla,
Architecture microservices (Rest API, Spring Boot Microservices...), JAX-RS, Jersey, Swagger, FlyWay.
Expérience 2 :
Février 2013 – Janvier 2016
VERMEG (Tunis) - Team Leader
Mission 1 :
Mai 2014 – Décembre 2015
Consultant Sénior Java EE
à DoubleTrade (Montplaisir, Tunis)
Mission :
- Configuration et support pour migration de toutes les applications de Doubletrade du serveur
d'application OC4J de Oracle à Jboss :
Validation et correction de la configuration local du Jboss en mode standalone et en mode
domain
Merge de la branche de Migration Jboss à partir du trunk (branche principale de
développement et de support)
Préparation de la mise en dev du Jboss en mode domain
Validation et correction des applications de doubletrade déployé en Jboss dev, recette et
prod
- Encadrement et assistance technique dans le projet JSF-Bootstrap qui a pour but de construire une
framework en interne en créant des composantes respectant la technologie du « Responsive
Design ».
Environnement Fonctionnel : Gestion des appels d'offre (Industrie).
Environnement technique :
Windows 7, Oracle 11g, SQL, Java EE (Spring, Hibernate, JPA, JSF...), JSP, XML, Eclipse, OC4J, JBoss,
Apache Tomcat, Subversion, TortoiseSVN, Maven, FugBugs
Mission 2 :
Février 2013 – Mai 2014
Team Leader Java
à BSB (Luxembourg / Les berges du Lac 1, Tunis)
Mission : Développement et maintenance de Solife :
- Maintenance corrective et évolutive sur Solife (3 mois au Luxembourg)
- Projet : Extension à l’assurance Maladie de Solife (progiciel d’assurance vie Epargne/Prévoyance qui
a évolué au cours des dix dernières années en s’adaptant aux besoins des clients) :
Conception en UML (Use cases, Diagrammes de classe, Diagrammes de séquence...),
développement en utilisant les outils d'intégration continue Jenkins, Sonar et Maven et
validation pour le client AG Insurance (Assurance Belge) d’une extension à l’assurance
maladie de Solife et la rédaction des documents associés en anglais.
Développement, suivi et validation de l'outil d'extraction permettant l'extraction adaptée au
besoin métier dans des fichiers XML des sinistres (extraction des Notifications et tous ses
éléments) sans avoir besoin de faire des scripts SQL.
- Développement, suivi et validation des écrans de Solife pour la Migration de la Framework JF à la
nouvelle Framework Fluid.
- Découpage en tâches, chiffrage avec le diagramme de Gantt et planification avec Jira.
- Garant de qualité de code : code review, coatching et validation technique avec les outils
d’intégration continue Jenkins et Sonar.
Environnement Fonctionnel : Assurance vie.
Environnement Technique :
Windows 7, Oracle 11g, SQL, Java Framework (JF, Fluid, Spring, Swing..), XML, XSD, Intellij IDEA,
JBoss, Apache Tomcat, Subversion, TortoiseSVN, Maven, Sonar, Jenkins, Jira, Gantt Project, Visual
Paradigm, MockupsForDesktop.
Expérience 3 :
Février 2011 – Janvier 2013
Tadis (Les berges du Lac, Tunis)
Ingénieur Développement Sénior Java EE/DB2
Projet : Développement et maintenance de la base de données DB2 et de l'application GALAA utilisée
dans la gestion des contrats d'assurance :
- Maintenance corrective avec Java et SQL DB2.
- Extraction des données dans fichiers Excel avec des scripts SQL DB2 ou des Batchs Java.
- Développement évolutive de GALAA en Java pour supporter la Correction du taux de
renchérissement.
- Migration des données du portefeuille Assura à Generali.
Client : Assura CM/Supra CM/Assura SA/Supra SA.
Environnement Fonctionnel : Assurance maladie.
Environnement Technique :
Windows 7, DB2, SQL, Java/J2EE Framework (Hibernate, Spring, Struts 1), XML, JSP, Eclipse, TOAD,
Apache Tomcat.
COMPETENCES
Compétences Techniques
JAVA JDK (6, 7, 8), JSP, Swing, Java multithreading...
Framework
JAVA EE
Spring (2, 3, 4) (IoC, AOP, MVC, mobile, security, web-Flow, Batch, Boot, Data), JSF 2.0,
PrimeFaces Modena, Hibernate, JPA, JDBC, JTA, JMS, Struts…
Full
Stack/Angular
AngularJS1.0, Angular2+, TypeScript, JavaScript, NodeJS, JSON, PrimeNG, npm, angularcli, Architecture microservices (API Gateway (pattern Façade), Rest API, Spring Boot
Microservices...), Swagger…
Base de
données
Oracle, SQL Server (2008), IBM-DB2, MySQL, PostgreSQL (pgAdmin III), TOAD...
Autres
languages de
développement
C/C#, C# multithreading, Unix (bash, vi, scripts sh), SQL, PL/SQ, T-SQL, HTML5, CSS3,
LESS, JQuery, UML, XML, XSD, VBA, VHDL...
Autres outils MS Visual Studio Pro (2005, 2015), Eclipse, Intellij IDEA, Visual Studio Code, Subversion,
TortoiseSVN, Git, TortoiseGit, Maven, Ant, gcc, log4j, JUnit, Visual Paradigm, AMC Power
Designer 9.2, VISIO, JBoss, Apache Tomcat (7, 8), Sonar, Jenkins, SonarLint, Nexus (2, 3),
Jira, Jira Agile, Mantis, FugBugs, Gantt Project, Confluence, MS Office, FileZilla, Putty, …
Conception et
Méthodologies
- Design Pattern: Singleton, MVC, MVVM, Observer, DAO, IoC, Factory, Proxy...
- Méthodologie : Agile Scrum, Cycle en V...
Compétences fonctionnelles
Industrie (Transport, Appel d’Offres), Assurance (Santé, Vie, Automobile), Banque, Finance...
Compétences générales
- Analyse et conception technique de la solution avec rédaction des documents associés.
- Maintenance corrective et évolutive.
- Rédaction des cahiers des tests et validation.
- Assistance technique et suivi des développeurs.
- Diagnostic et correction des anomalies en recette et en prod.
- Conception et développement des applications.
- Estimation des charges et planification des développements.
- Qualification des itérations développées et démonstration au client.
FORMATION / DIPLOMES
Septembre 2008 Master M2 en Système d'Information – UPEM – Mention Assez Bien
UPEM : Université Paris-Est Marne-la-Vallée (anciennement UMLV)
Juillet 2007 Diplôme National d’Ingénieur en Informatique - ENSI
Mention Assez Bien avec un classement final : 192/268.
ENSI : Ecole Nationale des Sciences de l’Informatique à Manouba.
Juillet/Août 2004 Diplôme Mathématique Physique du 1er cycle – IPEIT
Réussite dans le concours national d’accès aux écoles d’Ingénieurs
Classement Final : 293 pour accès à l’ENSI et 244 pour accès à l’ENIT
Epreuve écrite à l’IPEIT (Institut Préparatoire aux Ecoles d’Ingénieurs de Tunis), Epreuve orale à l’ENIT
(Ecole Nationale d’Ingénieurs de Tunis).
FORMATION PROFESSIONNELLE / CERTIFICATIONS
Mai 2015 TOEIC – AMIDEAST Tunis
TOEIC (Test Of English for International Communication) – Score : 650/990
LANGUES
Anglais Niveau professionnel/affaire (TOEIC : 650)
Français Niveau courant
DISTINCTIONS
3
ème place Olympiade 1995 de Mathématiques catégorie 12 ans - Tunis/Ariana
Qualification en
final national
Championnat Internationale des Jeux Mathématiques et logiques dans
la catégorie C2 en 2002
Qualification en
demi final
Championnat Internationale des Jeux Mathématiques et logiques dans
la catégorie GP en 2017 et 2019 et dans la catégorie HC en 2018