Journey
Five years of school, with real work alongside.
From 2021 to 2026: EMSI on one side, and on the other, internships and a client engagement that took me from coursework to systems that actually run. Here is the story, in order.
202120222023202420252026
Foundation · S1–S4Engineering core · S5–S7Specialization · S8–S9Final project · S104678Today01Where it starts
Baccalaureate, then into EMSI
2021Al Maarif High School, Sale · EMSI, Rabat
2021: with a baccalaureate in physical sciences, I join EMSI in Rabat for a five-year engineering degree in computer science and networks. The green line running down the left is those five years: everything below happened alongside them.
02The foundations
Preparatory years
2021 → 2023EMSI · S1 → S4
The first two years lay the groundwork: mathematics, physics, electronics and algorithms, then my first programming languages, databases and operating systems. Hands-on projects and mini-labs turn the theory into practice.
Curriculum
- Core sciences
- MathematicsPhysicsElectronicsComputer science
- Core technologies
- Electrical circuitsAutomationAlgorithms
- Computing
- Programming languagesDatabasesOperating systems
- Broader view
- Introduction to AIBusiness management
- Practice
- Hands-on projectsMini-labs
- Transferable skills
- CommunicationLanguagesSoft skills
03The full range of computing
Engineering core curriculum
2023 → 2025EMSI · S5 → S7
The engineering core covers the full range: development in C++, Python, Java, .NET, Angular and React, software engineering, systems and cloud, networks and security, AI, databases and project management. During this cycle I do my first internship, at ALTEN in Fes.
Curriculum
- Development & languages
- C++PythonJava.NETAngularReact
- Software engineering
- Agile methodsDevOpsSoftware qualityUML
- Systems & cloud
- UnixWindowsVirtualizationCloud computing
- Networks & cybersecurity
- TCP/IPProtocolsSecurityForensics
- Artificial intelligence
- Machine learningData scienceApplied AI
- Databases
- SQLNoSQLOracleMS SQL Server
- Project & IT management
- PMPITILProject-steering tools
- Soft & digital skills
- CommunicationEntrepreneurshipEmployabilityProject management
04First internship, first domain model
Web development internship
Aug → Sep 2024ALTEN · Fes, MoroccoThird-year professional internship
August 2024: my first internship, at ALTEN in Fes. I am asked to design a task-management application and work on it independently. Before writing a single view, I model the domain: entities, JOINED inheritance and enumerations, in an MVC architecture with Symfony.
What I delivered
- Designed an MVC application with Symfony, Doctrine, Twig and MySQL.
- Domain modelling: entities, JOINED inheritance, enumerations.
- PHP
- Symfony
- Doctrine
- Twig
- MySQL
Related projectCollaborative task manager · ALTEN 2024My first project in a company: independently designing a collaborative task management application with Symfony, starting from a solid domain model.Read the case study 05My option: MIAGE
Specialized engineering cycle
2025 → 2026EMSI · S8 → S9
For the last two semesters of coursework, I choose the MIAGE option (Computer Methods Applied to Business Management). It covers microservices architecture and DevOps, which I then put into practice in my final-year project at ALTEN, and the back-end frameworks I am using at RATITEC at the same time.
Chosen among three options: AI & Data Science, Cybersecurity & Networks, MIAGE (Computer Methods Applied to Business Management).
Curriculum
- Architecture & DevOps
- DevOpsMicroservices architectureDistributed systems
- Frameworks
- JEEFront-endBack-endCross-platform development
- Enterprise applications
- ERPApplication securityIS integrationAI for business applications
- Data
- Database tuningBig DataData mining
06Java backend, for real
Java / Spring Boot internship · backend development
Jul → Aug 2025RATITEC ENR · Mohammedia, MoroccoFourth-year internship (PFA)
The following summer, I join RATITEC ENR in Mohammedia to work on its energy-project management platform. With a teammate, I build the Spring Boot backend: more than 12 REST APIs, used to track more than 15 projects. I own the billing logic and the field-intervention module, tested with JUnit and Mockito.
What I delivered
- Layered architecture (controller, service, repository, DTO) with JPA/Hibernate and MySQL.
- Billing: validation, generation, payment cycle and notifications.
- Field interventions with statuses and history; Scrum and Git day to day.
- Java
- Spring Boot
- JPA / Hibernate
- MySQL
- JUnit
- Mockito
Related projectRATITEC · energy project backendThe Spring Boot backend of a platform that connects renewable-energy projects, field interventions and billing.Read the case study 07A real client, a live site
Freelance Full-Stack development · with a teammate
Oct 2025 → presentSounds of Morocco · RemoteFreelance
In October 2025, alongside my final year, I start a freelance engagement with a teammate for Sounds of Morocco, a music label. We build its platform with Next.js, Strapi and Supabase, then take it live at soundsofmorocco.com. Since then, the label publishes its releases, news and merch without a developer, and we keep improving the site.
What I delivered
- Technical architecture, frontend, CMS and database.
- CI/CD pipeline with GitHub Actions.
- Ongoing production maintenance: SEO, performance, Strapi updates, new features.
- Next.js 14
- TypeScript
- Tailwind CSS
- Strapi 5
- Supabase
- PostgreSQL
- GitHub Actions
Related projectSounds of Morocco · label platformThe website and CMS of an independent Moroccan music label, live at soundsofmorocco.com and maintained since.Read the case study 08The final-year project: an AI copilot
Final-year internship · Full-Stack & AI
Mar → Sep 2026ALTEN Delivery Center Maroc · Rabat, MoroccoFinal-year internship (PFE)
For my final-year project, ALTEN Delivery Center Maroc gives me a concrete problem: scattered internal documentation, slow to search, and a clumsy hand-off to human support. Working independently, I design a copilot that answers in natural language from those documents, cites its sources and opens a support ticket when a person needs to step in. From March to September, 13 Scrum sprints lead to a demonstrator qualified in internal staging.
What I delivered
- Architecture: API Gateway + 4 Spring Boot services (auth, user, document, chat) + a FastAPI RAG service; JWT, BCrypt and RBAC security across 3 roles.
- RAG pipeline: extraction, chunking, embeddings, MMR semantic retrieval and SSE-streamed answers with source citations.
- Angular application: chat, document and user back office, tickets with category-based forms, attachments and an activity feed.
- Manual evaluation: 98% correct answers on 50 validated questions; first token in under 1.5 s.
- Angular
- Spring Boot
- Spring Cloud Gateway
- FastAPI
- LangChain
- OpenAI
- pgvector
- Docker Compose
Related projectAccess-controlled AI copilot (RAG)An internal copilot that answers employees’ questions from company documentation, cites its sources, respects who may read what, and hands over to human support when needed.Read the case study 09State-certified engineer
State Engineering Degree in Computer Science and Networks · MIAGE option
2026EMSI · Rabat, Morocco
2026: I graduate from EMSI with the State Engineering Degree, MIAGE option. Along the way, I also built EMSI Association, the platform for the school’s student clubs.
Related projectEMSI Association · student lifeA Laravel application that brings together the clubs, memberships, events and news of EMSI Rabat, with a student space and an admin space.Read the case study