Mohamed El khanfousse

Software Engineer : Consulting - Architecture - Fu

Salary / Daily rate

Montpellier, France

Freelance, open to permanent contract

Can come onsite

Skills

Spring BootAngularRESTful APIsReactMicroservicesHexagonal ArchitectureEvent Driven ArchitectureTypescriptJavascriptNodeClean CodeBig DataMongoDBJenkinsGitLabSoftware CraftsmanshipDevOpsJavaPostgreSQLAzureScrum

Languages

French (Native)Arabic (Native)English

About me

Intro

Ingénieur logiciel expérimenté, spécialisé dans le développement et l’architecture logicielle, j’accompagne depuis plus de 10 ans des entreprises, qu’il s’agisse de grands comptes ou de PME, dans divers secteurs d’activités. Mes interventions, qu’elles soient ponctuelles ou sur le long terme, ont pour objectif de proposer des solutions fiables, performantes et innovantes. Grâce à une approche basée sur les meilleures pratiques de l’ingénierie logicielle, j’aide mes clients à concevoir des logici

Links

Work experience

Software Enginner

BERGER LEVRAULTFreelance

May 2023 - Present

3 years 6 months

Montpellier, France

## FONCTION : Software Enginner Intégré au sein de l'équipe de développement, j'ai participé à l'optimisation de l'application e.sedit RH, une solution visant à améliorer la gestion des ressources humaines au sein des entreprises. Mon intervention a consisté à enrichir l'application de nouvelles fonctionnalités, à restructurer l'architecture pour adopter une approche hexagonale et à intégrer des concepts avancés de Domain-Driven Design pour répondre aux besoins évolutifs des client, tout en assurant la maintenance de l'application existante en GWT. ## RÉALISATIONS ❖ Architecture et conception technique :Mise en place d'une architecture hexagonale, combinée aux principes du DDD, pour une meilleure séparation des couches, facilitant l'évolutivité et l'alignement entre les besoins métier et la solution technique. ❖ Développement full stack : Implémentation de nouvelles fonctionnalités (Module de Paie, Gestion des Absences, Gestion de Carrière, Dossier Agent, Télétransmission de la DSN) en utilisant des technologies front-end et back-end. ❖ Microservices et APIs : Conception et implémentation de microservices selon les principes hexagonaux et DDD, assurant une haute scalabilité de l'application et un meilleur découplage des services pour répondre aux exigences de performance et d'évolutivité. ❖ Sécurité et conformité : Conception et implémentation de mécanismes d'habilitation avancés pour une gestion fine des accès aux données sensibles. ❖ Assurance qualité : Mise en place de pratiques de tests unitaires, d'intégration et d'analyse de code avec SonarQube. ❖ Optimisation des performances et maintenabilité : Maintenance de l’application existante en GWT avec correction d’anomalies et optimisation du temps de démarrage via des profilers, incluant le refactoring du modèle relationnel et l’optimisation des requêtes SQL pour améliorer stabilité et performance globale ❖ Gestion de projet agile : Collaboration étroite avec les équipes et les parties prenantes, facilitant l'alignement entre les développements techniques et les objectifs métiers RH. ❖ Documentation et transfert de connaissances : Élaboration de documentation technique détaillée et participation active au partage des connaissances au sein de l'équipe. ## ENVIRONNEMENT TECHNIQUE ARCHITECTURE Hexagonal Architecture, Microservices, API REST, DDD FULL STACK Angular, TypeScript, GWT | Java 17, Java EE , Spring Boot, Hibernate,Kafka, Oracle, SQL QUALITY & CI/CD JUnit, Sonar, Jenkins,Git, GitGlab METHODOLOGY Scrum, Pair programming TOOLS VSCode, IntelliJ, Jira, Teams

Software Enginner, Technical Lead

QUESTELFreelance

Jun 2020 - Apr 2023

2 years 11 months

Remote

