Se busca un desarrollador Senior experimentado para ejecutar un plan de trabajo detallado, resultado de una auditoría de código fuente. El sistema fue desarrollado internamente utilizando tecnologías C# para el backend y Angular para el frontend. El objetivo principal es implementar las mejoras y correcciones identificadas en el informe de auditoría para optimizar el rendimiento, la mantenibilidad y la calidad general del código. Se requiere un profesional con sólidas habilidades en ambas tecnologías y capacidad para seguir un plan de trabajo estructurado.
detalle de plan de trabajo a realizar:
hallazgos de auditoría sonarqube
backend api (.NET 8/6)
Total: 144 issues detectados
Crítico: 15 hallazgos (12 blocker, 3 critical)
🔴 urgente: 12 credenciales hardcodeadas expuestas (azure storage keys)
validación ssl insegura en
authservice.cs
94 issues en SAP Service Layer (string literals, DTOs mal encapsulados)
Frontend Angular
Total: 500 issues detectados
Crítico: 9 hallazgos
Principal: 369 propiedades deberían ser readonly (73.8%)
23 problemas de accesibilidad (eventos de teclado faltantes)
22 APIs deprecadas (HTMLDocument)
Qué Necesitamos
Desarrollador senior con experiencia en:
.NET 8/6, C#, Clean Architecture, CQRS, MediatR
Angular 12+, TypeScript, RxJS
Azure Key Vault y gestión de secretos
Entity Framework Core y optimización de queries
Patrones de resiliencia (Polly, circuit breaker, retry)
ESLint/SonarQube y mejores prácticas de calidad de código
Alcance del Trabajo
1. Remediación crítica sonarqube:
backend
revocar y migrar credenciales a azure key vault
configurar variables de entorno en deployment pipelines
corregir validación ssl insegura
implementar .gitignore para archivos sensibles
Refactorizar SAP Service Layer (constantes, encapsulación)
Frontend
Configurar ESLint rule 'prefer-readonly' y ejecutar autofix
Corregir problemas de accesibilidad (keyboard events)
Actualizar APIs deprecadas (HTMLDocument → Document)
2. Quick Wins de Análisis Manual:
Agregar correlationId a errores
Jobs resilientes (manejo de error por destinatario)
UX: errores inline sin romper flujo
3. Optimizaciones:
Excel Import: precargar catálogos (reducir de O(N×M) a O(N))
CommissionsJob: batch updates
PaymentReminders: null-checks y plantillas
4. 10 Propuestas Técnicas:
Autorización/RBAC + audit logs
Idempotencia en jobs y comandos
Resiliencia: timeout + retry + circuit breaker
Performance: índices, paginación, eliminar N+1
Observabilidad: correlation IDs, logs estructurados
Hardening auth: TTL reducido, lockout, rate limiting
Validación y dedupe de datos
UX: componentes compartidos, KPIs accionables
QA: unit tests, E2E smoke, load tests
CI/CD: gates obligatorios, scanning, SBOM
Entregables
Código con PRs revisables
Tests unitarios e integración
Documentación técnica de cambios
Métricas before/after
Plan de despliegue + rollback
Evidencia de corrección de hallazgos SonarQube
Recursos Necesarios
Acceso a repos (backend C# + frontend Angular)
Acceso DB dev/staging
Azure Key Vault credentials y permisos
Docs de integraciones (SAP, SMTP)
Matriz de roles (RACI)
Ambiente staging + seed data
Acceso a SonarQube para verificar remediaciones
Criterios de Éxito
SonarQube: 0 vulnerabilidades BLOCKER/CRITICAL
SonarQube: Reducción de 80%+ en issues MAJOR
10 propuestas implementadas con evidencia
Performance P95/P99 reducido ≥30%
Cero errores críticos post-deploy (1 semana)
Cobertura de tests +20% en módulos críticos
Credenciales migradas a Azure Key Vault (0 hardcoded)
Plazo de Entrega: No definido