Desarrollador Java
Summary
Java Backend Developer for financial-sector projects: design microservices, migrate data (e.g., MongoDB to Oracle), and build robust backend solutions using Java, Oracle DB, Git, and Maven.
En NFQ Advisory nos encontramos en búsqueda de un Desarrollador Java para integrarse a proyectos estratégicos del sector financiero.
Acerca del Rol
Desarrollador Java Backend
Buscamos un Desarrollador Java Backend con experiencia en sistemas de alto rendimiento y arquitecturas corporativas para unirse a nuestro equipo. Serás responsable de diseñar, desarrollar y optimizar soluciones backend robustas, asegurar las mejores prácticas de programación y participar activamente en la modernización y migración de sistemas críticos (incluyendo bases de datos relacionales y no relacionales).
Responsabilidades Principales
- Diseñar y desarrollar microservicios y aplicaciones backend robustas utilizando Java bajo estándares de arquitectura de Microservicios.
- Participar activamente en proyectos de migración de datos, particularmente de entornos no relacionales a relacionales (ej. MongoDB a Oracle DB).
- Implementar patrones de diseño orientados a objetos y evitar antipatrones para garantizar la escalabilidad y mantenibilidad del código.
- Asegurar la calidad del software mediante el diseño y ejecución de pruebas unitarias y de integración.
- Gestionar el ciclo de vida del desarrollo utilizando herramientas de control de versiones y automatización de construcción (Git, Maven).
- Colaborar con administradores de sistemas mediante el uso de comandos en entornos Linux y Windows.
Requisitos y Calificaciones
Educación y Experiencia:
- Licenciatura/Ingeniería en Sistemas, Computación o carrera afín.
- Experiencia demostrable en desarrollo backend con Java y familiaridad con arquitecturas bancarias/corporativas.
Conocimientos Técnicos Indispensables (Java Avanzado):
- Dominio del Core de Java: Tipos de datos (Wrappers), Casting, Operadores, Strings y Enumeraciones.
- Programación Orientada a Objetos a nivel profundo: Clases abstractas, Interfaces y Administración de memoria.
- Manejo avanzado de Colecciones, Genéricos, Hilos (Multithreading), Lambdas y la API de Fechas.
- Conocimiento y aplicación práctica de Patrones de Diseño (especialmente Builder y Singleton) y detección de Antipatrones (como Blob).
Bases de Datos y Herramientas:
- Experiencia práctica con JDBC y bases de datos Oracle DB (deseable experiencia en proyectos de migración desde MongoDB).
- Gestión de proyectos y dependencias con Maven.
- Control de versiones avanzado con GIT.
- Manejo de sistemas operativos a nivel comandos: Linux, Windows y comandos Batch.
Pruebas y Calidad de Código:
- Creación de pruebas unitarias robustas utilizando JUnit y Mockito.
- Deseable conocimiento en certificaciones oficiales de Java (conceptos alineados a la guía OCA o similares).
Integración Continua:
- Deseable conocimiento en Jenkins
Habilidades Blandas:
- Pensamiento lógico y capacidad para separar enfoques teóricos de la implementación práctica.
- Capacidad de adaptación a actualizaciones tecnológicas y metodologías de evaluación continua.
- Orientación a resultados y resolución de problemas complejos.
- Colaboración y Presencialidad Activa: Compromiso con el trabajo en equipo presencial, valorando la interacción cara a cara para el desarrollo de proyectos complejos.
Ofrecemos:
- Prestaciones superiores a la ley
- Plan de crecimiento profesional
- Participación en proyectos de alto impacto