FONCTION : Software Enginner, Technical Lead En tant que Tech Lead et Full Stack Developer, j'ai joué un rôle clé dans le développement de la version V2 de l'application Orbit Asset, une plateforme innovante de gestion de portefeuilles d'actifs de propriété intellectuelle (brevets, marques et designs). Mon expertise a contribué à la mise en place d'une architecture moderne basée sur des microservices backend en Java/Spring et un frontend React, le tout dans un environnement entièrement dockerisé. RÉALISATIONS ❖ Architecture, Développement Full Stack et UI/UX ● Contribution à la conception et au développement de l'architecture microservices avec Java/Spring. ● Implémentation du frontend avec ReactJS, en utilisant des technologies modernes comme Redux et ReactQuery. ● Mise en place de pratiques DevOps et d'une pipeline CI/CD robuste. ● Conception et développement d'interfaces utilisateur intuitives et de composants réutilisables. ❖ Fonctionnalités de Gestion de PI ● Développement d'un système complet de gestion des portefeuilles de PI, incluant l'automatisation des renouvellements de brevets et des widgets interactifs pour la visualisation/mise à jour des données. ● Intégration de fonctionnalités de suggestion basées sur des données publiques et conception de workspaces collaboratifs avec questionnaires pour la prise de décision. ❖ Optimisation des Performances ● Mise en oeuvre de techniques avancées : code splitting, lazy loading, optimisation des re-renderings. ● Amélioration de la gestion d'état avec Redux, incluant le slicing par domaine. ● Optimisation des appels API : bulk calls, multi-query requests, mise en cache Axios. ● Utilisation d'outils de mesure comme Lighthouse pour l'analyse et l'amélioration des performances. ❖ Qualité et Meilleures Pratiques ● Implémentation de tests unitaires et d'intégration (JUnit, Jest, E2E avec Gauge). ● Participation active aux code reviews et aux sessions de pair programming. ❖ Agililté et Collaboration : ● Participation active aux cérémonies Scrum : planification, refinement, démos, revues et rétrospectives. ● Amélioration continue des processus de développement et de la collaboration d'équipe. ENVIRONNEMENT TECHNIQUE ARCHITECTURE Microservices, API REST, Event-Driven, DDD FULL STACK ReactJS, TypeScript | Java JEE, Spring (Boot, Batch,Cloud), Hibernate/JPA Elasticsearch, Kafka, MySQL, SQL QUALITY & TESTS JUnit 4, Mockito, Jest, Test E2E Gauge, SonarQube, Pull Request, Code review, Pair programming DEVOPS, CI/CD Docker, Kubernetes, Jenkins, GitLab CI, Maven, ArgoCD, TOOLS VSCode, IntelliJ, Jira, Teams, React Developer Tools METHODOLOGIES Scrum, DevOp

Software Engineer, Technical Lead

STIMFreelance

Mar 2019 - Apr 2020

1 year 2 months

Montpellier, France

FONCTION : Software Engineer, Technical Lead Développement d'une plateforme avancée de vidéosurveillance pour STIM, axée sur la sécurité, la fiabilité et la qualité des produits. RÉALISATIONS ❖ Analyser des besoins clients : collaborer avec les responsables métiers pour comprendre les besoins en matière de vidéosurveillance. ❖ UI/UX : Collaborer avec les designers et les experts méties pour développer l'UI et les focntionalités du site web. ❖ Stack Technique : Définition de la stack technique auteur des technologies ReactJSet NodeJS en tenant compte des exigences fonctionnelles et non fonctionnelles, de la maintenance, de l'évolutivité, et de la performance. ❖ Développement de fonctionnalités de vidéosurveillance : Streaming en direct, paramétrage ( Caméras, Moniteurs, Stockeurs), Rrequisition ( permettre aux opérateurs d'acceder aux enregistrements des videos) , Aanalyse vidéo en temps réel ,Interface utilisateur de contrôle et de surveillance à distance, Gestion et Stockage des vidéos. ❖ Intégration de storybook : Intégrer Storybook dans le processus de developpemnt pour faciliter la conception, le développement et la documentation des composants d'interface utilisateur. ❖ Documentation technique: Rédiger la documentation technique et création des schémas de conception et d'architecture. ❖ Qualité du produit : Assurer la qualité du produit par la mise en place des principes de clean code et clean architecture. ❖ Optimisation et maintenance : Optimisation continue du site web en termes de performance, des bonnes pratiques et d'accessibilité, ainsi que de la résolution des bugs. ❖ Mise en place de la méthodologie Agile Scrum : organiser le backlog, planifier les sprints et animer les cérémonies (daily stand-up, review, rétrospective) pour optimiser la collaboration et la livraison continue. ❖ Veille technologie : ReactJS, NextJS, TypeScript, State management, Clean Architecture, Clean code ENVIRONNEMENT TECHNIQUE FRONTEND ReactJS, TypeScript, NextJS, Jotai, React Query, Figma, JavaScript, HTML, CSS, Material ui BACKEND API REST, Java JEE, Spring Boot, NodeJS ARCHITECTURE Clean architecture, Atomic Design, Small component QUALITY Jest, Test E2E Puppeteer, Pull Request, Code review TOOLS VSCode, Jira, Teams, React Developer Tools METHODOLOGY Scrum, Pair programming, DDD, DoR & DoD DATABSE MongoDB

