Todo pensamiento complejo necesita un andamiaje. No me refiero a la metáfora: hablo de estructuras reales, de herramientas que sostienen el peso de construir mientras construyes. Entendí esto no leyendo filosofía, sino cuando tuve que diseñar sistemas que otros debían entender sin yo estar ahí.
El problema del conocimiento tacit
Hace poco trabajé en una arquitectura de software donde varias personas necesitaban operar piezas que solo yo había visto completas. El problema no era el código; el código estaba ahí, estructurado. El problema era que la decisión detrás de cada pieza vivía solo en mi cabeza.
Un colega llegaba y se preguntaba: "¿Por qué esta validación va aquí y no allá?" La respuesta era lógica, pero vivía en un contexto que yo llevaba adentro. Y el contexto, cuando no lo externalizas, es invisible.
Eso es lo que llamo el andamiaje: no el código en sí, sino el sistema de representación que lo explica. Una documentación que no sea un muro de texto muerto. Un esquema. Una decisión bien nombrada. Un comentario que no dice qué hace el código, sino por qué decidiste que fuera así.
Las herramientas que piensan por ti
Pasé años viendo cómo empresas grandes guardaban sus sistemas en silos mentales de una o dos personas. Cuando esa persona se iba, el sistema se quedaba huérfano. No es culpa de la persona; es que nadie había invertido en exteriorizar la inteligencia que le daba forma.
Eso cambió cuando empecé a usar herramientas que obligan a pensar hacia afuera. No me refiero a software complejo. Me refiero a:
- Un esquema de carpetas que se lee como un argumento.
- Una variable llamada
ALLOW_STALE_DATAen lugar deFLAG_X, porque el nombre mismo te dice por qué existe. - Un archivo
decisions.mdque documenta no qué hace el sistema, sino qué problemas resuelve y cómo elegiste resolverlos. - Una lista de dependencias declarada de forma explícita, porque oculta las dependencias es ocultar el pensamiento.
Estos no son lujos. Son el andamiaje que permite que otro cerebro entre en el sistema sin necesidad de que vos traduzcas cada paso.
La arquitectura es una forma de pensar
Aquí es donde la filosofía y la ingeniería convergen para mí. Una arquitectura buena no es buena por eficiencia; es buena porque refleja la inteligencia del problema.
Si tu sistema es un nudo imposible de entender, es porque probablemente no comprendiste bien el nudo en primer lugar. Cuando comprendo de verdad un problema, lo primero que pasa es que el código se simplifica, las capas caen en su lugar natural, y de repente otros pueden entenderlo sin explicación.
Eso es lo que pasó con Agora, con Prizma. No fue que gastara meses escribiendo documentación. Fue que la arquitectura en sí comunicaba. Las convenciones eran obvias. Las decisiones justificadas. El andamiaje visible.
Pensar es separar bien
El acto de construir un sistema fuerza una precisión que el pensamiento vagabundo no tiene. Cuando intentas modelar un dominio en código, cada concepto debe tener límites. La identidad de un usuario no es una cadena; es una responsabilidad que pertenece a una capa. El conocimiento sobre transacciones no vive mezclado con cómo se visualizan; están separados, cada uno en su lugar.
La filosofía llama a eso distinción: separar bien lo que es diferente. La ingeniería lo práctica todos los días.
Y aquí está el insight: cuando haces esto bien en código, el pensamiento sobre el dominio mejora. Empiezas a ver conexiones que no veías. Descubres que dos cosas que creías separadas están acopladas. O que una complejidad aparente desaparece cuando aislas bien los conceptos.
El andamiaje es permanente
La tentación de cualquier ingeniero es pensar: "Algún día habremos resuelto todo y no necesitaremos documentación." Es falso. Lo que pasa es que confundes el andamiaje con la construcción.
El andamiaje no desaparece cuando terminas. Solo se vuelve invisible para quien ya domina el sistema. Pero sigue ahí. Cuando alguien nuevo llega, cuando vos mismo vuelves después de seis meses, cuando quieres cambiar una decisión: el andamiaje es lo que te permite razonar sobre el sistema sin tener que cargar todo en la cabeza de una vez.
Por eso los mejores sistemas que he visto no eran los más tecnológicamente sofisticados. Eran los que tenían una estructura tan clara, una documentación tan precisa de por qué, que cualquiera podía entrar, leer, entender, y proponer cambios sin que todo se desmoronara.
Conclusión: la claridad es el reto
Al final, esto no es sobre tecnología. Es sobre si tenés el disciplina intelectual de hacer visible lo que está en tu cabeza.
La mayoría no. Prefieren guardárselo, creyendo que eso los hace indispensables. Yo prefiero lo opuesto: hacer sistemas que no necesiten de mí. Eso no me quita poder; me lo multiplica.
Porque cuando el andamiaje está claro, otros pueden pensar en la altura donde yo pienso. Y eso es donde comienzan las ideas buenas en serio.
— Steven Vallejo, Medellín