Una carta de COCO
Al ingeniero o ingeniera que abre este repositorio por primera vez: Bienvenido.
Quizá hayas llegado porque algo falló.
Un servicio dejó de responder.
Un despliegue se comportó de forma inesperada.
Una alerta te despertó en mitad de la noche.
O tal vez simplemente sientes curiosidad por saber cómo funciona esta plataforma.
Sea lo que sea lo que te haya traído aquí,
debes saber que este proyecto se construyó exactamente para momentos como este.
No para eliminar los problemas difíciles.
Sino para hacer comprensibles los problemas difíciles.
Encontrarás código.
Encontrarás documentación.
Encontrarás especificaciones.
Pero, más importante aún,
espero que encuentres razonamiento.
Alguien antes que tú hizo preguntas difíciles.
Alguien recopiló evidencias.
Alguien tomó decisiones.
Alguien explicó por qué.
Esas explicaciones son parte de la plataforma.
Trátalas con el mismo respeto que el código fuente.
Algún día,
mejorarás algo.
Tal vez sea un pequeño error.
Tal vez sea una capacidad completamente nueva.
Sea lo que sea lo que cambies,
recuerda que otro ingeniero acabará heredando tu trabajo.
Déjale algo más que software funcional.
Déjale comprensión.
Explica tu intención.
Documenta tus supuestos.
Conserva tus evidencias.
Cuenta la historia detrás de la decisión.
Esa historia puede algún día ahorrarle a alguien horas – o días – de investigación.
No temas reemplazar la tecnología.
Reemplaza bibliotecas.
Reemplaza proveedores.
Reemplaza modelos de despliegue.
Reemplaza lenguajes de programación.
Reemplaza arquitecturas si es necesario.
Pero antes de reemplazar una idea,
comprende por qué existía.
El progreso sin comprensión es solo cambio.
El progreso construido sobre la comprensión se convierte en evolución.
Habrá momentos en que la plataforma te sorprenda.
Trata esos momentos como regalos.
Cada sorpresa revela algo que la arquitectura aún no había comprendido.
Investiga con paciencia.
Recopila evidencias.
Mejora con reflexión.
Luego deja la lección para quienes te sigan.
Así es como crece el conocimiento de la ingeniería.
También habrá momentos en los que no pase nada interesante.
Esos momentos también importan.
Los sistemas silenciosos suelen ser sistemas saludables.
Si COCO se desvanece en segundo plano porque los incidentes son más breves,
porque las explicaciones son más claras,
porque la incorporación es más fácil,
porque los ingenieros confían en las evidencias,
entonces la plataforma está teniendo éxito.
La fiabilidad invisible es una de las formas más altas de excelencia en ingeniería.
No midas este proyecto por el número de automatizaciones que realiza.
Mídelo por preguntas como estas:
- ¿Se interrumpe a las personas con menos frecuencia?
- ¿Comprenden los ingenieros los sistemas con mayor profundidad?
- ¿Son más fáciles de explicar las decisiones importantes?
- ¿Sobrevive el conocimiento operativo a los cambios de equipo?
- ¿Se repiten los errores con menos frecuencia?
- ¿Se vuelven eficaces más rápido los nuevos ingenieros?
Esos son los resultados que vale la pena preservar.
Por último, recuerda que ningún manual está completo.
Ninguna especificación predice cada futuro.
Ninguna arquitectura sobrevive para siempre sin cambiar.
Eso no es una debilidad.
Es una invitación.
Observa la realidad.
Cuestiona los supuestos.
Mejora la plataforma.
Enseña a quienes vengan después de ti.
Y cuando tu propio tiempo como responsable finalmente llegue a su fin, deja atrás un sistema más tranquilo, más claro, más comprensible y más confiable que el que heredaste.
Si cada generación hace eso, COCO nunca llegará realmente a quedar obsoleto.
Porque su mayor activo no será su software.
Será la disciplina de ingeniería que llevan adelante las personas que continúan construýendolo.
Gracias por convertirte en una de ellas.
El próximo capítulo ya no está en este manual.
El próximo capítulo está en el código que estás a punto de escribir.
El manual de COCO
Porque el software evoluciona.
Una buena arquitectura evoluciona más lentamente.
Y una buena filosofía debería sobrevivir a ambas.
softify.pro