Mohamed El Kasmi

Foto de Mohamed El Kasmi

Desarrollador Full Stack

OriginPath

¡Soy Moha! Desarrollador Full-Stack
especializado en .NET y Angular

Madrid, España

Sobre Mí

Full Stack Developer

¡Hola! 👋 Soy Mohamed. Llevo más de dos años trabajando como desarrollador y, si tuviera que resumir lo que hago en una frase, diría que me encargo de que las cosas funcionen: desde entender el problema hasta verlo corriendo en producción.

Mi día a día es una mezcla de frontend, backend, base de datos y despliegue. Soy el tipo de desarrollador que prefiere entender todo el sistema antes que dominar solo una parte. He tocado .NET, Java, PHP y Python en proyectos reales, y en frontend me muevo sobre todo en Angular — aunque le tengo cariño también a React. Como trabajo en un equipo pequeño, también me ocupo del CI/CD y de los servidores Linux donde desplegamos.

Lo que más me motiva es ver un proyecto completo llegar a producción: arrancar desde el análisis, pelearse con el código legacy, levantar infraestructura en AWS, coordinarse con otra gente cuando hace falta, y al final del día saber que algo que antes no existía ahora está ahí.

Estudié Desarrollo de Aplicaciones Web 🎓 en el IES Luis Vives, y antes hice un año de Ingeniería Civil en la UPM antes de darme cuenta de que lo mío era el software. Sigo aprendiendo todos los días — es un sector que no te deja quedarte quieto, y me encanta. Hablo español y árabe como nativo y tengo un nivel B2 de inglés.

Experiencia Profesional

Logo de OriginPath

Desarrollador Full-Stack

OriginPath — Madrid, España

Octubre 2024 – Actualidad

Una empresa de software pequeña, así que además de desarrollar me ocupo del CI/CD (GitLab, Docker, Terraform, Nginx) y de los servidores Linux donde desplegamos. He pasado por cuatro proyectos muy distintos entre sí, y eso ha sido lo mejor: cada uno me ha enseñado cosas diferentes y me ha empujado a salir de mi zona de confort.

Sistema de gestión académica

Producto interno · Proyecto actual

Una plataforma modular para universidades y centros de formación profesional que cubre toda la gestión académica: planes de estudio, convalidaciones, expedientes, matriculación, horarios y calificaciones. Incluye además un CRM de admisiones, facturación y un campus virtual, y cada centro configura sus propias reglas académicas.

  • Backend en Java 25 con arquitectura hexagonal: los servicios y modelos del dominio se definen una vez y los drivers se generan con una librería interna propia. Frontend en Angular.
  • La misma base de código se despliega como aplicación Spring Boot o como funciones AWS Lambda, compilada a binario nativo con GraalVM. Autenticación contra un servidor propio al estilo de Keycloak.
  • Compilación con Maven, infraestructura definida con Terraform y despliegue mediante pipelines de GitLab CI.
  • Java 25
  • Spring Boot
  • GraalVM
  • Angular
  • AWS Lambda
  • Terraform
  • GitLab CI
  • Maven

Software de gestión para una agencia de publicidad

Cliente externo

Migración completa de una aplicación que llevaba años funcionando en Visual Basic. La arranqué prácticamente desde cero y es el proyecto en el que más responsabilidad he asumido de principio a fin.

  • Backend en .NET (empezamos en .NET 9 y ya está en .NET 10) con Entity Framework Core, y frontend en Angular 21 aprovechando lo más nuevo del framework (signals, rxResource, standalone components) con PrimeNG y Tailwind CSS.
  • Modelado de los datos sobre SQL Server desde cero y optimización de consultas sobre grandes volúmenes de datos.
  • Integración bidireccional con Business Central (el ERP del cliente), de la que me encargué yo solo: diseño del flujo de facturación, sincronización en ambos sentidos y coordinación directa con los integradores externos.
  • Generación de informes y PDFs dinámicos con Telerik Reporting.
  • .NET 10
  • C#
  • Entity Framework Core
  • Angular 21
  • PrimeNG
  • Tailwind CSS
  • SQL Server
  • Business Central
  • Telerik Reporting

Plataforma de firma digital de documentos

Producto interno

Un producto ya en producción, con código legacy en Java 17 y Angular 12, que había que mantener vivo mientras lo reescribíamos.

  • Resolución de bugs críticos y nuevas funcionalidades sobre una base de código heredada y compleja, como el renderizado de tablas dinámicas dentro de los PDFs generados. Aprendí mucho leyendo código que no era mío.
  • Gestión de la infraestructura en AWS: logs en CloudWatch, colas SQS, funciones Lambda, levantar y tirar instancias VPS cuando hacía falta. Me tocó aprender la consola de AWS sobre la marcha y me ha quedado como una de las partes que más me gustan.
  • Refactorización completa a una arquitectura serverless: backend en .NET sobre AWS Lambda y frontend en Angular 20 con signals y computed. Sin servidor hubo que rediseñar los servicios pensando en el tiempo de cada llamada; el objetivo era bajar el coste operativo y dejar un código mantenible.
  • Java 17
  • Spring Boot
  • Angular 12 → 20
  • .NET
  • AWS Lambda
  • SQS
  • CloudWatch

