Ingeniero de aplicaciones IT - Application Engineer

Full time
Information Technology
Madrid
Aegon Spain

Dentro del equipo de Arquitectura de IT en Aegon, buscamos un perfil para la posición de Ingeniero/a de Componentes. La labor del Ingeniero /a de Componentes consiste diseñar y desarrollar piezas comunes de alta calidad que puedan ser reutilizadas en distintas aplicaciones y casos de uso, así como detectar patrones de uso y proponer mejoras.

El ingeniero se enfrentará a problemas concretos de la tecnología y del negocio, pero debe aproximarse a los mismos con una visión “abstracta” y “universal” que permita que sus soluciones puedan ser fácilmente adoptadas por distintos subsistemas de la arquitectura empresarial.

¿QUÉ BUSCAMOS?

  • Título de Licenciado/a o Ingeniero/a en Informática
  • 5 años de experiencia en el desarrollo de piezas arquitectónicas comunes y reutilizables.
  • Experiencia práctica en Patrones de diseño de ingeniería del software.
  • Protocolos HTTP/HTTPS: cookies, cabeceras. Métodos GET,POST,PUT,HEAD…
  • Desarrollo de microservicios. Desarrollo de API. OAUTH. OpenApi. Swagger. JSON
  • Suite de Spring, SpringBoot, SpringBatch, etc
  • Experiencia de dos años en desarrollos Angular.
  • Sistema operativo: Linux, Windows.
  • Compresión integral de las distintas capas de la tecnología, desde el sistema operativo, capa de datos, backoffice, hasta las capas de presentación y la de conexión
  • Experiencia detallada en entornos de AWS (S3, CodeCommint, SNS, SES, etc)
  • Se valorará experiencia y/o conocimiento con Api Connect de IBM
  • Experiencia en el diseño de sistemas asíncronos.
  • Experiencia en desarrollo de sistemas tolerantes a fallos tanto online, como asíncrono, como batch.
  • Experiencia liderando proyectos complejos de TI.
  • Se valorará conocimiento en lenguaje unificado de modelado (UML): diagramas de casos de uso, de secuencia, colaboración, estado y flujo.
  • Se valorará Lenguaje de base de datos: Oracle PL/SQL, PostgreSQL.
  • Nivel de inglés medio-alto.
  • Capacidad de liderazgo, toma de decisiones y resolución de problemas
  • Habilidades de comunicación y gestión de relaciones.

Deseable:

Herramientas y lenguajes de programación

  • Eclipse / SpringBoot
  • Angular CLI
  • Postman
  • SVN, GIT
  • Visual Studio

LAS FUNCIONES:

  • Articular los requisitos técnicos y funcionales, de producto o servicio, que permiten a Aegon innovar y transformar los modelos de negocio.
  • Desarrollar conocimiento y habilidades en arquitecturas basadas en microservicios.
  • Diseñar, mantener y utilizar patrones de arquitectura de soluciones globales.
  • Identificar áreas en donde sea posible realizar una refactorización del software para obtener piezas comunes coherentes, robustas y reutilizables. Diseñar y desarrollar el cambio, incluyendo el rediseño/refactorización de los sistemas origen para que invoquen al nuevo componente.
  • Estar en permanente contacto con los líderes de la tecnología y del negocio para identificar casos de uso que pudieran ser abordados con las piezas existentes, bien conectando sistemas que ya existen, bien desarrollando una capa de personalización/configuración, bien ampliando la funcionalidad existente.
  • Identificar y documentar el catálogo de piezas existente, leyendo directamente el código y realizando ingeniería inversa donde sea necesario para generar la documentación técnica y funcional que permita al resto de actores de la tecnología entender su funcionamiento.
  • Apoyar como equipo SWAT frente incidencias críticas en los sistemas que requieran una visión cross sobre varias capas de la tecnología (infraestructura, middleware, lógica de negocio, presentación, base de datos, ...)
  • Ayudar a la realización de análisis forenses en incidencias críticas, asistiendo al proceso de análisis de causa raíz y propuesta de planes de acción post-incidencia.
  • Mantenerse al día en las últimas tecnologías mediante el aprendizaje continuo.
  • Debe saber dibujar mapas y diagramas que permitan a los distintos actores (Arquitectura, Desarrollo, Operaciones IT, QA) entender el funcionamiento de las piezas diseñadas tanto desde un punto funcional como técnico. Estos diagramas deberán realizarse con orientación basada en “escenarios o casos de uso”. 
  • Debe ser capaz de proponer soluciones con una visión orientada a la ingeniería del software. Por ello, debe aplicar las mejores prácticas recomendadas por los Patrones de Diseño que permitan que sus desarrollos sean robustos, mantenibles, abstractos, con alta coherencia y mínimo acoplamiento.