Oracle
Jobgether
Desarrollador(a) Java Senior | Sistemas Distribuidos y Programación Reactiva
Sobre la oportunidad
Esta posición se publica en nombre de una empresa asociada, que gestiona todas las candidaturas y los pasos siguientes. Nuestro socio busca un(a) Desarrollador(a) Java Senior | Sistemas Distribuidos y Programación Reactiva con base en Brasil.
Cómo funciona Jobgether
Utilizamos un proceso de emparejamiento impulsado por IA para garantizar que tu solicitud sea revisada de forma rápida, objetiva y justa frente a los requisitos principales del puesto. Nuestro sistema identifica a los candidatos que mejor se ajustan, y esta lista corta se comparte directamente con la empresa contratante. La decisión final y los pasos siguientes (entrevistas, evaluaciones) son gestionados por su equipo interno.
¡Agradecemos tu interés y te deseamos lo mejor!
¿Por qué aplicar a través de Jobgether?
Aviso de privacidad de datos: Al enviar tu solicitud, reconoces que Jobgether procesará tus datos personales para evaluar tu candidatura y compartir información relevante con el empleador contratante. Este procesamiento se basa en el interés legítimo y en las medidas precontractuales bajo las leyes de protección de datos aplicables (incluido el RGPD). Puedes ejercer tus derechos (acceso, rectificación, supresión, oposición) en cualquier momento.
#LI-CL1
Buscamos un(a) Desarrollador(a) Java Senior para diseñar, desarrollar y optimizar servicios backend de alto rendimiento para plataformas empresariales críticas. En este puesto, trabajarás con tecnologías modernas de Java, programación reactiva y sistemas distribuidos para crear aplicaciones escalables, resilientes y listas para la nube. Contribuirás a integraciones de sistemas complejos, iniciativas de modernización tecnológica y la evolución continua de la arquitectura de software. Trabajando con tecnologías como Spring Boot, Apache Kafka, gRPC y AWS, ayudarás a ofrecer soluciones fiables que cumplan con exigentes requisitos de rendimiento. Colaborarás con equipos técnicos para mejorar las prácticas de ingeniería, las pruebas automatizadas y los procesos de entrega continua. Esta oportunidad es ideal para un ingeniero senior al que le guste resolver desafíos arquitectónicos complejos y colaborar con equipos internacionales en un entorno técnicamente exigente.
Responsabilidades
- Diseñar, desarrollar y mantener servicios backend distribuidos utilizando versiones modernas de Java, particularmente Java 17 y Java 21, y el framework Spring Boot.
- Construir aplicaciones reactivas y asíncronas utilizando tecnologías como Project Reactor o RxJava para mejorar la capacidad de respuesta, el rendimiento y la utilización de recursos.
- Optimizar el rendimiento, la escalabilidad, la fiabilidad y la eficiencia de los recursos de las aplicaciones en entornos distribuidos complejos.
- Diseñar e implementar la comunicación entre servicios utilizando gRPC y Protocol Buffers (Protobuf).
- Desarrollar y mantener arquitecturas basadas en eventos y soluciones de mensajería asíncrona utilizando Apache Kafka.
- Aprovechar los servicios en la nube de AWS para respaldar el despliegue, la escalabilidad y la operación de aplicaciones backend.
- Implementar y optimizar estrategias de concurrencia y multihilo para soportar el procesamiento de alto rendimiento y la gestión eficiente de recursos.
- Desarrollar y mantener suites de pruebas automatizadas utilizando JUnit, Mockito y AssertJ para garantizar la calidad del código y la fiabilidad del sistema.
- Trabajar con tecnologías de almacenamiento de datos y caché, incluyendo Redis, PostgreSQL y MongoDB, seleccionando y optimizando soluciones de acuerdo con los requisitos de la aplicación.
- Contribuir a las decisiones arquitectónicas, las integraciones de sistemas y las iniciativas complejas de modernización tecnológica.
- Mejorar los pipelines de CI/CD y los flujos de trabajo de desarrollo para respaldar una entrega de software fiable y automatizada.
- Colaborar con los equipos de ingeniería para establecer estándares de desarrollo, promover las mejores prácticas y mejorar continuamente la arquitectura de software y los procesos de ingeniería.
Requisitos mínimos
Requisitos
- Amplia experiencia profesional en desarrollo backend con Java, incluyendo una sólida competencia en Java 17 y/o Java 21 y Spring Boot.
- Sólido conocimiento de los principios de programación reactiva y experiencia práctica con Project Reactor o RxJava.
- Experiencia práctica con gRPC y Protocol Buffers para una comunicación eficiente entre servicios distribuidos.
- Experiencia en la implementación de arquitecturas basadas en eventos y soluciones de mensajería con Apache Kafka.
- Familiaridad con AWS y el desarrollo, despliegue y operaciones de aplicaciones basadas en la nube.
- Sólida comprensión de la concurrencia, el multihilo, el procesamiento asíncrono y la optimización del rendimiento.
- Experiencia práctica con frameworks y librerías de pruebas automatizadas, particularmente JUnit, Mockito y AssertJ.
- Experiencia trabajando con Redis y bases de datos relacionales o NoSQL, incluyendo PostgreSQL y MongoDB.
- Sólida comprensión de la arquitectura de sistemas distribuidos, escalabilidad, resiliencia, tolerancia a fallos e integración de sistemas.
- Experiencia con pipelines de CI/CD, procesos de compilación automatizados y prácticas modernas de entrega de software.
- Es obligatorio un nivel avanzado de conversación tanto en inglés como en español, incluyendo la capacidad de liderar y participar de forma independiente en reuniones en cualquiera de los dos idiomas.
- Fuertes habilidades analíticas y de resolución de problemas, con capacidad para investigar problemas técnicos complejos y tomar decisiones arquitectónicas sólidas.
- Excelentes habilidades de comunicación y colaboración, con capacidad para trabajar eficazmente con equipos internacionales y multidisciplinares.
- Mentalidad proactiva y compromiso con la calidad del código, la mejora continua y las prácticas modernas de ingeniería de software.
Se valorará
- Experiencia con Python y Apache Arrow.
- Familiaridad con GitHub Actions o TeamCity para integración y entrega continua.
- Experiencia en la planificación y ejecución de migraciones tecnológicas complejas.
- Conocimiento de Docker Multi-Arch y compilaciones de imágenes de contenedores multiplataforma.
Beneficios
Ubicación: São Paulo, Brasil.
- Responsabilidades técnicas de nivel senior: Oportunidad de contribuir a plataformas críticas y sistemas distribuidos complejos.
- Stack tecnológico moderno: Trabaja con Java 17/21, Spring Boot, programación reactiva, Kafka, AWS, gRPC y tecnologías en la nube.
- Arquitectura e innovación: Participa en iniciativas de modernización tecnológica y ayuda a dar forma a soluciones backend escalables.
- Excelencia en ingeniería: Contribuye a las pruebas automatizadas, mejoras de CI/CD y mejores prácticas en todo el ciclo de vida del desarrollo de software.
- Colaboración internacional: Utiliza inglés y español en un entorno profesional mientras trabajas con equipos técnicos distribuidos.
- Desarrollo profesional: Amplía tu experiencia en computación en la nube, aplicaciones de alto rendimiento, programación reactiva y arquitecturas distribuidas.