Software Engineer

AIRBUSFreelance

Feb 2017 - Dec 2018

1 year 11 months

Toulouse, France

FONCTION : Software Enginner Participer au développement et à l’amélioration du workflow Data Feeding pour charger et rafraîchir des données A350 (PASS, VPM, APS, CADLib, 3DSet) depuis des sources externes et assurer l’intégrité des données chargées entre les différents objets métier pour finir au plateforme Airbus 3DEXPERIENCE. RÉALISATIONS ❖ Concevoir et développer les demandes d’ évolutions Data feeding workflow : Initialisation, Extraction, Introspection & Transformation, Gestion des Timestamps et Chargement, Post-Migration, Gestion des Quality Gates, Blacklist, Report analyse ❖ Gestion et Extraction de Données : Supervision et extraction des données à partir de sources externes (PASS, VPM, APS, CADLib, 3DSet), et préparation pour la transformation et le chargement sur la plateforme 3DEXPERIENCE. ❖ Contrôle des Quality Gates : Mise en place de contrôles de qualité automatisés à chaque étape du processus pour assurer l'exactitude des données chargées et la conformité avec les spécifications métier. ❖ Développement des fonctionnalités cross-workflow: Développer des nouvelles fonctionnalités pour la gestion d’erreur (Error Management & Blacklist, Quality Gates). ❖ Développement Frontend ReactJS: Créer des composants frontend en ReactJS en fonction de l’évolution du workflow : Report Analyse Dashboard, Workflow monitoring, Error management ❖ Support Technique et Collaboration : Fournir un support technique pour l'analyse et la résolution des incidents, développer des solutions en collaboration avec les équipes métier et assurer l'adoption des meilleures pratiques et normes de développement. ❖ Participer à l’amélioration du processus de travaille: Méthodologie Scrum, DDD, Bounded context, DevOps, Pull Request, Code review, Pair Programming. ❖ Participer au PI Planning : définir collectivement l’objectif du prochain PI, Aligner les équipes sur la stratégie, Identifié & gérer les dépendances ❖ Support Technique : Fournir un support technique à l'équipe de production pour l'analyse et le traitement des incidents, tout en collaborant avec les équipes métier pour développer des solutions techniques robustes ENVIRONNEMENT TECHNIQUE FRONTEND React, Redux, Saga, JavaScript, HTML, CSS BACKEND Java JEE, Spring boot, Spring batch, Hibernate/JPA API SOAP/REST, Jackson, XSL/XSD, Swagger QUALITY JUnit 4, Mockito, Jest,, Sonar, Pull Request, Code review CI/CD Jenkins, Gradle, Git, GitLab, Sonar TOOLS VSCode, IntelliJ, Jira, Yarn, Postman, PuTTY, Teams METHODOLOGY Scrum/XP, Kanban, PLM, DevOps, Pull Request, Code review, PI Planning SAFe, DevOps DATABSE MySQL, SQL, H2

Tech lead - Scrum master

ENEDIS

Jan 2016 - Dec 2016

1 year

92000 Nanterre, France

