Live opening · Posted 5 days ago
At a glance
The key details from the original listing.
Your early-applicant advantage
Live timing from JobBeeper.
About the role
Description supplied by the original job listing.
En BCNC Group buscamos incorporar un/a Senior Java Backend Engineer de alta seniority técnica para participar en la evolución de una plataforma crítica de negocio dentro de un entorno tecnológico de gran escala en sector retail.
Buscamos un perfil muy senior, profundamente hands-on y con fuerte sensibilidad por el diseño de sistemas, capaz de trabajar sobre arquitecturas distribuidas donde el rendimiento, la concurrencia, la escalabilidad, la resiliencia y la calidad del software sean aspectos centrales.
No buscamos únicamente experiencia con un determinado stack. Queremos incorporar a una persona con profundidad técnica real, capaz de entender sistemas complejos, detectar problemas, cuestionar decisiones existentes, plantear alternativas y participar activamente en la evolución técnica de la plataforma.
🚀 El reto
Trabajarás sobre una solución ya operativa, crítica para negocio y con un elevado volumen de operaciones.
El reto técnico pasa por garantizar un comportamiento estable y eficiente incluso en escenarios de alta carga, participando en decisiones relacionadas con:
Arquitectura de sistemas distribuidos.
Alta concurrencia y procesamiento de grandes volúmenes.
Optimización de latencia, throughput y rendimiento.
Escalabilidad y disponibilidad.
Comunicación síncrona y asíncrona entre servicios.
Diseño y evolución de APIs.
Modelado de dominio.
Resiliencia y tolerancia a fallos.
Calidad, mantenibilidad y evolución del software.
Identificación de cuellos de botella y oportunidades de optimización.
Buscamos una persona que pueda convertirse en una referencia técnica dentro del equipo de desarrollo, manteniendo una participación activa en código.
💻 ¿Qué harás?
Diseñar, desarrollar y evolucionar servicios backend con Java 21 y Spring Boot.
Participar activamente en decisiones de diseño técnico y arquitectura.
Trabajar sobre arquitecturas basadas en microservicios y sistemas distribuidos.
Diseñar y desarrollar APIs siguiendo un enfoque API First y especificaciones OpenAPI.
Construir soluciones preparadas para escenarios de alta concurrencia, elevado volumen y requisitos exigentes de rendimiento.
Trabajar con arquitecturas de mensajería y comunicación asíncrona mediante Kafka.
Analizar problemas de performance y proponer optimizaciones sobre servicios, comunicaciones y persistencia.
Aplicar de forma práctica DDD y arquitectura hexagonal.
Aplicar SOLID, Clean Code y patrones de diseño en decisiones reales de implementación.
Diseñar soluciones robustas ante errores, reintentos y escenarios de resiliencia.
Desarrollar y mantener pruebas automatizadas con JUnit y Mockito.
Participar activamente en code reviews.
Trabajar con procesos de CI/CD y Jenkins.
Velar por la calidad del código mediante herramientas como SonarQube y SonarLint.
Colaborar estrechamente con el Tech Lead y el resto del equipo.
Proponer de forma autónoma mejoras técnicas, arquitectónicas y de rendimiento.
Trabajar bajo metodología Agile / Scrum, en ciclos iterativos de entrega.
🎯 ¿Qué buscamos?
Esta posición requiere un nivel elevado de seniority. No buscamos únicamente muchos años de experiencia, sino profundidad técnica demostrable.
Necesitamos experiencia sólida en:
Java 21 o versiones modernas de Java con experiencia reciente y profunda.
Spring Boot.
Arquitecturas de microservicios.
Diseño y evolución de sistemas distribuidos.
Entornos de alta concurrencia y alto rendimiento.
Kafka en entornos productivos.
PostgreSQL.
DDD aplicado en proyectos reales.
Arquitectura hexagonal.
Diseño y desarrollo de APIs.
API First.
OpenAPI.
SOLID.
Clean Code.
Patrones de diseño.
JUnit y Mockito.
Jenkins / CI/CD.
Code review.
Metodologías Agile / Scrum.
🔬 Buscamos profundidad técnica
Valoraremos especialmente perfiles capaces de mantener conversaciones técnicas profundas sobre:
Diseño de sistemas escalables y disponibles.
Identificación y resolución de cuellos de botella.
Optimización de tiempos de respuesta.
Concurrencia y procesamiento paralelo.
Impacto de las decisiones de diseño sobre rendimiento y mantenibilidad.
Estrategias de particionado y consumo con Kafka.
Consumer groups.
Retries y gestión de errores.
Idempotencia y tratamiento de duplicados.
Comunicación síncrona vs. asíncrona.
Resiliencia entre servicios.
Diseño y evolución de contratos de APIs.
Testing unitario y de integración.
Trade-offs técnicos entre distintas alternativas de diseño.
No esperamos que una única persona haya trabajado profundamente en absolutamente todos estos escenarios, pero sí buscamos una base de ingeniería suficientemente sólida como para analizarlos y tomar decisiones con autonomía.
🌟 Será especialmente valorable
Experiencia con MongoDB, especialmente optimización de queries, índices, replicación o rendimiento.
Experiencia en AWS.
Conocimientos o experiencia práctica con gRPC y Protocol Buffers.
Maven.
Observabilidad y monitorización.
Experiencia definiendo estrategias de APIs.
Conocimiento de AsyncAPI o RAML.
Experiencia previa en plataformas críticas o de gran escala.
Experiencia en ecommerce, logística, distribución o supply chain.
Haber participado activamente en decisiones de arquitectura.
Experiencia trabajando sobre sistemas donde rendimiento y disponibilidad sean requisitos reales de negocio.
🧠 ¿Qué nivel de seniority esperamos?
Buscamos una persona que:
Continúe siendo claramente hands-on.
Trabaje con un elevado nivel de autonomía.
Sea capaz de diseñar una solución, no únicamente implementarla.
Entienda el problema antes de comenzar a desarrollar.
Sea capaz de cuestionar decisiones cuando exista una alternativa técnicamente mejor.
Argumente sus decisiones mediante criterio técnico y trade-offs.
Distinga entre una solución que simplemente funciona y una solución robusta, escalable y mantenible.
Detecte riesgos técnicos antes de que se conviertan en problemas.
Proponga mejoras sin necesidad de esperar instrucciones.
Comparta conocimiento con el resto del equipo.
Mantenga un elevado nivel de exigencia sobre la calidad de su trabajo.
Disfrute investigando y entendiendo cómo se comportan los sistemas en profundidad.
🤝 Competencias
Además de la profundidad técnica, buscamos:
Proactividad.
Pensamiento analítico.
Buenas habilidades de comunicación.
Trabajo en equipo.
Transparencia.
Compromiso con el producto.
Autoexigencia.
Capacidad para compartir conocimiento.
Curiosidad tecnológica.
Capacidad para desenvolverse en entornos técnicamente exigentes.
💼 ¿Qué ofrecemos?
Contratación estable con BCNC Group.
Proyecto tecnológico estratégico y de largo recorrido.
100% remoto desde España.
Flexibilidad de entrada y salida dentro del horario del equipo.
Jornada general de lunes a jueves de aproximadamente 8,5 horas y viernes de 7 horas.
Jornada intensiva los viernes, julio y agosto.
Guardias técnicas pasivas por rotación una vez completado el periodo de onboarding, remuneradas adicionalmente.
Formación continua a través de Udemy, OpenWebinars y programa MVP.
Plan de retribución flexible.
Plan de referidos.
Excelente ambiente laboral, valorado con un 4,7/5.
Si disfrutas trabajando sobre problemas reales de arquitectura, sistemas distribuidos, concurrencia, rendimiento y escalabilidad, y buscas un entorno donde puedas aportar criterio técnico además de código, queremos conocerte.
Somos BCNC Group, una empresa de ingeniería y tecnología con presencia en España, Reino Unido, Alemania, Francia y Suecia.
Trabajamos con algunas de las multinacionales más relevantes de Europa en sus proyectos estratégicos.
#WeHaveOurOwnCode #ourownvalues #hiring #bcncgroup
Work arrangement
Yes
More openings worth a look
Recently tracked roles with full details and direct application links.