Objetivo Principal del Puesto
Diseñar, desarrollar y mantener soluciones de software robustas y escalables en
Java 21 o superior, con integración de componentes frontend y móviles,
participando activamente en decisiones técnicas, promoviendo buenas prácticas
de desarrollo y programación reactiva, colaborando con el equipo bajo
metodologías ágiles como SCRUM y manteniendo una comunicación efectiva
con clientes y proveedores, tanto en español como en inglés.
Competencias Técnicas Requeridas
Sólido conocimiento de arquitectura de software y principios SOLID.
Dominio de programación orientada a objetos y funcional.
Conocimiento práctico en programación reactiva (RxJava, RxJS, Flux,
Mono).
Capacidad para el diseño modular y desacoplado de componentes.
Habilidad para trabajar en entornos ágiles (SCRUM/Kanban).
Enfoque en la calidad del código, pruebas automatizadas y buenas
prácticas.
Capacidad de comunicación efectiva, tanto técnica como funcional.
Proactividad, autonomía para investigar y aplicar nuevas tecnologías.
Objetivos a Evaluar
1. Calidad del código entregado: mantenibilidad, rendimiento, uso de
patrones de diseño y principios SOLID.
2. Participación técnica: contribuciones en definición de arquitecturas,
revisión de código, selección de tecnologías y soluciones escalables.
3. Capacitación y mentoría: apoyo al crecimiento técnico del equipo
mediante buenas prácticas, sesiones internas y revisión técnica.
4. Cumplimiento de entregables: puntualidad en entregas, cumplimiento
de requerimientos y adecuación al objetivo del proyecto.
5. Innovación y mejora continua: propuestas técnicas o de procesos que
aporten valor al equipo o al producto final.
Actividades Primarias del Puesto
1. Desarrollar y mantener aplicaciones Java 21 o superior, usando
Spring Boot, microservicios, contenedores Docker y programación
reactiva (WebFlux, R2DBC, Flux, Mono).
2. Analizar y levantar requerimientos de proyectos, interactuando
directamente con clientes y proveedores para comprender necesidades y
definir alcances.
3. Desarrollar aplicaciones móviles usando Flutter con Dart, y
mantener compatibilidad con arquitectura basada en microservicios.
4. Colaborar en el desarrollo de interfaces reactivas (frontend) con
RxJS, conocimientos básicos en React, JavaScript, y tecnologías como
JSP.
5. Diseñar e implementar soluciones con acceso a bases de datos
relacionales y no relacionales, utilizando tecnologías como R2DBC y
buenas prácticas para manejo de transacciones y errores de forma
reactiva.
Conocimientos Técnicos Específicos Requeridos
Área Detalles
Java 21+, Spring Boot, programación reactiva (WebFlux),
R2DBC, transacciones y errores en flujos reactivos,
Backend Java
patrones SOLID, diseño con lambdas y programación
funcional.
Conocimientos básicos de JavaScript, RxJS, React, JSP.
Frontend/Fullstack Programación con enfoque en flujos reactivos (flatMap,
map, observables).
Manejo de estructuras relacionales y no relacionales,
Bases de datos consultas reactivas, diseño de esquemas, integración vía
R2DBC.
Diseño e implementación de microservicios, uso de
Microservicios y
Docker, integración continua, despliegue en entornos
Contenedores
cloud o contenerizados.
Desarrollo básico/intermedio de aplicaciones móviles con
Móvil
Flutter + Dart.
Git, herramientas de integración continua (CI/CD),
DevOps/
pruebas unitarias, herramientas colaborativas con
Colaboración
Eclipse, InteliJ y VisualCode.
Análisis y Capacidad para levantar requerimientos, comunicar
comunicación soluciones técnicas a clientes y proveedores, redactar
Área Detalles
documentación funcional/técnica.
Inglés intermedio–avanzado (capaz de mantener
Idiomas reuniones, leer documentación y escribir informes
técnicos).