

Ingeniero Informático con más de 25 años de experiencia en el desarrollo de software empresarial, especializado en tecnologías Java y arquitecturas backend de alta disponibilidad. A lo largo de mi trayectoria he participado en todas las fases del ciclo de vida del software: análisis funcional, diseño de arquitectura, desarrollo, pruebas, integración continua, despliegue y mantenimiento evolutivo de aplicaciones críticas.
Durante el último año he formado parte del equipo de desarrollo de Indra, participando en proyectos para CaixaBank, donde desarrollé y mantuve microservicios basados en Java, Spring Boot y Spring Security, trabajando bajo metodologías Scrum y aplicando principios de Arquitectura Hexagonal, diseño API First y especificaciones OpenAPI/Swagger. El entorno tecnológico incluía Docker, Kubernetes, Kafka, Oracle, Git, Jenkins (CI/CD), SonarQube, JUnit, Mockito, Postman y Jira.
Anteriormente lideré durante más de veinte años el desarrollo tecnológico de Shuttle Direct, una plataforma internacional de reservas de traslados entre aeropuertos y destinos turísticos. Como responsable técnico diseñé la arquitectura completa del sistema, desarrollando soluciones backend y frontend, integraciones con terceros, optimización del rendimiento y coordinación de pequeños equipos de desarrollo. Esta experiencia me permitió adquirir una visión global del desarrollo de software, desde la definición de requisitos hasta la puesta en producción y evolución continua de plataformas con miles de usuarios.
Actualmente compagino mi experiencia profesional con la docencia en Formación Profesional, impartiendo Desarrollo de Aplicaciones y Sistemas de Telecomunicaciones. La enseñanza me permite mantenerme actualizado en las tecnologías más demandadas del ecosistema Java mientras continúo desarrollando proyectos personales y ampliando conocimientos en arquitectura de software, contenedores y microservicios.
Me considero un profesional orientado a la calidad del software, acostumbrado a trabajar en equipos Agile, con facilidad para analizar problemas complejos, proponer soluciones técnicas y colaborar tanto con equipos de desarrollo como con clientes y responsables de negocio.