Currículum y perfil profesionalCurriculum and professional profile

Aitor Elorriaga

Senior Java Developer especializado en backend, ciberseguridad, cloud, automatización y plataformas.Senior Java Developer specialised in backend, cybersecurity, cloud, automation and platforms.

Perfil técnico con más de 8 años de experiencia en desarrollo de software, integración de sistemas y operación de entornos productivos. Mi trabajo se centra en construir soluciones sólidas, mantenibles y útiles, con especial foco en Java, Spring Boot, DevOps, cloud y seguridad.Technical profile with over 8 years of experience in software development, systems integration and production environments operation. My work focuses on building solid, maintainable and useful solutions, with a particular focus on Java, Spring Boot, DevOps, cloud and security.

Madrid, EspañaMadrid, Spain eloaitor.com ICCAT · en activoICCAT · current

Trayectoria profesionalProfessional career

  1. Senior Java Developer

    Marzo 2024 — ActualidadMarch 2024 — Present
    ICCAT
    • Desarrollo del IOMS (Integrated Online Management System) de ICCAT, la plataforma con la que las 56 Partes Contratantes de la organización gestionan online su información regulatoria: informes anuales (CPC), gestor de buques (UN/FLUX), gestor de formularios y gestor de puertos.Development of ICCAT's IOMS (Integrated Online Management System), the platform through which the organisation's 56 Contracting Parties manage their regulatory information online: annual reports (CPC), Vessel Manager (UN/FLUX), Form Manager and Ports Manager.
    • Backend en Java 21 / Spring Boot con APIs REST y microservicios, desplegado sobre contenedores (Docker, Kubernetes) en 3 entornos —producción, test y sandbox— con pipelines CI/CD y monitorización.Backend in Java 21 / Spring Boot with REST APIs and microservices, deployed on containers (Docker, Kubernetes) across 3 environments —production, test and sandbox— with CI/CD pipelines and monitoring.
  2. Analista / ProgramadorAnalyst / Developer

    Julio 2022 — Febrero 2024July 2022 — February 2024
    VIEWNEXT
    • Análisis y desarrollo de aplicaciones Java / Spring para Naturgy, integrando servicios REST/SOAP y bases de datos relacionales.Analysis and development of Java / Spring applications for Naturgy, integrating REST/SOAP services and relational databases.
    • Aseguramiento de calidad con pruebas (JUnit, Mockito), análisis estático (Sonar) y revisión de código en entornos Scrum.Quality assurance with testing (JUnit, Mockito), static analysis (Sonar) and code review in Scrum environments.
  3. ProgramadorDeveloper

    Abril 2018 — Julio 2022April 2018 — July 2022
    INETUM (Gfi España)INETUM (Gfi Spain)
    • Desarrollo de aplicaciones Java EE (EJB, JAX-RS/JAX-WS, JSF/PrimeFaces) sobre servidores de aplicaciones (JBoss/WildFly, Tomcat).Development of Java EE applications (EJB, JAX-RS/JAX-WS, JSF/PrimeFaces) on application servers (JBoss/WildFly, Tomcat).
    • Mantenimiento evolutivo y correctivo en metodologías ágiles, con herramientas Atlassian (Jira, Bitbucket, Bamboo, Confluence).Evolutionary and corrective maintenance under agile methodologies, using Atlassian tools (Jira, Bitbucket, Bamboo, Confluence).
  4. SocorristaLifeguard

    Junio 2015 — Septiembre 2017June 2015 — September 2017
    Cruz Roja EspañolaSpanish Red Cross
    • Socorrismo acuático en playa: vigilancia, prevención y primeros auxilios durante la temporada estival.Beach lifeguarding: surveillance, prevention and first aid during the summer season.

