Un error de producción ya no me despierta a mí

Si trabajas en algo que puede romperse a las 3 de la mañana, conoces este nudo: la alerta, el teléfono, y tú —siempre tú— levantándote a apagar el incendio. Durante años, ese fui yo.

Llevo meses, día tras día, construyendo el sistema que me saca de esa silla. Esta semana conecté la pieza que faltaba.

Ahora, cuando uno de nuestros productos lanza un error de verdad, se dispara solo un agente investigador. Nadie lo nota, nadie le asigna la tarea: el evento mismo lo despierta. Clona el repo en una máquina desechable, lee el error real desde nuestra propia observabilidad, propone el arreglo —y ahí me espera. Yo apruebo. Recién entonces actúa y abre el pull request.

No fue limpio. Durante días aprobaba y 'no pasaba nada’: un agente compartido chocaba consigo mismo, y una aprobación se tragaba el trabajo dentro de un rescue silencioso. Persiguiendo el porqué encontré al culpable —un permiso de una sola línea que faltaba en una lista—. Recién ahí el ciclo corrió solo de punta a punta.

Y la primera vez que funcionó en producción me dejó frío: no solo arregló lo que le señalé. Razonó sobre la clase de bug y encontró otra ocurrencia del mismo problema que yo no había visto.

No lo escribo como alarde. Lo escribo por la pregunta que me dejó. Llevo meses automatizando todo lo que hago. Si apagar incendios ya no es mi trabajo —¿cuál es?

La respuesta, por ahora, es el botón de aprobar. El agente propone; yo sigo siendo el que dice sí. Mañana le sigo afinando. Pero esta noche, por primera vez, ese error no me va a despertar a mí.