Monday, March 25, 2013

Arquitectura Efímera.

Tenía en mente empezar esta entrada haciendo referencia al disco de Fangoria que se llama igual que esta entrada: "Arquitectura Efímera". Referencia, ahora que lo pienso, un poco tonta que pensaba aprovechar para hacer un guiño a algunos colegas que seguramente serían los únicos a los que les podría hacer un poco de gracia.

El caso es que buscando por Google imágenes o vídeos para ilustrar la tontería, me he enterado de que existe de verdad una disciplina de la Arquitectura que se llama así: Arquitectura Efímera, y que se centra en el diseño de construcciones que no tienen propósito de perdurar en el tiempo. Por ejemplo: decorados, ferias, stands, etc.

Y ahora que ya tengo la entradilla destrozada, voy al grano ...

Acabo de terminar de leer el libro "97 cosas que todo programador debería saber", de la editorial O'Reilly. Es un libro que, como su propio título aventura, se divide en 97 capítulos, cada uno escrito por un gurú de la programación.
No obstante, se subtitula como: "Conocimiento colectivo de los expertos" (¿como lo viste?).

En realidad, se nota que a muchos de los expertos lo pilló la editorial "a salto de mata"  y los comprometieron a traición para colaborar en el libro. Algunos expertos se vengaron malamente escribiendo cosas como "Algo mágico ocurre cuando testers y programadores trabajan juntos." (sic). O algún que otro capítulo que es una fumada en toda regla de principio a fin.

De todas formas, la mayoría son consejos muy útiles e interesantes para cualquier programador que quiera mejorar.
Uno de los consejos que mas me ha llamado la atención de todos; me ha llamado tanto la atención como para escribir una entrada en este blog que lleva tres años abandonado, es el que escribe Yuriy Zubareb, a la sazón, arquitecto en la consultora ThoughtWorks (donde trabajan gurús como Martin Fowler o Rebecca Parsons), en que habla justamente de lo efímero que es el código, o mejor dicho, que no es.

Bueno, en realidad su consejo no es ese. Su consejo es: "Escribe código como si fueras a mantenerlo el resto de tus días". Que, a la postre, termina siendo un alegato en pro de la mantenibilidad y la extensibilidad del código, ponerse en la piel de compañero que lo va a mantener, etc.

Al terminar su capítulo deja la siguiente frase (aviso, traducción mía que puede ser mas o menos chapucera):

Si te paras a pensarlo, el código que escribiste hace muchos años sigue influyendo en tu carrera, quieras o no. Sin querer, vas dejando una rastro de tus conocimientos, actitud, tenacidad, profesionalidad, nivel de compromiso y grado de diversión (N. del T: degree of enjoyment, que no se traducir mejor.) en cada método, clase y módulo que has diseñado y escrito. La gente se formará opiniones sobre tí basándose en el código que vean. Si estas opiniones son negativas, sacarás menos rendimiento a tu carrera de lo que esperas.
Puede parecer una obviedad pero estoy convencido de que muy poca gente que se dedica (o que nos dedicamos, me incluyo) a programar lo habíamos pensado así. No somos conscientes del rastro que estamos dejando detrás de nosotros. El software que construimos es menos efímero de lo que creemos en un principio y, si lo pensamos da hasta vértigo (al que lo tenga claro, que hay alguno que le da todo absolutamente igual. Eso sí, luego se quejan...)
En mi caso, haciendo memoria, creo que la mayoría de lo que he escrito en los últimos 9 años sigue rondando por ahí...aunque con los recortes y la crisis ya no estoy del todo seguro de que aún quede alguien por ahí, cagándose en todo al utilizar el FWPA.

Ah, y por cierto....