EXPÉRIENCE
Lead Dev Java / Devops / Spark
GRDF (Gaz Réseau Distribution France) - Juillet 2022 à octobre 2023
Ma contribution
En tant que Tech lead java je travaille sur l'application QUEOPS (représente un
référenciel de PCE pour les clients grdf) j'assure le développement, le déploiement
continue et la livraison continue de l'application en mode Agile.
Missions
Développement d'une api REST pour exposer le service de stockage à l'ensemble
des clients GRDF.
Migration vers spark-springboot et Spark SQL et implémentation des jobs
Développement et à l'optimisation de pipelines Spark, Traitement de Données en
Temps Réel en utilisant Spark Streaming et Spark Batch
Mise en place d'un outil de stockage de données compatible Amazon S3 et basé
sur minio et elasticsearch.
Création des playbook ansible de déploiement via Tower de l'offre API/ serveurs
minio avec stockage NAS et recherche avec elasticsearch
Mise en place des bonnes pratiques CI/CD
Création des producers et des consumers sur les différents micro-services pour
consommer et envoyer les events par Kafka.
Lead Dev / Devops Java React
Crédit Agricole Group Infrastructure Platform - Août 2020 à
juillet 2022
Contexte
Rattaché à l'entité supervision chez CA-GIP je participe au développement du projet
MAC (Monitoring As Code) permettant d'intérfacer avec l'infra Zabbix pour
automatiser la création et la déploiement des templates de supervision zabbix.
Ma contribution
En tant que Lead Dev j'assure le bon déroulement des développements et la qualité
de livrables ainsi que le cadrage de l'équipe technique, la répartition des taches entre
les membres de l'équipe, assistance technique.
Missions
Conception et développement des micro-services en SpringBoot en se basant sur
les normes craftmanship (TDD et BDD) et clean code
Développement des API REST et documentation avec Open API
Développement d'un front end en React
Mise en place de chaines CI/CD sur Gitlab (Docker, Kubernetes, Gitlab CI ...)
Livraison sur les différents environnements (Dev, Recette, production)
Mise en place des TDD (Junit 5 et Mockito) et BDD (Cucumber)
Développement des scripts Liquibase pour la versionning de la BDD
Code reveiw entre devs et assurer la qualité de code
Environnement technique
Java 11, Spring(Boot - Data - Reactive, Webflux) - Rest, React Js, Gitlab, Mysql, TU/TI :
Junit5 - Mockito - Gherkin (Cucumber), Jest, CI/CD: Docker, Artifactory, Maven, Gitlab
CI, Nexus, GitLab, SonarQube
Ingénieur développeur Java/JEE FULLSTACK
JCDecaux - Avril 2018 à février 2020 - Plaisir - France
Contexte
Staff technique: 4 développeurs, 2 Business analystes (dont scrum master), Product
owner
Ma contribution
Au sein de l’équipe Digitale, je participe au développement des applications Digibrain,
Digibrain consumer et Editorial qui sont des composants d'un écosystème de
réservation des compagne publicitaire.
Missions
Développement des US
Concevoir et mise en place de l’architecture microservice
Assurer la livraison sur les différents environnement (Int, QA, VABF)
Mise en place des chaines CI & CD (pipelines avec jenkins, maven, docker,
kubernetes et ansible)
Développement des consumers et producers (Kafka)
AWS cloud, EC2, Amazon ECR, S3, cloudfront…
Elastic search + logstach + Kibana (création des logs et manipulation des
dashboards)
Développement des IHM angular 7
Participation à la different ceremonies scrum (sprint planning, grooming, sprint
review, retrospective, definition of done, definition of ready…)
Développement des tests unitaires et tests d'intégration et tests de charges
Suivi du performance applicative ( Dynatrace, Gatling…)
La revue technique et fonctionnelle du code
Environnement technique
Java8, jboss eap 7, EJB3, Spring framework (Boot, IOC), JPA, apache kafka, Junit,
mockito, MYSQL, Maven, Angular 7, Bootstrap, Docker, kubernetes, ansible, AWS, GIT
Ingénieur développeur Java/JEE FULLSTACK
Sopra Steria - Octobre 2017 à mars 2018
Contexte
Le smart grid est un réseau « intelligent » qui optimise la production, la distribution,
la consommation pour mieux mettre en relation l'offre et la demande d'électricité.
Méthode: Agile-Scrum
Ma contribution
Participation au démarrage du projet SmartGrid, les choix techniques,
méthodologies utilisées, la conception et la développement
Missions
Participation au choix technique du projet
Etude de faisabilité technique et conception
Développement des fonctionnalités en se basant sur les user story
Definiton of Done
Participation au sprint planning
Rédaction de test unitaires et test d’intégration
Création des IHM en angular 4
Environnement technique
JAVA7/J2EE, Spring Data, Spring framework (IOC, Mvc), Junit,
mockito, SQL (oracle), Maven, Tomcat 8, Angular 4, Bootstrap.
Outils : Eclipse, Git, Oracle SQL Developper, Jenkins, Jira, Sonar, Confluence
Ingénieur développeur Fullstack Java/JEE
Sopra Steria - Novembre 2016 à octobre 2017 - CDI - Paris - France
Contexte
Staff technique: Chef de projet, Architecte, 4 développeurs, 2 AMOA,
Méthode : Cycle en V
Ma contribution
Participation au développement du projet HDR (Historisation de données réseau).
C'est une solution industrielle de stockage et de collecte de données du réseau
électrique.
Missions
Coordination d'une équipe de développeurs.
La revue technique et fonctionnelle des développements (phabricator, Jira)
Assurer le delivery pour l’equipe recette (packaging, Snapshot, Release, Tag …)
Gestion du repo SVN ( Creation des tags, branches...)
Etude, Conception, modélisation et développement des nouvelles fonctionnalités.
Développement de webservices REST.
Développement des IHM (AngularJs) et consommation des webservices REST.
Gestion des batchs et des ordonnancements via SpringScheduler
Flyway pour la montée de version de la base de données
Automatisation des tests unitaires Junit, dbUnit et Mockito
Maintenance corrective et évolutive
Relecture des livraisons de l’équipe (Code Review)
Résultats
Projet mis en production
Mise en place des outils d'intégration continue (Jenkins/ SVN/ Maven)
Environnement technique
JAVA7/J2EE, JPA2 (HIBERNATE), Spring framework (Batch, IOC,
Mvc), Junit, DBunit, mockito,Flyway, SQL (oracle), Maven, PentahoKettle, Jboss AS6,
AngularJs(1.x), HTML5, CSS3
Bootstrap.
Eclipse, SVN, Oracle SQL Developper, Jenkins, Jira, Sonar, Maven, Phabricator
Ingénieur Etudes et développement Java/JEE
Medinfo Tunisie - Juin 2014 à octobre 2016 - CDI - Tunis - Tunisie
Contexte
MEDINFO INTERNATIONAL HEMOSERVICE. Fondée en 1980, est un éditeur des
logiciels spécialisée dans l'informatique pour la transfusion sanguine.
Equipe technique: 6 Développeurs, Chef de projet, 2 testeurs.
Méthode : Cycle en V
Ma contribution
Intégré à une équipe de développeurs, j'ai participé au re-développement (Migration)
de l’application ‘eHematos’ dédié pour la gestion des centres de transfusion sanguine
de la version Desktop (Uniface) à la version Web en Java/JEE.
Missions
Participation au développement des solutions web J2EE
Concevoir et réaliser les tests et validations.
Gestion de transaction utilisant via Spring Transaction.
Gestion des exceptions utilisant via Spring AOP
Résoudre les problèmes de développement et de production en utilisant de
multiples environnements et plates-formes d’exploitation.
Développement de la partie courriers et reporting sur les différents modules de
l’application: études des
solutions, mise en place des courriers
Résultats
Projet en phase de développement (Cycle en V)
Environnement technique
JAVA7/J2EE, JPA2 (HIBERNATE), Springframework (AOP, IOC,
MVC), Struts2, JavaScript, JQuery, SQL (oracle, Microsoft Sql Server), Maven, Jboss AS7
Ingénieur études et développement Java/JEE
Medinfo Tunisie - Janvier 2014 à mai 2014
Contexte
Medinfo Tunisie est un éditeur de logiciel, je suis venu pour effectuer mon stage de
fin d'études
Ma contribution
Développement d'une version mobile android d'une application web déja développé
en Java/JEE
Missions
Mise en place de web services REST et la communication avec le client Android.
(JAX-RS)
Développement du fonctionnalités métier
Design et prototypage de l'application android
Test unitaires (Junit)
Résultats
Application testé dans environnement du client et mise en production.
Embauche en CDI suite à la réussite commerciale du produit
Environnement technique
Java 6, spring, Hibernate, maven, Json, Jetty,
jbossAS7, SVN, GSON, Jackson, REST webservices(JAX-RS), Android