
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 actualUna 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 externoMigració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 internoUn 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 externoUn 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





