About me
I'm a Senior Software Engineer with more than a decade of experience building software end to end — from full-stack web applications to large enterprise systems. I'm genuinely passionate about technology and always keeping an eye on where it's heading.
I started out as a full-stack PHP developer in a digital agency, shipping e-commerce and content-driven websites while also handling digital marketing and hosting-server administration. I then moved into the public sector, where I spent several years designing and building Java/JEE enterprise applications for public-finance management.
Today I work across the modern stack — Java/JEE and Spring on the backend, Next.js and NestJS on the web, and Docker to ship it all — and I bring solutions to production with a strong focus on performance and clean architecture.
My growing interest in Big Data, Machine Learning and AI led me to formal training in Data Science and Big Data, which reshaped the way I approach mathematics, statistics and data-driven problem solving in practice.
Professional Experience
October 2023 – Present
Senior Java Developer
IT services & engineering company (ESN)
Re-engineering and cloud migration of a financial-management business application, within an agile team.
- Contributed to re-architecting the application into a cloud-native version
- Developed new features to improve the application's performance and usability
- Fixed defects across both the back-end and front-end
- Ensured the application's UX complied with user-interface standards
- Used Java, JEE, Servlets and JSP to ensure a smooth transition to the cloud
- Worked with the technical teams on maintenance and continuous improvement of the product
- Took part in Scrum ceremonies (sprint reviews, retrospectives and daily stand-ups)
- Languages & tools: Java, JEE, Servlets, JSP, Spring, Angular, Docker
May 2015 – September 2023
Java EE Analyst / Programmer
Public administration – public-finance sector
Modernization of an information system for managing public expenditure, aimed at promoting rational and unified management of State finances.
- Contributed to the design and implementation of the unified budgetary and accounting information system
- Analyzed and handled defects and enhancements across the system's various modules
- Produced decision-support reporting dashboards
- Built a predictive model for the payment lead time of payment orders
- Worked closely with public-spending stakeholders to meet their needs
- Produced documentation, user guides and release notes
- Languages & tools: Java 8, Spring Boot, Spring Data JPA, Hibernate, Spring Batch, GitLab CI/CD, Jenkins, Jira, Kubernetes, Struts, Angular, HTML5, CSS3, JavaScript, jQuery, ReactJS, Jasper Reports, Oracle PL/SQL
June 2010 – May 2015
Full-Stack PHP Developer
Digital agency
Full-stack web development and hosting-server administration within a digital agency.
- Built e-commerce and content sites with PrestaShop, Drupal and WordPress (themes, modules, core)
- PHP/MySQL programming (procedural, MVC and OOP)
- PSD to HTML/CSS slicing and integration (responsive websites and newsletters)
- Managed the emailing server and newsletter campaigns
- Set up GIT and SVN version-control workflows
- Working knowledge of SEO and web marketing / e-commerce
- Administered hosting servers (ISPConfig) and managed domain DNS/MX records
Portfolio
Technical Skills
Core skills
Java / JEE
Senior, 10+ Years
Spring
Advanced, 8 Years
Next.js / NestJS
Intermediate, 2 Years
PrestaShop
Expert, 5 Years
Other skills
Programming languages
Java
PHP
JavaScript / TypeScript
SQL
Python
Web stacks
Java (Java, Spring, Oracle, JBoss)
Next.js / NestJS (Node.js, TypeScript)
MERN (MongoDB, Express.js, React JS, Node.js)
LAMP (Linux, Apache, MySQL, PHP)
DevOps & containers
Docker / Docker Compose
CI/CD (GitLab CI, Jenkins)
Kubernetes
Big data
Apache Spark
Hadoop / MapReduce
Big Data Analytics
Cassandra
MongoDB
Data Science & AI
Machine Learning
Deep Learning
Data Mining
Time Series Analysis
Generative AI / LLMs
Web technologies
Java Enterprise Edition
Next.js / NestJS
React JS
PrestaShop
Drupal
Bootstrap / Responsive web design
PSD to HTML slicing & integration: Web and Newsletter
HTML5 / CSS3 / JavaScript / jQuery
PHP frameworks
Laravel
System administration
Debian web server (LAMP with ISPConfig)
Backup management
Collaboration tools
Jira
Redmine
Git
SVN
BitBucket
GitHub
GitLab
Modeling
Merise
UML
Design patterns
Applications
Eclipse IDE
Oracle SQL Developer
Visual Studio Code
Notepad++
Microsoft Office
LibreOffice
Photoshop
FileZilla
NetBeans
Visual Studio
PowerAMC
StarUML
Digital marketing
Emailing
Bulk SMS
CRM
Databases
MySQL
Microsoft SQL Server
Oracle
MongoDB
SQLite
Technologies & architecture
Web services
RESTful applications
SOA (Oracle BPEL basics)
Operating systems
Windows
Linux (Debian, Ubuntu, Fedora)
macOS
Languages
Arabic (native)
French (fluent)
English (fluent)
Education
2024 - 2026
Groupe SupMTI
Engineer's Degree (Cycle Ingénieur) : Information Systems Engineering
A three-year engineering cycle focused on designing, building and operating modern information systems. The program combines a strong theoretical foundation with hands-on projects across software engineering and emerging technologies.
Key areas covered include:
- Object-oriented software development and enterprise application architecture
- Database design and administration (SQL Server, Oracle)
- System administration and network programming (CCNA)
- Artificial Intelligence: Machine Learning, Deep Learning, Computer Vision and Generative AI / LLMs
- Data Science and Big Data
- Mobile development and the Internet of Things (IoT)
- Cybersecurity and real-time embedded systems
2020 - 2022
National Higher School of Computer Science and Systems Analysis (ENSIAS)
Research Master's : Data Science and Big Data (SDBD)
The Data Science and Big Data research master's trains multidisciplinary researchers in the storage, organization, mining and analysis of massive data, giving them a solid theoretical grounding and the technological tools needed to carry out research in the field or work as data-science and Big Data experts and specialists.
The program's goal is to train researchers and to build the following core technical competencies:
- Mastery of the fundamentals of storing and processing massive structured and unstructured data
- Mastery of Big Data architectures
- Mastery of the algorithms and mathematical foundations for analyzing massive data
- Mastery of Machine Learning algorithms for Big Data
- Mastery of inferential and predictive statistics techniques for Big Data
- Mastery of techniques for optimizing data-mining algorithms for Big Data
- Mastery of parallel-computing techniques for Big Data algorithms
- Mastery of techniques for processing and indexing multimedia data (image, video, audio, text, etc.)
- Mastery of information-retrieval techniques
- Mastery of research methodology
- The ability to write scientific papers
- The ability to lead a research project
2019 – 2020
Higher School of Technology of Salé (EST Salé)
Professional Bachelor's : Information Systems and Big Data (SIBD)
This degree aims to master the theoretical and practical components of information systems and Big Data, developing students' skills for the socio-economic world and training them to lead data-development and data-management projects.
The program's main objectives are to build the following core technical competencies:
- Design statistical information systems
- Build computerized databases
- Use stochastic and statistical models, as well as algorithmic methods, to analyze and solve practical situations — notably in finance, insurance and the environment
- Design, manage and operate databases and data warehouses
- Leverage information from databases and data warehouses using statistics, Big Data and data-mining techniques for decision-making purposes
- Translate strategic challenges into operational decision-support tools
- Evaluate the results of the actions taken
2014 – 2017
University of Vincennes-Saint-Denis - IED (Paris, France)
Bachelor's Degree, Computer Science
This degree serves the dual objective of further study and professional training. By the end of the program, students have acquired the skills of computer scientists, analyst-programmers and developers, and are able to use programming environments to deliver effective solutions to real-world problems.
The program's main objectives are to build the following core technical competencies:
- Carry out the programming of IT work (new builds and maintenance) with the available tools
- Test the developed programs using test datasets
- Contribute to writing technical files and software documentation
- Write specifications and perform functional analyses
2010 – 2012
National Centre for Distance Education (CNED - Paris, France)
Higher Technician's Certificate (BTS), Business Computing (Software Development option)
The BTS in Business Computing prepares students for the workforce. The objective of this program is to build knowledge around IT systems and applications. To this end, courses in management, law and economics are also taught.
The CNED prepares students for the various BTS IG exams:
- Culture and communication
- Mathematics for computing
- Economic, managerial and legal analysis of IT services
- Design and maintenance of IT solutions
- Production and delivery of services
- Professionalization pathway
2008 – 2010
Hay Nahda Training Center (OFPPT - Rabat, Morocco)
Specialized Technician, Software Development, Valedictorian of the class
The Specialized Technician in Software Development is a professional in charge of developing and maintaining software applications. They typically work for IT services and engineering companies, across many application domains (industry, business management, leisure, etc.).
Upstream, they are attentive to the client's expectations, study the specifications, the capabilities of the technical environment and the constraints of the client's production system.
At the end of the program, the trainee is able to carry out the following operations and activities:
- Analyze and interpret a specification, then write functional and technical specifications
- Design databases and user interfaces in a Windows (GUI) or Internet (IUI) environment
- Assemble and integrate software components built with an object-oriented programming language
- Carry out unit tests and integration tests
- Take part in the deployment and technical support of the application