Plataforma de tarjetas de contacto digitales

Cliente externo

Un proyecto que me sacó completamente de mi stack habitual. Venía acostumbrado a lenguajes fuertemente tipados y aquí me tocó meterme de lleno en PHP y React — los dos nuevos para mí.

  • Desarrollo full-stack con Laravel en el backend y React en el frontend. Fue un reto adaptarme, pero me ayudó a darme cuenta de que los fundamentos se transfieren bien entre stacks.
  • Remodelado del sistema de suscripciones con Stripe: planes, periodos de prueba sincronizados con Stripe, webhooks y ciclo de vida completo. Primera vez integrando una pasarela de pago en producción.
  • Reestructuración del sistema de facturación, que originalmente guardaba todo en campos JSON desestructurados. Migré toda esa información a un modelo relacional normalizado sin perder datos históricos.
  • Back office de administración para el cliente, despliegue en Vercel y reuniones técnicas directas con el cliente.
  • PHP
  • Laravel
  • React
  • Stripe
  • Vercel
Logo de Getronics

Desarrollador Junior — Prácticas profesionales (FCT)

Getronics — Madrid, España

Enero 2024 – Junio 2024

Mi primera experiencia en una empresa real, durante las prácticas del Grado Superior. Entré sin saber muy bien qué esperar y salí con una idea mucho más clara de cómo funciona el desarrollo en equipo.

  • Participé en el desarrollo de una plataforma interna de gestión de proyectos con Java 17, Spring Boot y Angular.
  • Implementé endpoints RESTful e integraciones con MySQL respetando las convenciones del proyecto.
  • Pruebas funcionales de la aplicación y trabajo con pull requests y revisiones de código.
  • Sobre todo, aprendí lo que no se enseña en clase: leer código ajeno, pedir ayuda en el momento adecuado, y que una pull request bien hecha ahorra muchos problemas.
  • Java 17
  • Spring Boot
  • Angular
  • MySQL

Proyectos

FutPro - Gestión y comercio de cartas de jugadores de fútbol en un entorno virtual.
  • Python
  • Django
  • Angular
  • Tailwind CSS
  • PostgreSQL

FutPro - Gestión y comercio de cartas de jugadores de fútbol en un entorno virtual.

Mi Trabajo de Fin de Grado (nota: 9). Una plataforma para gestionar y comerciar cartas de jugadores de fútbol en un entorno virtual, con moneda propia (FutCoins), compra-venta entre usuarios y panel de administración. Fue mi primer proyecto full-stack de verdad de principio a fin.
MadMotor - Plataforma para la gestión de concesionarios en múltiples tecnologías.
  • Java
  • Spring Boot
  • NestJS
  • TypeScript
  • PHP
  • Laravel
  • MongoDB
  • PostgreSQL

MadMotor - Plataforma para la gestión de concesionarios en múltiples tecnologías.

Un proyecto académico que decidí llevar más lejos: implementar la misma aplicación (gestión de un concesionario de vehículos) en tres tecnologías distintas, para entender las diferencias entre los tres mundos:
  • Spring Boot: API REST con Spring Security y JWT.
  • NestJS: misma API con un enfoque más moderno en TypeScript, con autenticación y notificaciones.
  • Laravel: aplicación web completa con vistas Blade, carrito y generación de PDFs.
Me sirvió mucho para ver en la práctica qué cambia cuando te mueves entre ecosistemas.

MadMotor - Plataforma para la gestión de concesionarios en múltiples tecnologías.

MadMotor - Spring Boot

API REST robusta con operaciones CRUD y seguridad basada en JWT.

MadMotor - NestJS

API REST con funcionalidades de autenticación y notificaciones.

MadMotor - Laravel

Aplicación web completa con vistas Blade y frontend dinámico. Generación de PDFs, sistema de carritos, y de recuperación de contraseñas.

Tecnologías y habilidades


  • C#

  • .NET

  • Entity Framework

  • Java

  • Spring Boot

  • PHP

  • Laravel

  • Angular

  • TypeScript

  • React

  • Tailwind CSS

  • SQL Server

  • PostgreSQL

  • MySQL

  • AWS

  • Docker

  • Terraform

  • GitLab CI

  • Nginx

  • Linux

  • Python

  • Django

  • NestJS