INGENIERO SOFTWARE SR - QUITO

Propósito general

Desarrollar, probar, mejorar, innovar las soluciones/aplicaciones de Banco, cumpliendo los estándares/lineamientos y plazos establecidos, para proveer mejora continua en el "Ciclo de Desarrollo de Software“ de acuerdo a políticas, procedimientos y lineamientos de su línea de supervisión.

Actividades

  • Desarrollar, evaluar y mejorar los sistemas, aplicaciones y soluciones de Banco.
  • Realizar evaluación/Revisión de código en pares.
  • Proponer reglas de revisión/inspección de calidad de código.
  • Acompañar al equipo en la generación de código de calidad, con el fin que se apliquen las mejoras practicas existentes en industria y las definidas por los COEs/Chapters.
  • Definir, implementar pruebas de calidad temprana, asi como automatizaciones a las mismas.
  • Definir, sugerir e implementar patrones de arquitectura de software en las soluciones.
  • Proporcionar sugerencias a las arquitecturas de soluciones propuestas por los Arquitectos.
  • Tener un claro entendimiento de las métricas del "Ciclo de Desarrollo de Software" y proponer/ejecutar planes para mejorar las mismas.
  • Cumplir con los criterios de aceptación a fin de contribuir con el cumplimiento de los requerimientos funcionales, no funcionales, tiempo de entrega de las soluciones.
  • Implementar soluciones de acuerdo a políticas, procedimientos, lineamientos y estándares definidos por los Respectivos COEs, Chapters, Áreas.
  • Asegurar que la aplicación/solución pase todas las etapas del "Ciclo de Desarrollo de Software" y llegue al ambiente productivo.
  • Apoyar en la gestión de impedimentos y bloqueantes.
  • Proponer soluciones innovadoras para mejorar el "Ciclo de Desarrollo de Software", tomando como referencia prácticas y productos de industria.
  • Resolver incidencias y corregir defectos reportados en ambientes No-Productivos y Productivos.
  • Asegurar y cuestionar la correcta definición/estimación/refinamiento de Historias de Usuario.
  • Generar la documentación técnica de desarrollo definida por el Chapter.

Educación

  • Título profesional Ingeniería de sistemas o ciencias de la computación.​

  • Certificaciones en ámbito de Tecnología de Información

Experiencia

  • Mayor a 5 años de experiencia en la tecnología definida ​

  • Back: Java. y/o NET ​

  • Front: Next.js, Angular, ReactJS o React Native​

  • Sólida experiencia en el uso de dockers y kubernetes​

  • Solida en prácticas y disciplina de ingeniería de software (paradigmas de ingeniería, patrones de diseño, calidad de código)

Conocimiento

  • Conocimientos de JIRA y Confluence

  • Conocimientos y trabajo con Scrum y Kanban

  • Slicing, estimación de Historias de Usuario

  • Técnicas de estimación/refinamiento de Historias de Usuario (INVEST)

  • Desarrollo en Pares y Revisión de código

  • Desarrollo en Tecnologías definidas por el Chapter

  • Conocimiento y trabajo con Bases de datos Relacionales y no relacionales

  • Conocimientos de principios SOLID, teóricos y en implementaciones

  • Conocimientos en Programación Orientada a Objetos teóricos y en implementación

  • Conocimientos teóricos y prácticos en programación funcional

  • Conocimiento y aplicación de desarrollo Basado en Pruebas (TDD)

  • Patrones de Diseño para desarrollo de Software

  • Patrones de Arquitectura de Software (Ej: MVC, Hexagonal, Tradicional)

  • Patrones de Arquitectura de aplicaciones (Microservicios)

  • Implementación de Servicios Rest

  • Conocimientos de tipos de Pruebas (pirámide de pruebas)

  • Automatización de APIS

  • Pruebas de Rendimiento, Carga, Estrés

  • Generación de pruebas unitarias, mutación, integración

  • Conocimiento y Trabajo con Contenedores (Dockers)

  • Conocimiento teórico, utilidad, casos de uso de Kubernetes

  • Implementación de soluciones con Kubernetes (Escalabilidad, balanceo, Monitoreo)

Competencias

Hacemos que las cosas sucedan
El cliente es nuestra prioridad
Hacemos banca en versión fácil
Soy protagonista de mi desarrollo
Juntos somos más
Actuamos como Dueños