FONCTION : Tech lead - Scrum master Tech Lead et Scrum master au sein d’une équipe de 4 personnes, je suis intervenu également en tant que scrum master, pour aider l’équipe à travailler de façon autonome et s’améliorer en proposant des solutions fiables et efficaces. PROJET : ENEDIS chargé de la distribution de l'électricité sur le réseau jusqu'aux consommateurs, vise à intégrer une nouvelle génération de compteur LINKY, qui permet de recevoir des ordres et envoyer des données sans l’intervention d’un technicien, dans ce cadre je suis intervenu sur le projet STM adoptable à ce type de compteurs et qui a pour objectif de collecter les données et de les analyser pour anticiper les comportements des usagers et connaître les consommations d’électricité et de redistribuer ainsi les surplus de production dans le réseau afin d’éviter les pénuries d’énergie… RÉALISATIONS ❖ Gestion de backlog : Préparation du backlog avec le PO et rédaction des users stories dans Jira ❖ Suivi et Planification des tâches : Suivi des tâches et des estimations, Burndown chart, Scrumboard, Vélocité d’équipe, Meetings, Artifacts, conduite de release planning ❖ Support équipe : Aider l’équipe à progresser et gagner en autonomie ❖ Pratiques de Dévelopemement et Qualité du code : Sprint planning, Standards de dev, Pair programming, Code review, Software craftsmanship, Technique de testing (Modèle pyramide), Clean code, TDD, Refactoring, , Fréquent feedback, Couverture de code, Identification de risques, Rétrospective technique ❖ Suivi de la Qualité et des Métriques : Mesure et suivi des aspects de qualité et analyse des métriques. ❖ Mentorat et Délégation : Mentorat de l’équipe et délégation des tâches grâce à des rituels de one-on-one ❖ Développement de Fonctionnalités : Conception et développement de nouvelles fonctionnalités avec Java JEE et GWT. ❖ Rédaction de Spécifications Techniques : Écriture des spécifications techniques pour guider le développement. ❖ Validation et Rétrospective de Sprint : Démonstration et validation des sprints, et conduite des rétrospectives de meeting. ENVIRONNEMENT TECHNIQUE FRONTEND GWT, JavaScript, html, CSS BACKEND Java, JEE, Spring, Hibernate/JPA2, Orcale QUALITY JUnit, Mockito, Code review, Pair programming, Pull Request, Clean code, Sonar, Refactoring TOOLS Jira, Eclipse, Jenkins, Maven, Git, CI, Tomcat METHODOLOGY Scrum/X

Software Enginner Java JEE / GWT

Banque Populaire

Feb 2014 - Jan 2015

1 year

02100 Saint-Quentin, France

FONCTION: Software Enginner Java JEE / GWT Développement d'une nouvelle application web, conçue comme un moteur de notation, destinée à évaluer le risque de crédit des institutions financières en conformité avec les normes de Bâle 2, un cadre réglementaire international. Ce système visait à améliorer la capacité de l'organisation à gérer et anticiper les risques associés aux défauts de paiement pour particuliers, professionnels, interbancaires & corporate L'application évaluait le risque associé à chaque demande de crédit en fonction de divers paramètres financiers et opérationnels. RÉALISATIONS ❖ Spécifications techniques : Analyse des besions métier pour formuler des exigences techniques clairs et détaillés ❖ Stack Technique et Architecture : Elaboration et validation des choix et orientations techniques, mise en place d’une nouvelle architecture SOA maintenable et évolutive, définition des normes de développement et structuration des projets. ❖ Développement des Fonctionnalités de Risque de Crédit : Concevoir et implémenter un tableau de bord interactif pour afficher les informations critiques liées aux institutions financières, intégrant des données en direct et historiques pour faciliter la surveillance en temps réel des risques de crédit. Paramétrer l'application pour calculer les données de risque de crédit, en développant et intégrant des algorithmes spécifiques.. ❖ Développement Web : Utiliser GWT pour développer une application web riches, intercatives et faciles à utiliser ❖ Dévelopepment Java EE : Utiliser Java EE avec Spring et Hibernate pour la gestion des données et l’impémentation des processus métier ❖ Tests unitaires : Utilisation de JUnit et Mockito pour les tests unitaires afin de garantir la fiabilité de l'application ❖ Déploiement et livraisons : Livraisons sur serveur de recette et passage des tests d’acceptation et correction des anomalies ❖ Intégration continue : Participer à la mise en place de l’intégration continue avec Maven et Jenkins ❖ Méthodologie Agile : Application de la méthode agile Scrum / XP ENVIRONNEMENT TECHNIQUE FRONTEND GWT, JavaScript, CSS, HTML BACKEND Spring 3, JPA2, Hibernate 3 / JPA 2, JUnit, Mockito, Dozer TOOLS Eclipse, Jenkins, Maven 3, Nexus, SVN Subclipse, Jira METHODOLOGY Scrum/XP DATABASE Oracle 10

