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.

Finalidades, resultados y dimensiones

FINALIDADES
ACCIÓN / FUNCIÓN
¿QUÉ HACE? | ¿DÓNDE LO HACE?
RESULTADOS
RESULTADO FINAL ESPERADO
¿PARA QUÉ LO HACE?

Desarrollar los sistemas, aplicaciones y soluciones de Banco.

Contribuir con el cumplimiento de los requerimientos funcionales, no funcionales y de seguridad determinados en la solución.

Evaluar el código de pares, así como proponer reglas de inspección de código en ductos CI/CD

Contribuir con el cumplimento de los criterios de aceptación

Promover y acompañar al equipo en la generación del código limpio en el desarrollo de soluciones, que incluya menos reprocesos, complejidad y mayor estandarización.

Garantizar calidad en el desarrollo, escalabilidad y tiempo de entrega de las soluciones mejorando los estándares del código desarrollado.

Actividades 1/3

  • 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.

Actividades 2/3

Actividades 3/3

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)

Generales

•    Cumplir las funciones de Dueño o Coordinador de proceso según sea designado en el mapa y matriz respectivos; con énfasis en la gestión holística de los procesos, que incluye su diseño, optimización, control y mejora continua. En estos roles de dueño o coordinador, la administración del proceso representa una gestión integral del desempeño de su proceso, los recursos habilitantes de los mismos, su permanente ejecución y despliegue de mejora continua y acciones correctivas y preventivas.

•    Ejecutar las actividades y tareas señaladas para el Rol de Dueño/ Coordinador de Proceso, que constan en  la Metodología de Gestión por Procesos de Banco Pichincha C.A.

•    Impulsar la integración e implementación del Sistema de Gestión de Seguridad y Salud y Ambiente. Revisar sus roles y responsabilidades

•    Participar como BRIGADISTA DE EMERGENCIA o MIEMBRO del COMITÉ O SUBCOMITÉ PARITARIO DE SEGURIDAD Y SALUD cuando así se lo requiera y garantizar su participación como la de sus dirigidos, si son nombrados.

Competencias

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