
Houssem ABIDI
Software Engineer/ Tech Lead /Technical Architect
Salaire / Taux journalier
Paris, France
Freelance
Peut venir sur site
Expertises
Langues
À propos
Introduction
Senior Software Engineer / Tech Lead / Technical Architect with 12+ years of experience designing and delivering largescale, mission-critical systems. Strong advocate of Software Craftsmanship: Clean Code, SOLID principles, Clean / Hexagonal Architecture, DDD, TDD/BDD Proven experience leading cross-functional agile teams (developers, QA, PO, business stakeholders) on complex transformation programs Strong DevOps culture mindset with end-to-end ownership: build, deploy, observe, and operate
Expérience de travail
Java Lead Dev
StelogyFreelance
nov. 2022 - Présent
4 ans
À distance
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 ConservateurFreelance
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
Technical Lead, Software 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
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 - mars 2018
10 mois
93100 Montreuil, 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
GROUPE M6
juin 2016 - juin 2017
1 an 1 mois
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
Software Engineer
VERMEG for Banking & Insurance Software
mai 2015 - mai 2016
1 an 1 mois
69340 Francheville, France
Software Engineer
NeoXam
nov. 2014 - avr. 2015
6 mois
Software Engineer
Inetum
déc. 2012 - oct. 2014
1 an 11 mois