Software Enginner Java JEE / e-Commerce

SFR

Jan 2012 - Dec 2013

2 years

LA DÉFENSE

FONCTION : Software Enginner Java JEE / e-Commerce Développement des solutions e-commerce pour la prise de commandes SFR mobile, couvrant la gestion des processus de commande, le contrôle anti-fraude, le paiement, la livraison et l'activation. RÉALISATIONS ❖ Analyse et Maîtrise des Spécifications Techniques : Étudier les besoins métier, comprendre les exigences et analyser les spécifications pour trouver des solutions techniques adéquates et efficaces ❖ Choix Techniques et Architecture : Élaboration et validation des choix techniques et des orientations architecturales, garantissant une solution maintenable et évolutive. ❖ Planification et Engagement : Chiffrage des développements et engagement sur les plannings de réalisation, assurant une gestion efficace des délais et des ressources. ❖ Développement des Fonctionnalités e-Commerce : Conception et développement de fonctionnalités de prise de commandes, contrôle anti-fraude, gestion des paiements, livraison, et activation, en utilisant Java/JEE, Spring, Hibernate, et d'autres technologies connexes. ❖ Livraisons et Tests : Déploiement des solutions sur les serveurs de recette, exécution des tests d'acceptation, et correction des anomalies pour garantir la qualité et la conformité des livrables. ❖ Qualité et Maintenance du Code : Mise en oeuvre de pratiques de développement de haute qualité (pair programming, code reviews, adoption de standards), optimisation continue des performances, et maintenance proactive pour améliorer la stabilité et l'efficacité de la solution. ENVIRONNEMENT TECHNIQUE FRONTEND Struts 2, JavaScript, Wicket, AJAX, CSS, JSP BACKEND Java JEE, Spring, Hibernate / JPA, JUnit, Dozer, JAXB, CXF, SOAP, JMS TOOLS Eclipse, SVN Subclipse, Maven 3, Nexus, JIRA, Hudson, Confluence SERVER Apache Tomcat 6 DATABSE Oracle

Software Engineer Java JEE / FLEX

ATOS

Apr 2009 - Dec 2011

2 years 9 months

LA DEFENSE

FONCTION: Développeur Java JEE / Flex Développement d'un portail web (Bourse des Contrats d’Apprentissage), facilitant la mise en relation entre employeurs, jeunes apprentis et Centres de Formation d’Apprentis (CFA), dans le cadre d’un marché public confié à ATOS BS pour la modernisation de l'État en région Île-de-France. RÉALISATIONS ❖ Conception et Modélisation UML : Participation à la conception et à la modélisation UML pour définir l'architecture et les interactions du système. ❖ Développement Front-End et Back-End : Contribuer au développement des fonctionnalités front-end et back-end de l'application, en utilisant Java JEE et Flex pour assurer une expérience utilisateur fluide et performante. ❖ Developepemnt de nouvelles Fonctionnalités : Recherche d'Offres d’Emploi, Gestion de Dossier utilisateur, Notificatiosn et Alertes, Tableau de Bord Personnalisé ❖ Tests Unitaires et d'Intégration : Réalisation des tests unitaires et d'intégration pour garantir la qualité et la fiabilité des fonctionnalités développées pour chaque utilisateur, affichant les offres sauvegardées, les candidatures en cours.. ❖ Correction de Bugs et Anomalies : Identification et correction des bugs et anomalies détectés par le client, améliorant ainsi la stabilité et la performance de l'application. ❖ Déploiement et Préparation de la Livraison : Déploiement de l'application sur le serveur de test et préparation pour la mise en production. ❖ Documentation Technique : Rédaction de la documentation technique détaillée pour faciliter la maintenance et l'évolution future de l'application. ENVIRONNEMENT TECHNIQUE FRONTEND Flex, ActionScript, MXML BACKEND Java/JEE, Spring, Hibernate/JPA TOOLS Eclipse, Maven 2, Subversion SERVER Tomcat 6 DATABSE PostgreSQL


Education

Montpellier University

Master 2

2003 - 2008

5 years 2 months

The best place to find your next move

© 2026. All Rights Reserved.