Proyectos propios en producciónPersonal projects in production

  1. Infraestructura autogestionada en Oracle CloudSelf-managed infrastructure on Oracle Cloud

    2026 — Actualidad2026 — Present
    eloaitor.com
    • Servidor ARM (Ampere A1, Ubuntu 22.04) operado como infraestructura como código: 12 contenedores orquestados con Docker Compose —Nextcloud sobre PostgreSQL, WireGuard, Nginx Proxy Manager, Uptime Kuma, Beszel— cada uno con su límite de memoria y rotación de logs.ARM server (Ampere A1, Ubuntu 22.04) run as infrastructure as code: 12 containers orchestrated with Docker Compose —Nextcloud on PostgreSQL, WireGuard, Nginx Proxy Manager, Uptime Kuma, Beszel— each with its own memory limit and log rotation.
    • Endurecimiento del perímetro: TLS en Full (Strict) con certificado de origen, HSTS, puerto 443 restringido por iptables a los rangos de Cloudflare, panel de administración accesible solo por VPN y autenticación en el borde para los servicios privados.Perimeter hardening: TLS in Full (Strict) with an origin certificate, HSTS, port 443 restricted by iptables to Cloudflare ranges, admin panel reachable only over VPN and edge authentication for private services.
    • Operación desatendida: 10 monitores de disponibilidad —externos e internos— con alertas a Telegram, y copias de seguridad cifradas en origen que se suben a object storage cada dos días, con retención, verificación y aviso automático de cada ejecución.Unattended operation: 10 uptime monitors —external and internal— with Telegram alerts, plus client-side encrypted backups pushed to object storage every two days, with retention, verification and an automatic report of every run.
  2. Plataforma de bolsa para el inversor particularStock market platform for retail investors

    2026 — Actualidad2026 — Present
    bolsa.eloaitor.com
    • Sitio estático en Astro de 53 páginas: seguimiento de cartera, titulares de prensa financiera, cotizaciones, calendario y mercados, más 42 calculadoras y un glosario de 91 términos. Construido en contenedor y servido con CSP estricta y fuentes autoalojadas: cero peticiones a terceros.Static Astro site of 53 pages: portfolio tracking, financial press headlines, quotes, calendar and markets, plus 42 calculators and a 91-term glossary. Built in a container and served with a strict CSP and self-hosted fonts: zero third-party requests.
    • Las siete series de datos (S&P 500, CAPE, MSCI World, EURO STOXX 50, IPC, EUR/USD y euríbor) se regeneran por script desde fuentes oficiales —Shiller, Yahoo, BCE, INE y FRED— y cada fichero guarda su procedencia y su última observación.The seven data series (S&P 500, CAPE, MSCI World, EURO STOXX 50, Spanish CPI, EUR/USD and Euribor) are regenerated by script from official sources —Shiller, Yahoo, ECB, INE and FRED— and every file records its provenance and latest observation.
    • 671 pruebas automatizadas (Vitest) que cubren tanto los cálculos —incluida la fiscalidad de una cartera: FIFO, regla de los dos meses y compensación de pérdidas— como los propios ficheros de datos, contrastados contra hitos históricos conocidos.671 automated tests (Vitest) covering both the calculations —including portfolio taxation: FIFO, the two-month rule and loss offsetting— and the data files themselves, checked against known historical milestones.

Formación académicaAcademic background

  1. Master en CiberseguridadMaster's in Cybersecurity

    2022 — 2023
    Mondragon Unibertsitatea
  2. Desarrollo de Aplicaciones WebWeb Application Development

    2015 — 2017
    IES Urritxe
  3. Microinformática y RedesIT Systems and Networks

    2013 — 2015
    IES Urritxe

Tecnologías, herramientas y entornoTechnologies, tools and environment

Atlassian & gestiónAtlassian & management
Bamboo Bitbucket Confluence Crucible FishEye Jira
CI/CD & calidadCI/CD & quality
CI/CD Git GitHub Actions GitLab GitLab CI GitLab Runner Jenkins Maven Sonar
Cloud & contenedoresCloud & containers
Azure Azure Insights Docker Helm Kubernetes Linux Oracle Cloud
Core & Spring
Java 21 Lombok MicroserviciosMicroservices REST APIs Spring Boot Spring Cloud Spring Data Spring MVC Spring Security
Frontend
Angular JavaScript Node.js
IDEs & herramientasIDEs & tools
Bash Claude Codex Eclipse IntelliJ IDEA NetBeans
Java EE & SOA
EJB 3 JAX-RS JAX-WS JEE JMS Servlets SOA SOAP
MetodologíaMethodology
Scrum
MonitorizaciónMonitoring
Grafana Kibana
Persistencia & datosPersistence & data
Elasticsearch Hibernate JPA MySQL PostgreSQL
SeguridadSecurity
CiberseguridadCybersecurity JWT OWASP
Servidores de aplicacionesApplication servers
JBoss Tomcat WildFly
Testing
JUnit Mockito Postman Swagger / OpenAPI
UI server-side
JSF PrimeFaces RichFaces