Descripción del rol
Responsable de implementar, mejorar y mantener los sistemas y aplicaciones del banco, asegurando el cumplimiento de los requerimientos funcionales y no funcionales. Participa en el diseño técnico de soluciones, desarrolla código de alta calidad y apoya al equipo durante todo el ciclo de vida, desde la construcción hasta la puesta en producción. Promueve buenas prácticas de desarrollo, propone mejoras al proceso y garantiza que las implementaciones cumplan con las políticas, lineamientos y estándares definidos por los Chapters, CoEs y Gerencias
Responsabilidades
- Desarrollar soluciones de alta calidad utilizando las mejores prácticas de ingeniería. Incluye implementar funcionalidades backend garantizando eficiencia, correctitud y cumplimiento de estándares y frameworks definidos.
- Implementar y ejecutar pruebas de calidad temprana (unitarias, integrales y funcionales). Asegura estabilidad, reduce reprocesos y mejora la confiabilidad de los despliegues.
- Resolver incidencias y corregir defectos en ambientes de calidad y productivos. Incluye soporte a QA, atención de errores en despliegues y garantizar continuidad operativa.
- Revisar y evaluar código de pares para asegurar el uso de estándares y patrones definidos. Promueve calidad técnica, consistencia y buenas prácticas en el equipo.
- Proponer e implementar reglas de inspección de código en pipelines CI/CD. Permite mejorar la automatización, calidad del código y cumplimiento de lineamientos de arquitectura.
- Participar en el diseño técnico y proponer arquitecturas para soluciones de media y alta complejidad. Incluye análisis técnico, alternativas de solución y soporte al arquitecto en la definición de diseños.
- Promover y asegurar la generación de código limpio, escalable y mantenible. Incluye reducción de complejidad, estandarización y mejora continua del proceso de desarrollo.
- Elaborar documentación técnica clara y completa conforme a lineamientos establecidos. Blueprints, diagramas, manuales y artefactos que respalden la solución.
- Coordinar, apoyar y ejecutar procesos de control de cambios y despliegue
Requisitos del perfil
- Título de tercer nivel en Sistemas / Computación / Informática o afines.
- Dominio del lenguaje y paradigmas. Java (sintaxis, librerías estándar, manejo de colecciones, concurrencia).POO y programación funcional (inmutabilidad, lambdas, streams, composición).
- Patrones de diseño y arquitectura de microservicios. Patrones GOF, DDD (cuando aplique), cohesión/ bajo acoplamiento.Diseño de microservicios: APIs bien definidas, modularidad, versionado.
- Integración y diseño de APIs. RESTful y documentación con OpenAPI/Swagger. Integración con APIs complejas, idempotencia, control de errores, observabilidad.
- Seguridad de servicios Autenticación y autorización: JWT, OAuth2, OpenID Connect, SAML2. Aplicación de OWASP Top Ten y alineamiento con ISO 27001.
- Calidad temprana y pruebas automatizadas. Pruebas unitarias, de integración, de contrato y mutación. Frameworks y herramientas: JUnit/Mockito, Spring Cloud Contract, cobertura y métricas de calidad.
- Buenas prácticas de ingeniería. Clean code, legibilidad, mantenibilidad, reutilización. Estándares de revisión de código y guías de estilo.
- Bases de datos y rendimiento. SQL relacional: modelado/normalización, transacciones, optimización de consultas, índices, planes. Estrategias avanzadas: replicación, particionamiento, caché. NoSQL: modelado, implementación y configuración.
- DevOps, CI/CD y contenedores. Git: flujos de ramas, resolución de conflictos, prácticas de PR. Pipelines CI/CD: diseño y configuración, gates de calidad, escaneo estático, pruebas en el pipeline. Contenedores: Docker (build, volúmenes, permisos); nociones de orquestación según el contexto.
- Observabilidad y operación. Debugging, logging y troubleshooting efectivos. Métricas, trazas y alertas para diagnosticar incidentes en entornos productivos.
- Ecosistema Java moderno. Dominio práctico de Spring Boot/Spring Framework (core IoC, web, data). Spring Cloud (cuando aplique), contratos, configuración, resiliencia.
Herramientas - Lenguajes Que avalen el campo de acción:
- Java y Spring Boot (sintaxis, librerías, inyección de dependencias, APIs).
- Diseño e implementación de APIs REST (OpenAPI, manejo de errores, escalabilidad).
- Bases de datos SQL (SQL Server, Oracle, PostgreSQL): modelado y optimización.
- Bases de datos NoSQL (MongoDB, Neo4j): modelado y uso según casos de negocio.
- Mensajería y eventos con Kafka o RabbitMQ.
- Cloud y DevOps en Azure (Azure DevOps, Repos, pipelines).
- Git y CI/CD (versionamiento, pipelines, contenedores).
- Seguridad de microservicios (JWT, OAuth2, OpenID Connect, OWASP).
- Calidad de software (pruebas unitarias, integración, contrato).
- Herramientas de colaboración (Jira, Confluence, Teams, Draw.io, IcePanel).