No Dejaba de Reconstruir Cosas Que Ya Existían
He perdido una cantidad asombrosa de tiempo en este proyecto construyendo cosas que ya existían. Reimplementaciones cuidadosas, pulidas y hechas con cariño de herramientas e infraestructura que el mundo ya tenía: funcionando, probadas y disponibles gratis para quien las quisiera. Cada una me pareció completamente justificada en el momento en que la empecé. Tomadas en conjunto, suman uno de los desperdicios más grandes y más evitables de todo el esfuerzo.
Esto es incómodo de admitir, porque cada caso vino acompañado de una razón que, en su momento, sonaba a buen criterio de ingeniería. Me costó bastante darme cuenta de que esas razones eran casi siempre racionalizaciones de algo que no quería mirar de frente.
Las razones siempre suenan bien
El argumento para construirlo uno mismo nunca es difícil de plantear. El mío encajará mejor con mis necesidades específicas que una herramienta de propósito general. Lo entenderé por completo, hasta la última línea, en lugar de confiar en una caja negra. La opción existente tiene fallos y molestias que puedo evitar. No quiero cargar con la dependencia, el vaivén de versiones, las-decisiones-de-otra-persona que conlleva.
Cada uno de esos argumentos es, en ocasiones, genuinamente cierto. Eso es justamente lo que los hace tan peligrosos. Porque la mayoría de las veces no son la razón real en absoluto: son una tapadera de aspecto respetable para un motivo que no tiene nada que ver con lo que es mejor para el proyecto.
Construir es más divertido que integrar
Aquí está lo honesto que hay debajo, lo que no quería decir en voz alta. Construir algo nuevo es creativo y satisfactorio. Es la parte divertida, la parte que se siente como ingeniería de verdad, la parte donde puedes tomar decisiones y ver cómo algo cobra forma desde la nada. Integrar la herramienta de otra persona, en cambio, es engorroso, frustrante y levemente humillante: leer documentación desconocida, sortear decisiones de diseño que tú no habrías tomado, depurar una interacción que no terminas de entender.
Así que recurría a “lo construyo yo mismo” no porque fuera la decisión correcta, sino porque era la más placentera. Y entonces, lo crucial, disfrazaba esa preferencia con el lenguaje del criterio de ingeniería, presentando una decisión guiada por lo que yo quería hacer como si estuviera guiada por lo que el proyecto necesitaba. Las racionalizaciones eran sinceras. También eran, en su mayoría, un disfraz.
El coste era el problema que de verdad era mío
El precio real ni siquiera eran las semanas que volcaba en cada reinvención, por malo que eso fuera. Era aquello de lo que esas semanas se robaban. Cada tramo que pasaba reconstruyendo un problema ya resuelto era un tramo que no dedicaba al único problema que estaba genuinamente sin resolver y era genuinamente mío: lo que ninguna herramienta existente podía hacer por mí, la pregunta difícil y específica que era la razón entera por la que el proyecto existía en primer lugar.
Eso era lo único en lo que solo yo iba a trabajar. El mundo ya había resuelto la infraestructura genérica; nadie salvo yo iba a resolver mi problema real. Y allí estaba, gastando mi recurso más escaso y valioso —mi suministro limitado de atención concentrada— precisamente en las partes que menos lo necesitaban, mientras la parte que lo necesitaba entero esperaba. Lo tenía exactamente al revés.
La reinvención es un impuesto que pagas para siempre
Lo que también subestimé es que construir tu propia versión no es un coste único. Es un pasivo permanente. La herramienta casera es ahora tuya, para mantener, depurar, ampliar y documentar, para siempre, en soledad. No hay una comunidad que encuentre y arregle sus fallos. No hay más documentación que la que tú escribas. No hay a quién preguntar cuando se rompe de una forma que no entiendes, porque el único experto del mundo eres tú, y ya has olvidado cómo funciona.
La herramienta existente que había despreciado estaba mantenida por mucha gente, endurecida por incontables otros usuarios que dieron con sus límites antes de que yo lo hiciera. Mi reemplazo lo mantenía exactamente una persona cansada con muchas otras cosas que hacer. Esa asimetría no aparece el día en que la construyes. Aparece cada día después, en silencio, como un impuesto sobre todo lo demás, y se acumula.
Cuándo construirlo uno mismo sí es lo correcto
Para ser justo, no quiero pasarme al otro extremo de “nunca construyas nada”. A veces construirlo uno mismo sí es la decisión correcta. Cuando lo que está en cuestión es tu problema central, la parte difícil de verdad, entonces por supuesto que lo construyes: ese es el trabajo. Cuando no existe ninguna opción adecuada. Cuando las opciones existentes están verdadera y específicamente equivocadas por una razón que puedes articular de forma concreta y defender.
Ese último punto se convirtió en mi prueba, y es una prueba útil. Antes de construir un reemplazo para algo que ya existe, ahora me obligo a enunciar, de forma específica y en voz alta, exactamente por qué cada opción existente falla para mi necesidad real. No “preferiría la mía”. No “la suya es molesta”. Una razón concreta y defendible. Si no puedo producir una —y mucho más a menudo de lo que me gustaría, no puedo— entonces no estoy tomando una decisión de ingeniería. Estoy racionalizando la opción más divertida, y debería aburrirme y usar lo que ya funciona.
Gasta tu originalidad donde haga falta
El replanteamiento que más me ayudó fue pensar en el esfuerzo original como un presupuesto estrictamente limitado. Solo tienes cierta capacidad para el trabajo profundo, novedoso y desde cero, y cada unidad de ella que gastas en un problema que el mundo ya ha resuelto es una unidad robada directamente al problema que solo tú puedes resolver. La originalidad es preciosa precisamente porque es escasa, y gastarla en problemas resueltos es el tipo de desperdicio más caro, por aquello que desplaza.
Así que la disciplina, por contraintuitivo que sea, es ser tan aburrido y convencional como te sea posible casi en todas partes —pedir prestado, reutilizar, aceptar la herramienta imperfecta-pero-funcional, tragarte la molestia del diseño de otra persona— precisamente para poder permitirte ser genuinamente original en el único lugar donde la originalidad es realmente el trabajo. Sé implacablemente poco original respecto al vehículo para que te quede algo para el destino.
La lección más profunda: la meta es el destino, no el vehículo
A lo que todo se reducía era a una confusión que no había notado que estaba cometiendo: había equiparado en silencio construir cosas con avanzar. No son lo mismo. Las herramientas son el vehículo. Nunca fueron el destino. Nadie iba a recompensarme jamás por una versión hermosa y hecha a mano de algo que ya existía en una docena de formas, y desde luego al mercado, el juez de verdad, no le importaba lo más mínimo lo elegante que fuera mi fontanería reimplementada.
Lo único que contó siempre fue la distancia recorrida hacia la meta real. Y la reinvención, llegué a entender, es una de las maneras más pintorescas y satisfactorias que existen de quedarse perfectamente quieto: de sentirte productivo, de producir artefactos reales, de trabajar duro y de no llegar exactamente a ninguna parte. El trabajo que evitaba al construir era el único trabajo que de verdad me correspondía hacer.
— Sin señales, sin rendimientos, esto no es asesoramiento de inversión.