Expérience professionnelle
EDF – Lyon (France)
Tech lead Java17 / Spring Boot / Angular 12/2024 à En cours
Projet : Refonte eDRT – Equipe de 6 personnes
eDRT est un ensemble (application web + version tablette) permettant de définir des opérations de maintenance et de control dans les centrales nucléaires du groupe EDF.
Les application (version web et version tablette) s’appuient sur les nouvelles technologies telles que Angular, Java, Sprint Boot.
Tâches :
Assurer la qualité des produits (eDRT version web + eDRT version tablette) et le management de l’équipe en charge du développement de l’application.
Contribution aux points et décisions techniques :
• Rédaction des spécifications techniques publiées sous Confluence
Support aux équipes de développement :
• Mise en place du Pair programming pour leur montée en compétence sur Java / Sping Boot et Angular
• Validation des Merges Requests afin de remonter plus rapidement les erreurs de conception et d’algorithmique des développeurs
• Intégration des clients SOAP via des WSDL (Génération code Java via plugin maven wsdl2java)
• Mise en place d’un service (Suite 1N) pour communiquer avec l’IA via des web service exposés par l’équipe GCP (Equipe travaillant sur l’intégration de l’IA au sein d’EDF).
• Mise en place du Swagger du backend de l’application
• Mise en place d’un point technique hebdomadaire d’une heure pour évoquer les difficultés techniques de chacun des développeurs et voir ensemble les solutions
Déploiement du frontend et backend sur les différents environnements (DEV, REC, IQR) via des pipelines Jenkins.
Génération d’APKs (Android Package Kit) pour installation sur tablette Android.
Support aux équipes de recette et qualif
• Livraison des nouvelles fonctionnalités développées sur les différents environnements de recette et qualif via pipelines Jenkins
Projet réalisé en agilité sous SCRUM et SAFE.
Contribution aux PI Plannings avec les Product Owners et les Scrum Masters
• Préparation des EPIC / US avec le PO
• Planning Poker avec les équipes de développement pour chiffrer les différentes tâches et user stories
Outils de suivi et de gestion de projet utilisés :
• JIRA : Reports des spécifications fonctionnelles et techniques
• GitLab : Gestion des versions
• Maven : Gestion dépendances Java
• Jenkins : CI / CD
Angular Java 11, Spring Boot 2.6.6, Angular 13, Maven, Git/GitLab, PostgreSQL, JPA/Hibernate, JIRA, Indigo v2 (Framework interne), Jenkins, Sonar, CheckMarx, Fork, IntelliJ, VsCode, Jira, confluence, API RestFull, API SOAP
GROUP BPCE LEASE – Charenton-Le-Pont (France)
Tech lead Java11 / Spring Boot / Angular 01/2023 à 30/11/2024
Projet : Refonte MyCarLease – Equipe de 5 personnes
MyCarLease est le site de location de véhicule en leasing du groupe BPCE LEASE.
La refonte du site en s’appuyant sur les nouvelles technologies (Angular, Java, Sprint Boot etc.) permet de restructurer les offres et d’élargir ses partenariats avec de nouveaux fournisseurs de véhicules.
Tâches :
Choix des technologies et architectures à implémenter en collaboration avec les architectes techniques du groupe BPCE (java 11, Spring Boot 2.7, Angular 15).
Implémentation du schéma de la base de données Oracle dédiée à l’application (Tables, indexes, vues etc.)
Mise en place de la structure du backend de l’application via Spring Boot Initializr
• Définition de jobs Quartz pour des traitements automatisés
Définition et implémentation des principaux modules du back-end de l'application (en appliquant les pratiques de DDD et le TDD)
Mise en place de Liquibase pour automatiser la mise à jour du schéma de la BDD Oracle mise en place ou l'insertion de données lors d'un redémarrage du back-end de l'application
Mise en place de Spring Security sur le back-end de l'application pour sécuriser les APIs sensibles.
Configuration de clients RestTemplate avec des interceptors afin de rajouter les en-têtes nécessaires (header "Authorization" par exemple) lors de l'appel à des APIs externes.
Développement des APIs REST pour la mise à disposition des données aux frontends (front-end Angular, front-end WordPress) ou la sauvegarde des données issues du frontend Angular.
Mise en BAPI des APIs développées (déploiements des APIs derrière une Gateway BPCE pour leur sécurisation)
Implémentation d'une mire d'authentification (mire PAS) via le protocole SAML en collaboration avec les équipes PAS et ICG (responsable de la gestion des droits des utilisateurs du groupe BPCE).
Génération du squelette du frontend de l'application via le CLI d’Angular
Définition des principaux modules du frontend Angular
Implémentation des Guards sur le frontend de l'application pour sécuriser l'accès à des pages sensibles.
Contribution aux points et décisions techniques
• Rédaction des spécifications techniques publiées sous Confluence
Support aux équipes de développement
• Mise en place du Pair programming pour leur montée en compétence sur Java / Sping Boot et Angular
• Validation des Merges Requests afin de remonter plus rapidement les erreurs de conception et d’algorithmique des développeurs
• Mise en place d’un point technique hebdomadaire d’une heure pour évoquer les difficultés techniques de chacun des développeurs et voir ensemble les solutions
• Rédaction des spécifications techniques publiées sous Confluence
• Demande de formation Angular pour l’une de mes développeuses KHOULOUD en grande difficulté
Mise en place du CI / CD avec Jenkins / Sonar / CheckMarx en collaboration avec l’équipe BPCE SI (Entité du groupe dédié aux Infrastructures)
Déploiement du frontend de l'application sur les environnements VER, VAL via XL Deploy (déploiement sur des buckets S3)
Déploiement du back-end de l'application via Jenkins (déploiement sur un apache Tomcat)
Support aux équipes de recette et qualif
• Livraison des nouvelles fonctionnalités développées sur les différents environnements de recette et qualif via XL Deploy
• Préparation des bases de données Oracle pour les tests
Projet réalisé en agilité sous SCRUM et SAFE.
Contribution aux PI Plannings avec les Product Owners et les Scrum Masters
• Préparation des EPIC / US avec le PO
• Planning Poker avec les équipes de développement pour chiffrer les différentes tâches et user stories
Outils de suivi et de gestion de projet utilisés :
• JIRA : Reports des spécifications fonctionnelles et techniques
• Bitbucket : Gestion des versions
• Maven : Gestion dépendances Java
• XL Deploy : Déploiement application
• Jenkins : CI / CD
Java 11/ Spring Boot, Angular (15 / 17), Maven, Openshift, Git/GitLab, OpenApi3, Oracle, JPA/Hibernate, Confluence, JIRA, Jenkins, Sonar, CheckMarx, XL Deploy
BPIFRANCE – Maisons-ALFORT (France)
Tech lead Java11 / Spring Boot / Angular 05/2022 à 12/2022
Projet : GED (Gestion et Edition des documents) – Equipe de 8 personnes (4 en France, 4 au Maroc)
Proposition et validations de nouvelles architectures (reposant essentiellement sur Kafka) en collaboration avec les architectes techniques
Accompagnement des développeurs dans l'implémentation des solutions choisies et validées avec les architectes (notamment sur l’utilisation de Kafka).
Creation de dashboards de consultation des métriques et de l'état des PODs (PODs Kubernetes) de l'appplication sur DataDog
Mise en place d'un système d'alerting sur l'Etat des PODs de l'application via Edward
Mise à jour de la configuration et des variables d'environnement des PODs via Helmrelease et fluxCd
Mise en place des tests unitaires sur l'application front Angular avec Jest et accompagnement des développeurs pour l’intégration des tests unitaires côté front
Mise en place de Liquibase pour optimiser la mise à jour de la base de données PostgreSQL et ainsi d’éviter de rejouer certains scripts à chaque redémarrage de POD
Mise en place de la solution Kafka pour asynchroniser les processus de créations et modification de documents via des topics dédiés à chaque type de demandes.
Développement de jobs Quartz (Java 11) pour automatiser le suppression de certaines données de la base de données PostgreSQL
Analyse du code backend de l'application (Java 11) et rédaction de plans d'actions pour la résolution des problèmes de performances de l'application (optimisation des transactions, optimisation de la gestion la mémoire, optimisation de la gestion du cache)
Monitoring des PODs Kubernetes via les commandes KubeCtl
Déploiement des nouvelles fonctionnalités sous Openshift et par la suite sous TANZU (après décommissionnement d’Openshift)
Contribution aux PI Plannings avec les Product Owners et les Scrums Masters
Intégration continue (CI/CD) avec Jenkins / Sonar
Projet réalisé en agilité avec la méthode SCRUM.
Outils de suivi et de gestion de projet utilisés :
• JIRA : Reports des spécifications fonctionnelles et techniques
• Confluence : Documentation
• Gitlab : Gestion des versions
• Maven : Gestion dépendances Java
• Jenkins : CI / CD
Java 11/ Spring Boot, Angular (9 – 14), Maven, Kafka, Kubernetes, Openshift, TANZU, Git/GitLab, OpenApi3, PostgreSQL, JPA/Hibernate, Filenet, Datadog, Edward, JMeter, Neurones (Confluence), JIRA, Jenkins, Sonar
COMPTE NICKEL – Nantes (France)
Développeur Lead backend Java / Spring Boot 11/2020 à 04/2022
Projet : Développement d’un nouvel outil de demande et gestion d’accréditations (BO DA).
Développements de nouvelles fonctionnalités du nouveau Back Office Demande d’accréditations.
Utilisation de OpenApi3 pour la rédaction des contrats des API REST développés (contract first)
Rédaction de scripts SQL et XML pour la mise à jour de la base de données SQL SERVER via Liquibase.
Développement en Java 11 de nouveaux repositories (via JPA/Hibernate), services et controllers (Spring boot / REST Api)
Support aux équipes de Recette
Support au...