Anécdotas puntuales de mi carrera.

Situaciones reales que viví, el problema, la decisión que tomé y por qué.

De un Monolito a una Arquitectura Distribuida, sin Reescribir el Producto

Un monolito era la decisión correcta al principio, hasta que módulos con necesidades muy distintas empezaron a competir por la misma infraestructura. Introduje una capa de providers para migrar responsabilidades hacia microservicios sin reescribir el producto ni detener el desarrollo, con foco en aislar fallas: que un servicio secundario se caiga no debería tumbar el core.

Impacto

~10 microservicios, cero reescritura

Cuando la Plataforma Tuvo que Soportar 20× Más Tráfico

Durante la pandemia, la demanda y las campañas promocionales empezaron a llevar nuestra infraestructura mucho más allá de lo que soportaba un backend monolítico de instancia única. En vez de migrar a Kubernetes o reescribir la infraestructura, distribuí el tráfico con múltiples instancias detrás de Apache como balanceador de carga y distribución a nivel DNS en el frontend, multiplicando por 20 la capacidad de usuarios en un período muy corto.

Impacto

~20× más capacidad de usuarios

Diseñando una Transición Segura Entre Dos Equipos de Desarrollo

Un cliente armó su propio equipo de IT y quiso asumir el mantenimiento de un producto que desarrollábamos en un monorepo dependiente de un CMS. Diseñé un sistema de clasificación por riesgo, una rama de maintenance sincronizada y entornos de preview con Docker y GitLab CI/CD para que dos equipos avanzaran en paralelo sin volverse un cuello de botella.

Impacto

Handoff progresivo, sin cuello de botella

Estandarizar el Desarrollo en una Era de Código Generado por IA

Cuando pasamos de plataformas low-code a que cada desarrollador tuviera control total del código con asistentes de IA, perdimos los límites invisibles que mantenían consistencia entre proyectos. Construí starters y herramientas internas con guardrails verificables automáticamente, y convertí su evolución en un proceso colaborativo con el equipo.

Impacto

Starters como producto interno, adoptados por todo el equipo