Backend Architect / Senior Backend Engineer

Descripción del Rol

Buscamos un/a Backend Architect / Senior Backend Engineer para liderar el diseño e implementación de una plataforma backend segura, escalable y mantenible.

Este rol será responsable de las decisiones técnicas clave en arquitectura backend, diseño de APIs, seguridad, autenticación y autorización, persistencia de datos, escalabilidad, resiliencia, observabilidad y patrones de integración. El candidato ideal combina fuertes habilidades hands-on en desarrollo con Node.js/TypeScript con la capacidad de definir estándares de arquitectura y guiar decisiones técnicas dentro del equipo de ingeniería.

Responsabilidades Principales

  • Liderar la arquitectura backend y establecer estándares técnicos, patrones y mejores prácticas de ingeniería.
  • Diseñar servicios escalables y mantenibles usando TypeScript, Node.js y frameworks backend estructurados como NestJS.
  • Definir los límites de servicios, módulos, patrones de integración y arquitectura del sistema.
  • Evaluar enfoques arquitectónicos, incluyendo monolitos modulares y microservicios, en función de los requerimientos de negocio y técnicos.
  • Diseñar y mantener APIs REST seguras, consistentes y versionadas.
  • Definir y mantener contratos de API usando OpenAPI / Swagger.
  • Establecer estándares para el manejo de errores de API, correlation IDs, retries, timeouts e idempotency.
  • Diseñar la arquitectura de autenticación y autorización usando OAuth 2.0, OpenID Connect, JWT, PKCE, MFA, RBAC, claims y permisos.
  • Integrar proveedores de identidad como Microsoft Entra ID / Entra External ID o plataformas equivalentes.
  • Aplicar mejores prácticas de seguridad, incluyendo encryption, hashing, signing, key management, OWASP Top 10 y OWASP API Security.
  • Definir requerimientos de auditoría y trazabilidad para operaciones sensibles y transacciones críticas.
  • Ser responsable de la arquitectura de persistencia usando Azure SQL / SQL Server.
  • Diseñar modelos de datos relacionales, transacciones, estrategias de schema y patrones de acceso a datos.
  • Trabajar con ORMs/tecnologías de acceso a datos como Prisma, TypeORM o Drizzle.
  • Diseñar servicios backend para escalabilidad horizontal, concurrencia y alta disponibilidad.
  • Abordar race conditions, optimistic concurrency, coordinación distribuida y desafíos de shared-state.
  • Definir estrategias de resiliencia, incluyendo retries, timeouts y mecanismos apropiados de manejo de fallas.
  • Diseñar y operar cargas de trabajo backend containerizadas usando Docker.
  • Colaborar con equipos de DevOps/plataforma en infraestructura cloud, CI/CD, deployment y requerimientos operacionales.
  • Establecer estándares de structured logging y observabilidad de aplicaciones.
  • Definir estrategias de testing y calidad backend, cubriendo unit, integration y API testing.
  • Liderar discusiones de arquitectura y contribuir en code reviews de backend.
  • Producir y mantener diagramas de arquitectura, documentación de APIs, decisiones técnicas y estándares de implementación.
  • Colaborar estrechamente con equipos de frontend, mobile, QA, DevOps, seguridad y producto.

Requisitos Excluyentes (Must Have)

  • Experiencia avanzada en desarrollo con TypeScript.
  • Fuerte experiencia hands-on con Node.js y frameworks backend estructurados como NestJS.
  • Sólido entendimiento del event loop de Node.js, Promises, async/await, manejo de errores asincrónicos, concurrency y non-blocking I/O.
  • Sólido conocimiento de arquitectura de software, modularidad, escalabilidad, mantenibilidad y design patterns.
  • Experiencia diseñando APIs REST de nivel producción.
  • Experiencia definiendo contratos de API con OpenAPI / Swagger.
  • Sólido conocimiento de tecnologías de autenticación y autorización, incluyendo:
    • OAuth 2.0
    • OpenID Connect
    • JWT
    • PKCE
    • MFA
    • RBAC y autorización basada en claims
  • Experiencia práctica integrando proveedores de identidad enterprise.
  • Sólido conocimiento de seguridad de aplicaciones, incluyendo cryptography, encryption at rest y in transit, uso seguro de keys y prácticas OWASP.
  • Experiencia avanzada en SQL Server / Azure SQL.
  • Sólido conocimiento de SQL, modelado de datos relacional, transacciones e integridad de datos.
  • Experiencia con ORMs modernos de Node.js o frameworks de acceso a datos.
  • Experiencia diseñando servicios stateless y horizontalmente escalables.
  • Sólido entendimiento de concurrency, race conditions y consideraciones de sistemas distribuidos.
  • Experiencia implementando sistemas resilientes con estrategias apropiadas de retry y timeout.
  • Experiencia construyendo aplicaciones containerizadas usando Docker.
  • Conocimiento avanzado de Git y experiencia trabajando con branching estructurado, pull requests y release workflows.
  • Fuerte experiencia con testing automatizado unitario, de integración y de APIs.
  • Experiencia implementando structured logging y observabilidad de aplicaciones.
  • Capacidad de liderar decisiones técnicas y comunicar arquitectura de forma efectiva.
  • Sólidas habilidades de documentación técnica.

Deseables (Nice to Have)

  • Experiencia con Domain-Driven Design, bounded contexts, aggregates y domain services.
  • Experiencia evaluando e implementando arquitecturas de microservicios o monolito modular.
  • Experiencia con tecnologías de mensajería asincrónica como Azure Service Bus, Kafka o RabbitMQ.
  • Experiencia con Redis o distributed caching.
  • Experiencia identificando y resolviendo cuellos de botella de performance backend relacionados con latencia de APIs, interacciones de base de datos, CPU y uso de memoria.
  • Experiencia en optimización de queries de base de datos y análisis de execution plans.
  • Experiencia en migración de bases de datos y estrategias de rollback.
  • Experiencia con patrones de circuit-breaker y graceful degradation.
  • Experiencia con Kubernetes / Azure Kubernetes Service (AKS).
  • Experiencia con Infrastructure-as-Code usando Terraform o Bicep.
  • Experiencia definiendo estrategias de monitoring y alerting para APIs, infraestructura, bases de datos y sistemas de mensajería.
  • Experiencia dando soporte a testing end-to-end de sistemas.
Job Type: Remote
Allowed Country: Argentina

Solicitar este puesto

Maximum allowed file size is 50 MB. Allowed type(s): .pdf