
Houssem Abidi
Senior Software Engineer / Tech Lead
Salaire / Taux journalier
Paris, France
Freelance
À distance uniquement
Expertises
À propos
Introduction
Senior Software Engineer with 10+ years specializing in legacy system modernization and API-first architectures. Led complete CRM transformations using DDD, Hexagonal Architecture, and micro-frontends while migrating Java monoliths to Spring Boot 3/Java 21. Expert in full-stack development (Java/Spring, React/Vue.js) with proven success delivering scalable solutions at Euronext, ING, and BNP Paribas.
Expérience de travail
Java Lead Dev
Stelogy
nov. 2022 - Présent
4 ans
Paris, France
– Context: Progressive modernization of a legacy CRM platform from a Vaadin + Java SE application to a modern API-first architecture, with coexistence between legacy and new technologies to ensure business continuity and incremental delivery. – Led the progressive modernization of a legacy CRM platform into a modern API-first architecture while preserving business continuity and enabling incremental delivery – Designed and delivered REST APIs to decouple business capabilities from the legacy Vaadin application and support progressive migration of functional domains – Drove major backend modernization initiatives including migration from Spring Boot 2 to Spring Boot 3 and from Java 11 to Java 21 – Designed and implemented Hexagonal Architecture aligned with Domain-Driven Design principles to improve modularity, maintainability, and long-term scalability – Applied the Strangler Fig Pattern to organize the coexistence of the legacy application and new modern modules during the migration journey – Initiated and led a frontend modernization stream starting with a Vue.js POC, then expanding toward reusable foundations for progressive UI migration inside the legacy Vaadin ecosystem – Designed and developed modern frontend modules using Vue.js, Vite, Pinia, and TanStack Query – Contributed to the development of a reusable UI Kit and Web Components approach to standardize frontend development and simplify integration of modern components into the legacy application – Worked on micro-frontend integration patterns to progressively replace legacy Vaadin screens with modern frontend modules without requiring a full rewrite – Participated in the adoption of Web Awesome to improve component consistency, reusability, and design-system foundations – Implemented and configured Nginx for frontend serving, reverse proxying, and integration with backend APIs – Managed CORS configuration and frontend/backend routing concerns to enable smooth communication between modern frontend applications and existing backend services across environments – Implemented Kafka-based event publishing and asynchronous workflows to improve decoupling, responsiveness, and integration across the platform – Led CI/CD improvements with Jenkins including build automation, release pipelines, container image generation, and deployments – Containerized services with Docker and managed deployments on Docker Swarm – Strengthened engineering quality practices through SonarQube, code reviews, GitFlow, and improved development standards – Implemented and reinforced unit testing practices across backend and frontend developments – Configured Playwright for end-to-end testing and supported QA onboarding to accelerate adoption of automated testing practices – Improved platform security with Spring Security, JWT / API keys, and Keycloak integration – Improved observability with Actuator, Micrometer, and Grafana – Delivered a document management MVP by replacing database file storage with Garage object storage – Conducted a GenAI / OCR POC using OpenAI for document processing and extraction use cases – Delivered a POC for the migration of the quote workflow currently in progress, using Temporal to externalize and orchestrate business workflows outside the legacy application – Used Temporal in the workflow migration POC to validate a more resilient, explicit, versioned, and observable orchestration model for long-running quote processes – Produced application and infrastructure architecture diagrams in draw.io to document the target architecture, migration flows, integration patterns, and deployment topology – Contributed to defining the target migration path from tightly coupled legacy screens and embedded business logic toward modular services, explicit workflows, and modern frontend applications – Tech Stack: Java 11/21, Spring Boot 2/3, REST APIs, DDD, Hexagonal Architecture, Kafka, Temporal, Jenkins, Docker, Docker Swarm, Nginx, SonarQube, Spring Security, JWT, API Keys, Keycloak, Actuator, Micrometer, Grafana, Vaadin, Vue.js, Vite, Pinia, TanStack Query, Web Components, Web Awesome, Playwright, Garage, Cucumber, Git, draw.io
Java Tech Lead
Le Conservateur
févr. 2022 - nov. 2022
10 mois
Paris, France
– Context: Modernization and refactoring of the information system used for the management of life insurance policies, including data migration from legacy systems and gradual adoption of more modern architectural practices. – Worked as Java Tech Lead on the modernization of the life insurance policy management system – Contributed to the redesign and migration of legacy components toward a more maintainable architecture – Applied Domain-Driven Design (DDD) principles to better structure business domains – Designed and implemented RESTful web services using Spring Boot – Participated in the implementation of an event-driven approach, publishing business events to Kafka – Developed data migration and processing jobs using Spring Batch – Developed and maintained the front-end layer using Angular – Set up and maintained CI/CD pipelines with Jenkins – Collaborated closely with developers, QA, and business stakeholders throughout the delivery – Contributed to code quality through code reviews and clean coding practices – Technical Environment: Java, Spring Boot, Spring Batch, REST APIs, DDD, Kafka, Angular, Jenkins, SQL, Git
Tech Lead / Technical Architect
Euronext
févr. 2021 - févr. 2022
1 an 1 mois
Paris, France
– Mission: Technical leadership of a cross-functional team to digitalize the stock listing admission process within the Digital Ambition Program. – Technical lead for a team of 5 developers, 1 QA, 1 Product Owner, and 1 Business Analyst, coordination and delivery oversight – Design and delivery of a shared technical foundation (MyEuronext) used across microservices and micro-frontends – Development of shared Java services including security with AWS Cognito, document management on AWS S3, user data services, email and report generation – Design and deployment of a reusable React UI components library and Design System using Storybook – Setup of CI/CD pipelines with Jenkins and Nexus for shared libraries – Design and implementation of the Listing Equity platform – Technical documentation, architecture design, feature refinement, estimation, and roadmap definition – Definition and enforcement of development standards, TDD/BDD practices, and DevOps automation – Release management, business demos, and knowledge transfer to support teams – Technical Environment: Java 11, Spring (Boot, MVC, Security, Data), JUnit, Mockito, ReactJS, Redux, Hooks, Material UI, Storybook, TypeScript, Webpack, AWS (Cognito, S3, CloudFront, EC2, ECS, ECR, RDS PostgreSQL), Git, Maven, Jenkins, Nexus, Docker, Ansible, Scrum, Microservices, Micro-frontends
Lead Dev Java React
ING Bank
mars 2018 - févr. 2021
3 ans
Paris, France
– Mission: Modernization of the Life Insurance product, including monolith decomposition, technology upgrades, and faster MVP delivery. – Technical lead on Java and React stacks, architecture consistency, technology choices, and code quality – Progressive decomposition of a monolithic system and domain isolation using DDD principles – Definition of user stories, scope analysis, impact assessment, and delivery planning – Facilitation of Agile ceremonies: Sprint Planning, Daily Scrum, Retrospectives – Migration of back-end services from SOAP to REST and front-end from JSF/JSP to ReactJS – Design and development of Life Insurance contract lifecycle features: redemptions, arbitrage, management mode changes, new fund offerings – Code reviews, team onboarding, and contribution to CI/CD and DevOps improvements – Maintenance, bug fixing, incident management, and production support – Technical Environment: Java 6, 7, 8, 11, Spring (Boot, MVC, Security), Hibernate, JAX-RS, JAX-WS, JavaScript ES6, ReactJS, Redux, Jest, Enzyme, AngularJS, HTML5, CSS3, Maven, Git, Jenkins, GitLab, Azure DevOps (TFS), Puppet, Ansible, Scrum, Kanban, DDD, TDD
Full Stack Developer (Java / Angular)
BNP Paribas
juin 2017 - févr. 2018
9 mois
Paris, France
– Mission: Design and development of a MVP for a Document Management System (DMS) including document review and validation workflows (Historage project). – Definition of MMFs (Minimum Marketable Features) and user interfaces in close collaboration with the Product Owner – Implementation of Domain-Driven Design (DDD) principles: domain modeling and functional decomposition – Writing user stories, estimating complexity, and contributing to technical and architectural decisions – Design and implementation of a secure API Gateway (Spring Zuul, Spring Security, SAML, SSO Server) – Design and implementation of a new Angular front-end architecture – Development of Angular UI components and user journeys – Development of Java back-end APIs using Spring MVC – Technical support and guidance to development teams throughout the project lifecycle – Implementation of automated tests and enforcement of Craft practices: TDD, BDD, Clean Code, continuous refactoring – Technical Environment: Java 8, Spring (Boot, MVC, Data, Security, Cloud), Angular 5, Angular Material 5, JUnit, Oracle 12c, Maven, Jenkins, CA Automation, Scrum
Full Stack Java / AngularJS Developer
M6
juin 2016 - mai 2017
1 an
Paris, France
– Context: Contribution to the development and evolution of internal web applications within Groupe M6's Information System, in an Agile environment. – Design, develop, and maintain web applications (enhancements & bug fixing) – Contribute to architecture decisions and technical solution implementation – Develop new front-end and back-end modules within an Agile team – Build REST APIs using Java and Spring – Develop front-end features with AngularJS – Maintain and evolve legacy applications (Java, GWT, SOAP, EJB, PL/SQL) – Work with CI pipelines and write technical documentation – Apply TDD / ATDD practices – Tech Stack: Java 6/8, Spring (MVC, Data), Hibernate, EJB, SOAP, PL/SQL, AngularJS, GWT, Bootstrap, JUnit, Mockito, Karma, Jasmine, FitNesse, Maven, Jenkins, Docker, Git, Swagger, Mule ESB, JasperReports, SqlDeveloper, Scrum, JIRA, Confluence
Java/JEE Developer
Vermeg
mai 2015 - mai 2016
1 an 1 mois
Paris, France
– Context: VERMEG is an international software vendor operating across several B2B service lines, including pensions and insurance, wealth and asset management, capital markets, securities, and digital financial services. Worked on the evolution of the Solife product, a life insurance policy management solution. – Contributed to the design and technical development of new features – Implemented developments in line with functional specifications and the selected technical architecture – Analyzed business requirements provided by Product Management and translated them into technical specifications – Wrote high-level and detailed technical specifications – Participated in the delivery of enhancements for a life insurance policy management system – Worked within an Agile environment in collaboration with cross-functional teams – Tech Stack: Java/JEE, Spring Framework, Hibernate, Groovy, SQL Developer, Oracle 12c, Maven, JBoss, UML, Scrum, JIRA, Confluence, SmartBear Collaborator, SVN, Sonar, Tomcat
Software Developer
Neoxam
nov. 2014 - mai 2015
7 mois
Paris, France
– Project: GP3 - Investment accounting solution (banks, fund administrators, asset managers) – Development and maintenance of GP3 application modules (investment accounting workflows). – Implementation and enhancement of features using Swing and ADL scripting within the product ecosystem. – Technical documentation and modeling using UML and Confluence. – Agile delivery with Scrum/Kanban, task tracking in JIRA, and version control with SVN. – Tech stack: ADL, Swing, UML, Confluence, Scrum, Kanban, JIRA, SVN
Full Stack Java/JEE Developer
Cynapsys (Inetum)
janv. 2013 - oct. 2014
1 an 10 mois
Paris, France
– Project: Web-based project management application (work areas, deliverables, resources, skills matrix, Gantt, PERT) – Designed and developed core features for project structuring and planning, including WBS (Work Breakdown Structure) and RBS (Resource Breakdown Structure). – Implemented progress tracking dashboards using work burndown and resource burndown charts. – Built backend services with Java/JEE, Spring Framework, and Hibernate, backed by PostgreSQL. – Developed the UI with JSF 2.0 and PrimeFaces, and added interactive diagrams using JavaScript (GoJS). – Produced technical models and documentation using UML (PowerDesigner), worked in Scrum, and managed version control with SVN. – Tech stack: Java/JEE, Spring, Hibernate, PostgreSQL, JSF 2.0, PrimeFaces, JavaScript (GoJS), UML/PowerDesigner, SVN, Scrum
Formation
Esprit
Software Engineering Diploma
2014 - 2014
1 mois