Senior Backend Engineer – Java

Hace 17 horas

Madrid, Comunidad de Madrid, España hiberus Jornada completa 70.000 € - 100.000 € Por obra

¿Todavía no conoces HIBERUS? Somos una empresa de #tecnología construida con un ingrediente diferencial, la HIPERESPECIALIZACIÓN.

Formar parte de hiberus significa crecimiento, pasión por la tecnología, interés por la innovación, ambiente laboral flexible y colaborativo, compañerismo, aprendizaje, formación continua, motivación y superación ante nuevos retos...y esto es solo el principio.

Somos más de 4.700 profesionales y no paramos de crecer

Actualmente contamos con 36 hubs de desarrollo en España, Europa, Latinoamérica, Estados Unidos y África. Estamos redefiniendo el mapa tecnológico mundial

Trabajamos muy duro, para transformar nuestra vida a través de la tecnología y queremos contar contigo para seguir creciendo. Si lo tuyo es el mundo IT, te gusta estar al día en las últimas tecnologías y quieres asumir un nuevo reto profesional Sigue leyendo, te estamos buscando

Buscamos un o una Senior Backend Engineer – Java / Arquitectura Distribuida para incorporarse a un equipo técnico de alto nivel donde participarás activamente en el diseño, evolución y desarrollo de sistemas distribuidos, escalables y orientados a eventos.

Más allá del dominio de tecnologías concretas, buscamos una persona con sólidos fundamentos de ingeniería de software y visión arquitectónica, capaz de entender el porqué de las decisiones técnicas, analizar escenarios complejos y contribuir a la definición de soluciones robustas, mantenibles y preparadas para evolucionar.

Trabajarás en un entorno donde la arquitectura tiene un papel protagonista, participando en la definición de soluciones síncronas y asíncronas, el diseño de APIs, la gestión de eventos distribuidos y la aplicación de patrones arquitectónicos en sistemas de alta complejidad.

Buscamos personas que nos ayuden a seguir creciendo, con ganas de aportar, asumir responsabilidades técnicas y evolucionar junto a grandes profesionales, pero sobre todo... en hiberus buscamos buena gente

Algunas de tus funciones

  • Diseñar, desarrollar y evolucionar servicios backend utilizando Java y Spring Boot.
  • Diseñar e implementar APIs REST seguras, escalables y mantenibles.
  • Participar activamente en el diseño y evolución de arquitecturas distribuidas.
  • Diseñar soluciones síncronas y asíncronas en función de las necesidades del sistema.
  • Implementar y evolucionar arquitecturas orientadas a eventos utilizando Kafka.
  • Participar en la definición de estándares técnicos y buenas prácticas de desarrollo.
  • Aplicar principios de arquitectura hexagonal, separación de responsabilidades y diseño desacoplado.
  • Colaborar en la toma de decisiones técnicas y el análisis de alternativas arquitectónicas.
  • Diseñar soluciones resilientes, escalables y alineadas con los requisitos funcionales y no funcionales.
  • Optimizar consultas y procesos sobre bases de datos relacionales y grandes volúmenes de información.
  • Garantizar la calidad del software mediante testing, code reviews y mejora continua.
  • Colaborar con equipos de plataforma y DevOps para optimizar despliegues y procesos operativos.
  • Participar en la automatización de procesos de integración y despliegue continuo.
  • Contribuir a la evolución tecnológica del equipo impulsando nuevas prácticas, herramientas y tecnologías.

Habilidades y requisitos

  • Experiencia sólida en desarrollo backend con Java.
  • Amplio conocimiento del ecosistema Spring y Spring Boot.
  • Experiencia diseñando y desarrollando APIs REST.
  • Experiencia trabajando con Kafka y arquitecturas orientadas a eventos.
  • Conocimiento práctico de: Topics, particiones y consumer groups. Gestión del consumo y commits. Idempotencia y gestión de eventos duplicados.
  • Buen conocimiento de SQL y experiencia trabajando con bases de datos relacionales.
  • Conocimiento práctico de transacciones, aislamiento y propagación.
  • Experiencia o conocimiento sólido de arquitectura hexagonal, puertos y adaptadores.
  • Experiencia participando en el diseño y evolución de sistemas distribuidos.
  • Capacidad para comprender y explicar decisiones técnicas y arquitectónicas.
  • Experiencia tomando o participando activamente en decisiones técnicas.
  • Capacidad para analizar problemas complejos y valorar los trade-offs entre distintas alternativas.
  • Mentalidad práctica, orientación a la calidad y foco en la mantenibilidad del software.
  • Autonomía para desenvolverse en entornos técnicamente exigentes.

Valorable

  • Coreografía y orquestación de procesos distribuidos.
  • Estrategias de consistencia en sistemas distribuidos.
  • Experiencia trabajando en arquitecturas basadas en microservicios.
  • Conocimientos y experienc