Introducción
Buscamos un/a Analista Programador/a Java especializado/a en microservicios para participar en el diseño y desarrollo de soluciones críticas de alto rendimiento y disponibilidad. Te incorporarás a un entorno tecnológico avanzado, trabajando con Java 21, Spring Boot 3, arquitecturas de eventos (EDA) y despliegues en OpenShift, participando en proyectos donde la calidad del diseño y la robustez de las soluciones son clave.
Si te apasiona el diseño de arquitecturas modernas, los microservicios bien hechos y las buenas prácticas de desarrollo, este rol te permitirá tener un impacto directo en la evolución tecnológica de la plataforma del cliente.
Responsabilidades
- Diseñar y desarrollar microservicios con Spring Boot 3 y Java 21, siguiendo principios de arquitectura limpia y buenas prácticas.
- Definir y modelar procesos batch eficientes utilizando Spring Batch, optimizando tiempos de proceso y uso de recursos.
- Diseñar y aplicar patrones SAGA y arquitecturas orientadas a eventos (EDA) utilizando IBM Event Stream (Kafka).
- Definir y documentar APIs REST siguiendo enfoque ApiFirst con OpenAPI 3.1, asegurando consistencia, versionado y mantenibilidad.
- Participar en el diseño de arquitecturas hexagonales, promoviendo la separación de capas y la independencia de la infraestructura.
- Integrar microservicios con sistemas terceros utilizando WebClient, garantizando seguridad, resiliencia y observabilidad.
- Diseñar y optimizar el acceso a datos con JPA sobre bases de datos Oracle, incluyendo modelado de entidades y consultas eficientes.
- Implementar y mantener una cobertura adecuada de tests unitarios con JUnit, fomentando el desarrollo orientado a pruebas.
- Colaborar con equipos de infraestructura y DevOps en el despliegue de contenedores en OpenShift, así como en la resolución de incidencias relacionadas con el entorno.
- Participar en revisiones de código, definición de estándares de desarrollo y mejora continua de la plataforma.
- Documentar las soluciones técnicas y colaborar estrechamente con analistas funcionales, arquitectos y otros equipos de desarrollo.
Requisitos imprescindibles
- Experiencia profesional mínima de:
- 6 años como Analista Programador/a en entornos TIC, o
- 8 años como Programador/a Senior en entornos TIC.
- Experiencia demostrable en diseño y desarrollo de microservicios con Spring Boot 3 y Java 21.
- Experiencia en diseño de procesos batch con Spring Batch.
- Experiencia en definición y uso de patrones SAGA y arquitecturas de Eventos (EDA), preferiblemente con IBM Event Stream (Kafka).
- Experiencia en diseño de APIs REST utilizando patrones ApiFirst con OpenAPI 3.1.
- Conocimiento y experiencia en diseño de arquitecturas hexagonales.
- Conocimiento y uso de WebClient para la integración con sistemas terceros.
- Experiencia con JPA y bases de datos relacionales, especialmente Oracle.
- Experiencia en diseño y desarrollo de tests unitarios con JUnit.
- Manejo a nivel de usuario de OpenShift como plataforma de despliegue de contenedores.
- Capacidad para trabajar en equipo, comunicarse de forma clara y documentar soluciones técnicas.
Requisitos deseables (valorables)
- Experiencia previa en entornos corporativos de gran volumen de transacciones.
- Conoc