Historia — La arquitecta
Fue Óscar quien los mandó a la conferencia, y fue Óscar quien, sin saberlo, cerró el círculo.
—Hay una jornada técnica en Barcelona el mes que viene. Legacy, migraciones, esas cosas vuestras. —Dejó dos entradas impresas sobre la mesa del equipo, con su brusquedad de siempre, que ya nadie confundía con hostilidad—. La empresa paga. Id los dos y volved con algo robado. Una idea, digo.
El programa venía doblado con las entradas. Júlia lo hojeó distraídamente durante el café… y se quedó helada en la página tres.
«Sistemas que no mueren: por qué tu legacy es tu mejor activo» — Sílvia Rocamora, consultora independiente.
Le enseñó la página a Denís sin decir nada. Denís leyó, alzó las cejas, volvió a leer.
—Puede ser casualidad. Rocamora, Roca… hay mil apellidos con roca.
—Denís. —Júlia puso el móvil sobre la mesa. Había buscado el nombre: la web profesional era sobria, sin foto, veinte años de experiencia «en sistemas de gestión», consultoría de «modernización sin reescritura». La bio no mencionaba ninguna empresa anterior a 2019—. ¿Una consultora especializada en exactamente lo que pone en el cuaderno de faro, con casi el mismo nombre, y sin foto?
Se lo contaron a Gabriel esa tarde, con la delicadeza de quien maneja material sensible. Gabriel escuchó, y se quedó un rato largo mirando la ventana.
—Rocamora era el apellido de su madre —dijo al fin. Y después, con una media sonrisa que le costó visiblemente—: «Sistemas que no mueren». Será cabezota. Diez años, y sigue dando la misma charla que me daba a mí en el bar.
—Vente —dijo Júlia—. Óscar nos paga dos entradas. Seguro que caza una tercera.
—No. —Lo dijo rápido, sin margen. Luego, más lento—: Yo fui el que borró su trabajo, Júlia. Veintidós meses de su vida, rm y a otra cosa. Da igual quién diera la orden. Fueron mis manos. —Se ajustó las gafas—. Hay copias de seguridad que no me tocaba hacer a mí. Id vosotros. Y si… —se detuvo, empezó otra vez—. Nada. Id.
La sala era mediana y estaba llena. Silvia Roca — Sílvia Rocamora, cincuenta y pocos, el pelo gris recogido de cualquier manera, gafas de leer subidas a la frente — hablaba sin diapositivas de adorno: capturas de código real, anonimizado, y una manera de contar que Júlia reconoció al segundo párrafo, porque llevaba un año leyéndola. La misma sequedad cariñosa. La misma manía de avisar de los peligros con imágenes domésticas.
—…y entonces alguien dirá en una reunión: «sería más rápido hacerlo de nuevo». —Pausa. Recorrió la sala con la mirada—. Levantad la mano los que hayáis oído esa frase este año. —Bosque de manos, risas—. Ya. Ahora bajadla los que trabajéis en una empresa que sobreviviría a equivocarse con esa frase. —Las risas se apagaron de forma interesante—. De eso vengo a hablar. No de código. De supervivencia. El código viejo y feo que os avergüenza delante de los recién llegados es, casi siempre, el único sitio de toda vuestra organización donde está escrito cómo funciona de verdad vuestro negocio. Está mal escrito, sí. Pero está escrito. Tiradlo, y os quedaréis con lo que teníais antes de escribirlo: opiniones.
Cuarenta minutos después, cuando terminó entre aplausos, Júlia tenía tres páginas de notas y el pulso ligeramente acelerado. Esperaron a que se deshiciera el corrillo de después de la charla. Cuando por fin quedó libre, recogiendo su portátil, Júlia se acercó con Denís a media zancada por detrás.
—¿Silvia Roca?
La mujer levantó la vista. Sonrió con cortesía profesional y una milésima de cautela.
—Rocamora.
—Trabajamos en Meridian Sistemas. —Júlia lo dijo suavemente, y vio con toda claridad cómo la cortesía se quedaba inmóvil, como un vídeo pausado—. Mantenemos ATLAS. Yo… —y de pronto todo el discurso que traía preparado le pareció un trámite absurdo, así que lo saltó entero—: Encontré faro. Hace un año. Lo he leído todo, muchas veces. Hemos construido el módulo de facturación como dicen los capítulos cuatro, cinco, seis y siete. Está en producción desde marzo. Vesta se queda. Y la palabra «abono» ya significa tres cosas a propósito, con una frontera y una aduana en medio.
Silvia Roca no dijo nada durante un tiempo que a Júlia se le hizo geológico. Miró a Júlia, miró a Denís, volvió a Júlia. Se quitó las gafas de la frente, muy despacio, como quien gana segundos para decidir qué cara poner, y no decidió ninguna: le salió una que claramente no controlaba.
—¿Gabriel no lo borró? —Fue lo primero que dijo. La voz le salió con una grieta.
—Gabriel no fue capaz. —Júlia tragó saliva—. Nos lo dio a entender él, en realidad. Dejó pistas. Lleva diez años siendo el guardián de un repositorio muerto esperando a que alguien lo encontrara, porque le pediste que no lo borrara, y él… él borra muy mal las cosas que importan.
—Dice que hay copias de seguridad que no le tocaba hacer a él —añadió Denís, que llevaba callado un récord personal—. No ha querido venir. Por si te lo preguntas. No se atreve.
Silvia se sentó en el borde de la tarima, sin ninguna ceremonia, con su portátil abrazado contra el pecho, y estuvo un rato mirando el suelo de la sala vacía.
—Escribí esos cuadernos en tres semanas —dijo por fin—. De noche, en la oficina, mientras firmaba mi salida. Estaba… —buscó la palabra con cuidado, como hacía por escrito— …estaba en el peor momento de mi vida profesional, y probablemente del resto también. Todo el mundo tenía ya su versión de por qué Fénix había muerto, y en todas las versiones salía mi nombre. Y yo pensaba: vale. Perdida por perdida, que al menos quede el mapa de las minas. No para defenderme. Para el siguiente. —Levantó la vista—. Nunca supe si «el siguiente» era alguien real o era yo perdonándome. ¿Entiendes lo que te digo? Escribes un mensaje, lo metes en una botella, la tiras. La botella no es para nadie. La botella es para poder soltarla.
—Llegó —dijo Júlia—. Leí. Sirvió.
—Ya. —Silvia se pasó la muñeca por los ojos, rápido, sin drama, y soltó una risa corta—. Ya lo veo. —Respiró—. Cuéntamelo todo. No, espera. —Miró el reloj, hizo un cálculo, lo deshizo—. A la porra la siguiente charla. ¿Hay café en este sitio?
Hubo café. Hubo dos horas y media de café. Júlia y Denís lo contaron todo: los 4.700,32 €, el arnés de los trescientos doce casos, la telaraña en la cocina, el pósit de Óscar — «¿ese pósit lo escribió Gabriel imitándome? Qué poca vergüenza» —, el céntimo de coma flotante — aquí Silvia cerró los ojos y murmuró «el tipo que no sabe mentir, dos mil once, madre mía» —, la lámina plastificada de Marta — «esa mujer hizo de anticorruption layer con su vida y encima le pedís perdón por Excel, espero» —, la víspera, el interruptor, las 212 facturas.
Y al final, Júlia sacó el portátil y abrió el documento que en realidad había venido a enseñarle, aunque no lo hubiera reconocido ni ante sí misma: un fichero markdown, corto, titulado «ADR 0001 — Arquitectura limpia con módulos DDD», firmado por el equipo de facturación de Meridian.
—Cuando terminamos el módulo, escribimos esto. Qué decidimos, por qué, qué descartamos, qué precio tiene. Está en el repositorio, al lado del código. Óscar lo firmó también. —Dudó—. La idea la sacamos de un proyecto open source que usamos de referencia. Pero la costumbre… la costumbre es tuya. Faro era esto, ¿no? Decisiones con su porqué, escritas para el que viene después. Solo que faro lo tuviste que escribir sola, de noche y demasiado tarde. Este lo hemos escrito entre todos, a tiempo y a la luz del día.
Silvia leyó el documento entero, despacio, dos veces, con el dedo parándose en algunos renglones — «dependencies always point inward», «una cadena de casos de uso en la factoría es un caso de uso que falta» —, y cuando terminó estuvo un rato sin decir nada, mirando la pantalla, con una expresión que Júlia tardó en descifrar porque no la había visto nunca en ella: sin ironía, sin sequedad, sin coraza ninguna.
—¿Sabes qué es esto? —dijo al fin, tocando la pantalla con el dorso del dedo—. Es la prueba de que no hacía falta que nadie se quemara. —Se recostó—. Yo aprendí todo lo que sabes tú a base de incendios. Fénix, los céntimos, Marta-la-de-entonces que se llamaba Encarna y también tenía chuletas. Cada lección me costó una cicatriz, y las escribí con la soberbia secreta de que las cicatrices eran el precio del conocimiento. Y ahora vienes tú, veinticinco años, y me enseñas las mismas lecciones aprendidas en poco más de un año, sin quemar nada, leyendo y conversando. —Sacudió la cabeza despacio—. Que es como siempre se pudo. Esa es la última lección del oficio, chavales, y no está en el faro porque la estoy aprendiendo esta tarde: la experiencia propia está sobrevalorada. Lo profesional es aprender de las cicatrices de otro.
Pagó los cafés, apuntó su correo personal en la libreta de Júlia — el de verdad, «no el de la web, ese lo lee mi asistente» — y ya de pie, con la mochila al hombro, se detuvo.
—Decidle una cosa a Gabriel. —Miró hacia la ventana un momento—. Decidle que la única copia de seguridad que importaba la hizo él. Y que me debe un café de máquina de los de antes, de los de un euro con veinte. —Se colgó la otra asa—. Y que si vuestro Óscar quiere auditoría externa del segundo módulo, mis tarifas para Meridian tienen descuento de antigua alumna. De la empresa, ¿eh?, no del oficio. Del oficio la antigua alumna soy yo. La escuela era esa oficina horrible con el póster de Star Wars. ¿Sigue el póster?
—Sigue —dijo Denís.
—Todo lo importante sigue —dijo la arquitecta, y se fue por el pasillo de la conferencia, mezclándose con la gente, una señora de pelo gris con una mochila, indistinguible de cualquiera, como todos los faros de día.
El lunes siguiente, Júlia encontró a Gabriel en la sala de servidores a primera hora, etiquetando cables que no necesitaban etiqueta. Le transmitió el mensaje palabra por palabra: la copia de seguridad, el café de un euro con veinte.
Gabriel asintió. Siguió etiquetando un rato, de espaldas. Luego dijo, con una voz perfectamente normal salvo por completo:
—Un euro veinte. Se acuerda del precio. —Carraspeó—. La máquina nueva cobra uno cincuenta, le va a parecer un escándalo.
Y esa fue toda la conversación, porque hay hombres de una generación que lloran ordenando cables, y lo cortés es dejarles.
En su mesa, Júlia abrió el editor. El equipo del segundo módulo — acuerdos comerciales, cuatro personas ya, con Loli de experta de dominio en préstamo — esperaba el esqueleto inicial. Creó el directorio, y después, antes que ninguna carpeta de código, creó un fichero y lo dejó abierto, con el cursor parpadeando bajo el título, para escribirlo entre todos en la reunión de las diez:
docs/adr/0001-arquitectura-limpia-con-modulos-ddd.md
Decisiones con su porqué, escritas a tiempo y a la luz del día, para el que viene después.
El que viene después. Júlia miró un momento hacia la mesa donde un año y pico atrás una junior con la mochila puesta no sabía dónde estaba nada, y le sonrió al cursor como una idiota, y se puso a trabajar.