➜ ~ $ whoami
Victor Benavides
Líneas de pensamiento para los devs que aman compartir…
dev fullstack, backend de corazón — escribo sobre arquitectura, trade-offs y lecciones aprendidas a la mala.
$ git log --oneline
todos los posts →- 5 min de lectura
Tu presupuesto de reintentos dura más que la paciencia de tus usuarios
Un panel interno fallaba de forma intermitente. Cinco causas plausibles medidas y descartadas, una trampa de medición creada por mí mismo, y una base de datos ociosa 180 horas de 182.
- 3 min de lectura
¿Quién vigila al chequeo externo?
Un lector preguntó cómo se mantienen confiables los chequeos externos con el tiempo. La respuesta honesta es: en parte. Lo que existe, una corrección al post anterior, y la brecha que encontró la pregunta.
- 5 min de lectura
El arreglo tumbó producción por tres días
En agosto escribí sobre un webhook que dejaba arrancar servicios rotos, y lo arreglé. La semana pasada ese arreglo se negó a admitir su propio reemplazo. No hay una configuración correcta, solo una elección de falla y una cuenta que viene con ella.
- 3 min de lectura
Tu alerta se cerró sola
Siete alertas se dispararon cuando producción dejó de funcionar. Dos horas y cuarenta y cinco minutos después, el monitoreo anunció que la telemetría estaba restaurada. Nada estaba restaurado.
- 5 min de lectura
Salí a producción dos días antes y me salté el plan de pruebas
Una semana después de publicar un post sobre disciplina de releases, la corrección honesta: el release anterior salió antes de tiempo, sin el recorrido humano. Y los seis defectos de mi propio runbook que solo ejecutarlo pudo encontrar.
- 3 min de lectura
Integrar no es desplegar
Integrado, desplegado y verificado son tres estados distintos, y una sola palabra los esconde a los tres. Las dos brechas entre ellos, con un caso real de este mismo blog.
- 5 min de lectura
Todos los lunes despliego para nadie
Un tren de releases semanal, un congelamiento, un sábado de pruebas y una lista de treinta y cinco casillas — para una plataforma que todavía no tiene clientes pagando en producción. Por qué la ceremonia llegó antes que el riesgo.
- 3 min de lectura
Encuentra el camino que tiene una persona esperando
Todo sistema tiene un camino donde hay un ser humano parado ahí, esperando. Encuéntralo y saca de él todo lo opcional — una nota corta sobre por qué las puertas siguieron funcionando mientras nadie podía iniciar sesión.
- 6 min de lectura
Tus pruebas corren en un mundo que no existe
Nueve días operando el control de acceso de un evento real produjeron cero builds fallidos y cinco sorpresas. Ninguna era un bug: eran categorías enteras de falla que una suite no puede ver por construcción.
- 7 min de lectura
Lo que hace falta para operar la puerta de un evento real
Feria Arequipa le confió a mi plataforma el control de acceso: gente real, puertas reales, sin segundas oportunidades. Los números, el viernes en que se rompió durante el evento, y las otras tres cosas que salieron mal.
- 6 min de lectura
Nada estaba roto. Costaba $900 al mes.
Ninguna alerta se disparó, ningún dashboard se puso rojo, ningún usuario se quejó. La infraestructura estaba sana, ociosa y era cara — y lo único que terminó avisándome fue una factura.
- 6 min de lectura
La IA no lo publicó. Tú sí.
Aprobé features escritas por IA que cruzaron en silencio mis propios límites de arquitectura, y pasé dos días deshaciéndolo. El agente no se equivocó — la regla que rompió nunca había salido de mi cabeza.
- 6 min de lectura
Le puse una terminal a mi blog. La migración no era el punto.
Hace siete días este blog era una pestaña de un website builder que evitaba abrir. Desde entonces le creció una terminal, un segundo idioma y un pipeline de publicación. La mudanza fue una tarde; lo que vino después es el argumento real.
- 6 min de lectura
Los roles no son permisos: por qué esconder una página no es un guard
El item del menú desapareció, así que la funcionalidad estaba segura. Después alguien escribió la URL. Lo que la autorización multi-tenant me enseñó sobre lo que un usuario ve, lo que es, y lo que realmente puede hacer.
- 5 min de lectura
49 microservicios, una falla invisible: cuando “Running” no significa que funciona
El side project sobre-ingenieriado ahora es una plataforma de 49 servicios corriendo eventos en vivo. Un incidente de viernes por la noche donde todo estaba en verde y nada funcionaba — y la lección de una línea que dejó.
- 5 min de lectura
Reconstruí este blog en una tarde con un par de IA. Esto es lo que no pudo hacer.
Diez meses de silencio, una tarde de trabajo: cómo este blog dejó Squarespace por un stack propio — y un balance honesto de lo que hizo la IA versus lo que todavía me necesitó a mí.
- 5 min de lectura
Overengineering: ¿visión de futuro, ego, o solo una forma de aprender?
Construí 25 microservicios a sabiendas para un prototipo que pudo ser un monolito. Por qué lo volvería a hacer — y cuándo tú no deberías.
- 4 min de lectura
gRPC vs REST: debugging, observabilidad y la realidad de la adopción
REST se siente como casa porque lo puedes debuggear con una pestaña del navegador. gRPC es mejor en el papel — ¿entonces por qué adoptarlo sigue doliendo?
- 5 min de lectura
La relación amor-odio con las entrevistas de código: por qué la velocidad le está ganando a la calidad
Árboles binarios, colas de mensajes imaginarias y cero autocompletado: lo que miden las entrevistas de código versus lo que de verdad es el trabajo.
- 3 min de lectura
Velocidad vs. código limpio: lecciones de C# y JavaScript/TypeScript
¿Lo entregas hoy o lo haces mantenible para mañana? Cómo el lenguaje en el que trabajas te empuja en silencio hacia un lado del trade-off.