[nom]
Ingénieur Full Stack Java
EXPÉRIENCES
Ingénieur d'étude et de développement — Eurafric Information |
Février 2025 - Présent | Casablanca,Maroc
Projet : Mise en place d'un workflow intégré pour l'octroi de crédits –Bank of Africa
Conception, développement et maintenance d’une plateforme bancaire de gestion du cycle de vie des crédits pour les segments GE, PME et TPE, intégrant les workflows d’instruction, validation, contre-analyse risque, décision et déblocage
➔ Analysé, conçu et développé des services backend et API REST avec Java
11, Spring Boot, Spring Data JPA, Hibernate et Oracle/SQL.
➔ Conçu et implémenté des workflows métier complexes intégrant transitions d’états, gestion des habilitations, niveaux de délégation, affectation des tâches et règles de décision.
➔ Mis en place la gestion de l’internationalisation (i18n) avec MessageSource, notamment pour la traduction dynamique des statuts, étapes et libellés métier.
➔ Structuré et fait évoluer une architecture backend modulaire en appliquant les principes SOLID et les Design Patterns adaptés aux besoins du domaine.
➔ Conçu et optimisé des mécanismes de recherche multicritères dynamiques avec QueryDSL, en améliorant les performances des requêtes et des accès aux données JPA/Hibernate.
➔ Mis en place une architecture event-driven avec Spring Events permettant de découpler les traitements métier des notifications et d’automatiser les communications via Spring Mail et FreeMarker.
➔ Développé et industrialisé des traitements batch et planifiés avec Spring
Scheduler, incluant exports de données, traitements périodiques et notifications automatisées.
➔ Implémenté des mécanismes de Feature Flipping et de configuration par environnement avec Spring Profiles pour sécuriser la gestion des fonctionnalités entre DEV, RECETTE et PROD.
➔ Analysé et résolu des incidents de production à partir des logs et de Kibana, en identifiant les causes et en optimisant les traitements et accès aux données.
➔ Mis en œuvre une stratégie de tests unitaires avec JUnit et Mockito et participé aux phases de recette, validation fonctionnelle et correction d’anomalies.
CONTACT
[e-mail]
[téléphone]
COMPÉTENCES
Styles d'architecture logicielle:
-Monolith, MVC,Microservices,
Inversion of Control, Dependency
Injection,Design patterns, Principes
solid.
Développement Frontend:
- Angular, React, TypeScript,
JavaScript, HTML5, CSS3,
TailwindCSS, Bootstrap 5,
Responsive Design.
Développement Backend:
- Java, Spring Boot, Spring Batch,
Spring Cloud, Spring Data JPA,
Hibernate, REST APIs, Microservices,
OpenFeign, Spring Cloud Config,
Spring Cloud Gateway, Apache
Kafka, Docker, Maven, Git,
GitLab/GitHub, CI/CD, Jenkins,
SonarQube, JWT, OAuth 2.0, OpenID
Connect, Keycloak, JUnit, AssertJ,
Mockito.
Contrôle de version:
-Git,Github, Gitlab, Gitkraken.
➔ Contribué à l’industrialisation du cycle de développement à travers
SonarQube, Maven, Liquibase, Jenkins, Git/GitLab, Nexus et WebSphere.
➔ Collaboré avec les équipes Métier depuis l’analyse des besoins jusqu’à la mise en production, dans le cadre de workflows bancaires intégrant des règles métier, habilitations et processus de décision complexes.
Environnement technique : Java 11, Spring Boot, Spring Data JPA, Hibernate, QueryDSL, Spring Events, Spring batch, REST API, Oracle, SQL, Swagger, JUnit, Mockito, Maven, SonarQube, Jenkins, Git, GitLab, Nexus, Liquibase, Kibana, WebSphere, Spring Scheduler, Spring Mail, FreeMarker, Spring Profiles, Feature
Flipping, Modular Monolith, les principes SOLID, Design Patterns, programmation fonctionnelle, Agile/Scrum.
Ingénieur d'étude et de développement — Fondation Cheikh Zaid |
Janvier 2024 à Février 2025 | Rabat, Maroc
Contribution au développement d'une Application de gestion de la pharmacie principale du Maroc
➔ Conçu et développé une application web Full-Stack de gestion logistique pharmaceutique, couvrant les processus de réception, stockage, affectation et distribution des médicaments.
➔ Développé des services métier et API REST avec Java 11, Spring Boot, Spring Data JPA et Hibernate, avec persistance des données sur SQL
Server.
➔ Implémenté le suivi et la traçabilité des mouvements de stock, permettant d’historiser et de suivre les opérations réalisées sur les médicaments tout au long du processus logistique.
➔ Mis en place une architecture événementielle avec Apache Kafka pour la publication et la consommation asynchrone des événements liés aux mouvements de stock, aux affectations et aux opérations de distribution.
➔ Implémenté des communications temps réel avec WebSocket afin de diffuser les mises à jour des stocks et des opérations logistiques aux utilisateurs connectés.
➔ Développé le processus d’affectation des médicaments aux centres de soins, en s’appuyant sur la récupération des besoins annuels des centres via des clients REST déclaratifs avec OpenFeign, puis sur l’application des règles métier de distribution.
➔ Intégré les échanges inter-services via OpenFeign et APIs REST, permettant la récupération et l’exploitation des données nécessaires au processus d’affectation.
➔ Développé les interfaces frontend avec Angular et Angular Material pour la gestion, la recherche, la consultation et le suivi des médicaments et des opérations logistiques.
➔ Conçu des interfaces adaptées aux besoins des utilisateurs métier et aux différents workflows fonctionnels, améliorant la visibilité et le suivi des opérations.
➔ Appliqué les principes de conception et bonnes pratiques de développement afin de garantir la séparation des responsabilités, la maintenabilité et l’évolutivité du code.
➔ Participé à l’ensemble du cycle de développement : analyse, conception, Bases de données:
-SQL(SQL Server, MySQL, Oracle,
Postgresql), NoSQL( Mongodb).
Systèmes d'exploitation :
Outils et Techniques d'IA:
Retrieval Augmented Generation
(RAG), AI Agent, AI Automation n8n.
CERTIFICATIONS
OCP Java SE 17 Developer :
Certification Oracle validant la maîtrise du développement Java et des fonctionnalités de Java SE 17, notamment la programmation orientée objet, les APIs Java, les collections, les exceptions et les fonctionnalités modernes du langage.. Voir le certificat
Spring Cloud Fundamentals :
Certification consacrée aux fondamentaux de Spring Cloud et au développement d’architectures distribuées et microservices, notamment la configuration centralisée, la communication entre services et les mécanismes de résilience. Voir le certificat
LANGUES
français, Anglais et arabe.
développement, tests, recette et correction d’anomalies.
➔ Collaboré avec les équipes métier et techniques dans un environnement
Agile / Scrum.
➔ Assuré le versionnement et le développement collaboratif avec Git/GitHub.
Environnement technique: Java 11, Spring Boot, Spring Data JPA, Hibernate, REST API, Apache Kafka, WebSocket, OpenFeign, Angular, Angular Material, SQL
Server, DBeaver, Git, GitHub, Agile/Scrum.
Stagiaire Ingénieur logiciel — LEYTON | Mars 2023 à Août 2023 |
Casablanca, Maroc
Plateforme de gestion et de suivi des risques de contrepartie – Marché du carbone
➔ Conçu et développé une plateforme de gestion et de suivi du risque de contrepartie sur le marché du carbone, dédiée au scoring financier des clients et fournisseurs et à la gestion des limites de crédit.
➔ Développé les fonctionnalités backend avec Java / Spring Boot et les interfaces frontend avec Angular / Angular Material, en implémentant les règles métier liées au scoring financier, à l’évaluation du risque et aux limites de crédit.
➔ Implémenté une gestion centralisée de l’état de l’application avec NgRx
(Store, Actions, Reducers, Effects, Selectors), afin de structurer les données partagées entre les composants et de faciliter la maintenance et l’évolution du frontend.
➔ Automatisé le processus d’entrée en relation ainsi que la gestion des limites de crédit non garanties, contribuant à la maîtrise des risques financiers et opérationnels.
➔ Intégré Keycloak pour l’authentification, l’autorisation et la gestion des accès, avec gestion des rôles et permissions.
➔ Mis en œuvre la persistance des données avec Spring Data JPA /
Hibernate / MySQL, les migrations de schéma avec Liquibase et l’audit des données avec Hibernate Envers.
➔ Appliqué les bonnes pratiques de conception et de développement, notamment les principes SOLID et les Design Patterns adaptés aux besoins fonctionnels, afin d’améliorer la maintenabilité, la réutilisabilité et la testabilité du code.
➔ Développé des tests unitaires avec JUnit / Mockito et contrôlé la qualité du code avec SonarQube.
➔ Participé aux différentes phases du projet : analyse des besoins, conception technique, développement, tests, correction d’anomalies et recette fonctionnelle, dans un environnement Agile / Scrum.
➔ Géré le code source et le développement collaboratif avec Git / GitLab.
Environnement technique : Java 8, Spring Boot, Spring Data JPA, Hibernate, Hibernate Envers, REST API, Angular, Angular Material, NgRx, MySQL, Liquibase, Keycloak, JUnit, Mockito, SonarQube, Git, GitLab, Agile/Scrum.
FORMATION
Diplôme d’ingénieur d’état— ENSA
Génie informatique
Octobre 2018 à juillet 2023 – Fès, Maroc