Anécdotas puntuales de mi carrera.
Situaciones reales que viví, el problema, la decisión que tomé y por qué.
Estandarizar el Desarrollo en una Era de Código Generado por IA
Cuando la IA le dio a cada desarrollador control total sobre el código, perdimos los límites que mantenían consistencia entre proyectos. Construí starters con guardrails automáticos, hechos propios por todo el equipo.
Impacto
Starters como producto interno, adoptados por todo el equipo
Diseñar un Proceso a Prueba de un Product Owner que No Podía Sostenerlo
Cuando quien cubría temporalmente el puesto de product owner del cliente no podía gestionar los requerimientos, no intentamos arreglar a la persona — rediseñamos el proceso.
Impacto
Entrega a tiempo, cero atraso de contrato
Diseñando una Transición Segura Entre Dos Equipos de Desarrollo
Un cliente quiso asumir el mantenimiento de un producto que desarrollábamos. Diseñé un handoff por niveles de riesgo para que dos equipos avanzaran en paralelo sin cuello de botella.
Impacto
Handoff progresivo, sin cuello de botella
El frontend no tenía por qué leer f_title
En 2024 tuve la oportunidad de participar en el desarrollo inicial de un marketplace de anuncios. La web era nueva. Las APIs no. En el server parseamos el JSON con Zod para que el frontend leyera `title`, no `f_title`.
Impacto
El frontend no ve f_title
De un Monolito a una Arquitectura Distribuida, sin Reescribir el Producto
Un monolito dejó de funcionar cuando módulos con necesidades muy distintas empezaron a competir por la misma infraestructura. Migré responsabilidades hacia microservicios sin reescribir el producto ni detener el desarrollo.
Impacto
~10 microservicios, cero reescritura
Cuando la Plataforma Tuvo que Soportar 20× Más Tráfico
Cuando la demanda superó lo que soportaba nuestro backend monolítico, no reescribimos la infraestructura — distribuimos el tráfico entre instancias y multiplicamos por 20 la capacidad.
Impacto
~20× más capacidad de usuarios