PROPOSITO DEL ROL
El Senior Full Stack Engineer es el nucleo de ejecucion tecnica de los equipos de Aviva. Trabaja bajo la guia del Lead Full Stack Developer y con las prioridades gestionadas por el Delivery Manager, lo que le permite enfocarse completamente en construir software de calidad. Pero no es un ejecutor pasivo: se espera que detecte problemas mas alla de su tarea, proponga mejoras con sustento tecnico, revise PRs con perspectiva de negocio y arquitectura, y sea capaz de planificar la reduccion de deuda tecnica de forma realista.
RESPONSABILIDADES
Desarrollo Full Stack con Stack Microsoft
- Implementar soluciones completas en C# / .NET en backend y Blazor o React.js en frontend.
- Desarrollar y consumir APIs RESTful y servicios orientados a eventos con contratos explicitos.
- Modelar y gestionar datos en SQL Server y MongoDB eligiendo la herramienta correcta segun el dominio.
- Implementar logica de negocio compleja respetando SOLID, DDD y arquitectura desacoplada.
Integracion de Servicios Azure
- Integrar Azure Service Bus y Queues para comunicacion asincrona con manejo de dead-letter y reintentos.
- Conectar aplicaciones a Azure Key Vault con Managed Identity para gestion segura de secretos.
- Usar Azure Storage Accounts (Blobs, Tables) para persistencia de archivos y assets.
- Integrar modelos de IA de Azure (OpenAI, Cognitive Services) en flujos de backend de forma mantenible.
- Implementar autenticacion con Azure AD / Entra ID, MSAL y flujos OAuth2 / OIDC.
Revision de PRs con Vision de Negocio y Arquitectura
- Revisar Pull Requests desde una perspectiva triple: correctitud tecnica, impacto arquitectonico y coherencia con la logica de negocio.
- Detectar si un cambio introduce acoplamiento innecesario, rompe un contrato de API o viola una regla de negocio implicita.
- Rechazar o escalar PRs que resuelven el ticket pero introducen problemas sistemicos.
- Dar feedback especifico y constructivo explicando el razonamiento detras de cada observacion.
Deteccion y Gestion de Deuda Tecnica
- Identificar deuda tecnica proactivamente, incluso fuera del alcance de la tarea asignada.
- Clasificar la deuda detectada por impacto (produccion, desarrollo, escalabilidad) y urgencia.
- Proponer planes de reduccion incrementales, realistas y ejecutables sin paralizar al equipo.
- Distinguir entre deuda que debe corregirse ahora, la planificable y la que puede aceptarse conscientemente.
Calidad y Observabilidad
- Escribir tests unitarios e de integracion como parte natural del desarrollo.
- Instrumentar el codigo con logs estructurados y trazas usando Application Insights.
- Configurar alertas que permitan detectar anomalias en produccion antes de impactar al usuario.