De hecho, se podría decir que el código no solo es imperfecto. Es solo un subproducto de lo que estás tratando de lograr. En resumen, el código es perecedero.
Y Brunel es un gran ejemplo de pensar en conceptos perecederos. Por ejemplo, un día tuvo esta maravillosa idea de por qué un código necesita una locomotora delante de él? ¿Qué pasaría si simplemente lo colocara en un tubo de aire, le aplicara presión y moviera los vagones hacia atrás y hacia adelante? Básicamente, inventó el hyperloop. Y eso fue hace aproximadamente 200 años. Y lo construyó, y funcionó, pero no lo suficientemente bien. Así que se dio por satisfecho, y después de medio año abandonaron la idea y se distanciaron de ella. Y creo que esa es a menudo una lección importante que debemos aprender como ingenieros, que no estamos demasiado apegados a las cosas que construimos. Cómo lo implementamos. He visto bastantes conflictos a lo largo del tiempo donde las personas estaban demasiado involucradas en la forma en que resuelven el problema y tenían todo tipo de peleas por básicamente nada, como los puntos y comas o algo así. Así que debemos estar un poco desapegados de lo que estamos construyendo.
Y también hay ventajas. Hace un tiempo me pidieron que investigara este producto que fue construido por un departamento muy diferente, y querían escalarlo en toda la organización a varios departamentos. Y lo revisé, y estaba bastante bien, pero no era completamente semánticamente correcto, podría ser más rápido. Así que fui al equipo original que ya lo mantenía durante dos años, y estaba muy indeciso al respecto, porque básicamente quería proponer reescribir el núcleo de la cosa. Pero presenté mi caso, y en realidad, para mi sorpresa positiva, estaban muy contentos con eso, y resultó en una colaboración realmente buena. Pero la única forma en que eso podría haber funcionado fue porque no se sentían demasiado apegados a lo que estaban construyendo, y aún tenían una visión clara de lo que estaban tratando de lograr, en lugar de lo que estaban escribiendo. De manera similar, también trato de tener en cuenta el hecho de que el código es perecedero cuando reviso PR de otras personas. Y la razón de eso es, básicamente, quiero hacer concesiones en soluciones en lugar de en relaciones. La mayoría de los códigos duran tal vez un par de años. Un negocio puede durar más tiempo. Así que quiero asegurarme de que, como, dondequiera que esté la persona con la que estoy interactuando en el otro lado del PR, mantengamos nuestra relación. A veces, las personas no resolverán los problemas exactamente de la manera en que lo harías tú, lo haría yo. Todos abordan las cosas de manera ligeramente diferente. Creo que eso está bien, y si hay demasiado estrés, puedes tomar nota mental de ello, pero en general, creo que debemos preocuparnos mucho por las relaciones en torno al código. Y creo que eso construye relaciones duraderas. O parafraseando ligeramente a alguien más famoso, ama un poco el código y a los demás como a ti mismo. Esa referencia fue a Sapo. La otra forma de lidiar con las imperfecciones es pensar en las testing.
Comments