Ingeniero de software sr.

Apply now

Location

onsite, Heredia, Heredia Province, Costa Rica

Commitment

Full Time

Level

Senior (5+ years)

Required skills

JavaJava EE / Jakarta EEEJBJMSJSPStrutsHTML, CSS, JavaScript, and jQueryGit and GitHubPull Request ReviewsCI/CD PipelinesMavenREST and SOAP IntegrationOAuth 2.0JUnit and MockingSAST/SCAApplication Performance Monitoring

Job Description

Descripción del rol

Acerca del rol

Buscamos un(a) Desarrollador(a) Java EE para integrarse al equipo que evoluciona y mantiene la plataforma web de banca en línea para clientes personales y empresariales en varios países de la región. Se trata de una aplicación empresarial de gran escala, con capa de presentación (acciones y páginas JSP) y capa de negocio (EJB) desplegadas sobre un servidor de aplicaciones Java EE, que se integra con mensajería, microservicios, pasarelas de API, motores de casos y servicios de terceros. La persona seleccionada trabajará en un entorno regulado, con múltiples equipos aportando cambios en paralelo, ciclos de integración coordinados y fuertes exigencias de seguridad, estabilidad y trazabilidad.

Un día en este rol

Los cambios se agrupan en ciclos de integración coordinados: los pases se promueven uno a uno a un ambiente de stagging, donde se prueban por turno con un plazo acotado para el visto bueno; si no hay reintegraciones, el grupo avanza en conjunto a preproducción y producción. Se espera que la persona seleccionada resuelva con prioridad los conflictos y fallos de validación de sus PRs, documente cada pase con su guía de instalación y plan de rollback, y dé seguimiento post-instalación en los países donde aplique.

Desarrollar y mantener funcionalidades de la capa de presentación (acciones, validaciones, páginas JSP, definiciones de navegación y recursos de etiquetas) y de la capa de negocio (EJB, DAOs, helpers y DTOs) de la plataforma de banca en línea. Implementar flujos transaccionales y de autoservicio para distintos productos y gestiones (transferencias, pagos de servicios y tarjetas, apertura de cuentas, certificados, planillas, firmas digitales y otros), considerando las reglas propias de cada país. Participar en el flujo de Pull Requests: ramas por funcionalidad, convención de nombres y commits, plantilla de PR con alcance, ticket asociado y plan de rollback, atención a revisiones humanas y asistidas por IA, y resolución de conflictos. Documentar decisiones técnicas relevantes mediante registros de decisiones de arquitectura (ADR) y completar la documentación del pase a producción (guía de instalación, configuraciones de servidor, seguimiento post-instalación). Participar en los ciclos de integración y certificación (stagging, preproducción y producción): pruebas por turno, visto bueno por pase y reintegraciones cuando corresponda. Control de versiones y colaboración: repositorio Git corporativo único con flujo de Pull Requests, revisiones por code owners y revisiones asistidas por IA. Gestión de trabajo: tableros ágiles y tickets de pase a producción vinculados a cada PR. Servidores de aplicaciones Java EE con balanceo, servidores web de borde y middleware de mensajería. Pipelines de integración y entrega continua con ambientes de integración (stagging), preproducción y producción. Seguridad y calidad: análisis estático y de dependencias (SAST/SCA), revisión automatizada de PRs y gestión de secretos en bóvedas. Observabilidad: herramientas de APM, paneles y análisis de logs y volcados de memoria. Comunicación: plataforma de mensajería corporativa para coordinación de integraciones y revisiones asincrónicas.

La experiencia requerida

Competencia técnica

  • Java (8 o superior) y programación orientada a objetos aplicada a sistemas empresariales - Intermedio - Obligatorio
  • Java EE / Jakarta EE: EJB (session beans), JMS, JNDI, servlets y JSP - Intermedio - Obligatorio
  • Frameworks web basados en acciones (tipo Struts) y definiciones de layout (tiles) - Intermedio/Avanzado - Obligatorio
  • Frontend web clásico: JSP/JSTL, HTML, CSS, JavaScript y jQuery - Intermedio/Avanzado - Obligatorio
  • Servidores de aplicaciones Java EE (p. ej. WebSphere): configuración, enlaces de nombres, almacenes de certificados - Intermedio - Deseable
  • Mensajería empresarial (MQ/JMS) e integración con servicios REST/SOAP y pasarelas de API (OAuth 2.0) - Intermedio/Avanzado - Deseable
  • Pruebas unitarias con JUnit y mocking (EasyMock/PowerMock o similares) - Intermedio/Avanzado - Deseable
  • Maven: módulos, dependencias y empaquetado (WAR/EAR) - Intermedio/Avanzado - Obligatorio
  • Git y GitHub: branching por funcionalidad, Pull Requests, resolución de conflictos, revisión por code owners - Avanzado - Obligatorio
  • CI/CD con pipelines (Azure DevOps o similar) y gestión de configuración por ambiente - Intermedio - Obligatorio
  • Análisis de rendimiento: memoria heap, volcados, timeouts y pools de hilos en servidores de aplicaciones - Intermedio - Deseable
  • Herramientas SAST/SCA y quality gates - Intermedio - Deseable
  • Observabilidad y APM - Básico/Intermedio - Deseable
  • Internacionalización con archivos de recursos y configuración multi-país - Intermedio - Deseable
  • Integración con motores de casos/BPM y firma digital - Básico/Intermedio - Deseable
  • Nociones de banca digital, regulación local y cumplimiento (p. ej. PCI DSS) - Básico/Intermedio - Deseable

4 a 7 años de experiencia en desarrollo Java EE, idealmente en aplicaciones web de gran escala y alta concurrencia. Experiencia comprobable manteniendo y evolucionando aplicaciones empresariales existentes (código heredado), con criterio para refactorizar sin afectar la estabilidad. Experiencia previa en banca, fintech, pagos u otros sectores regulados con requisitos de seguridad y trazabilidad. Formación como Ingeniero(a) en Sistemas, Informática, Computación o carrera afín. Experiencia trabajando bajo metodologías ágiles (Scrum/Kanban) en entornos con múltiples equipos y proveedores contribuyendo al mismo código base. Rigurosidad y atención al detalle: los cambios impactan a clientes de varios países y pueden afectar transacciones financieras. Disciplina en el seguimiento de procesos de control de cambios, documentación de pases y evidencia de pruebas. Capacidad de coordinación con múltiples equipos y proveedores que contribuyen en paralelo al mismo repositorio. Mentalidad de seguridad: anticipar riesgos, evitar exponer datos sensibles y atender oportunamente los hallazgos. Comunicación clara en español y lectura técnica en inglés; capacidad para documentar decisiones y justificar cambios. Orientación a la estabilidad y a la mejora continua del rendimiento del servicio.

Nuestros valores fundamentales están enfocados en la inclusión y la diversidad. Todas las personas aplicantes serán considerados para el empleo y pasarán por un proceso de reclutamiento justo, independientemente de su raza, religión, identidad de género, orientación sexual, origen nacional o condición de discapacidad. Tu viaje con nosotros inicia aquí!!

Ready to join the team?

Apply now