Nuestro cliente es una reconocida compañía de seguros.
REQUERIMIENTOS
- Experiencia en roles claves de ingeniería, tales como: líder técnico, líder de equipo de desarrollo, arquitecto de software, arquitecto de soluciones y similares.
- Experiencia liderando equipos de desarrollo de productos de software.
- Experiencia en desarrollo orientado a pruebas (Test Driven Development), pruebas unitarias, etc.
- Experiencia en diseño y construcción de productos de software, soluciones digitales, web services, entre otros.
- Conocimientos de programación en C# con Microsoft .Net Core.
- Conocimientos de Microsoft Azure.
- Conocimientos de arquitecturas de micro-servicios, contenedores (Dockers y Kubernetes), experiencia en diseño y construcción de micro-servicios como proveedor y como consumidor.
- Conocimientos de arquitecturas asíncronas y basadas en eventos.
- Conocimientos de diseño orientado por dominio (Domain Driven Design).
- Conocimientos en temas de seguridad como OAuth, encriptación, hashing, tracking, entre otros.
- Manejo de herramientas: GIT para versionamiento, POSTMAN, base de datos PostgreSQL.
- Capacidad probada en diseñar soluciones robustas y escalables que balancean la complejidad, calidad y velocidad (time to market).
RESPONSABILIDADES
- Evaluar y mejorar el desempeño y la mantenibilidad de las aplicaciones y servicios.
- Asesorar a los equipos de desarrollo para desarrollar aplicaciones seguras, escalables, confiables y eficientes.
- Hacer la revisión del código desarrollado (code review) por los programadores y sugerir formas de mejorarlo.
- Investigar, evaluar, diseñar y desarrollar soluciones para atender la deuda técnica.
- Proveer guía y ayudar al equipo a resolver problemas relacionados con la programación, integraciones, componentes front-end, componentes back-end, componentes de infraestructura, componentes de terceros y el desempeño general de las aplicaciones construidas.
- Diseñar y ejecutar pruebas de concepto (POC) para mejorar el stack tecnológico que maneja la empresa.
- Modernizar las aplicaciones monolíticas hacia una arquitectura basada en micro-servicios.
- Evaluar e integrar las aplicaciones propias con softwares y componentes de terceros cuando sea necesario.
- Trabajar de la mano con otros arquitectos para coordinar y administrar las dependencias entre diferentes servicios, plataformas y equipos técnicos.
- Entender los requerimientos técnicos y de negocio necesarios para soportar exitosamente los lanzamientos de los productos digitales.
- Participar en todas las ceremonias ágiles de su equipo.
- Trabajar de cerca con el Product Owner y el equipo para entender y revisar los requerimientos (épicas, historias de usuario), con el fin de proponer soluciones técnicas eficientes y efectivas.
- Ser mentor de su equipo técnico (desarrolladores front-end, back-end, full-stack, ingenieros QA, DevOps).