En julio de 2018 me senté a preparar una entrevista y escribí unas notas que no iba a leer nadie.
Están en mi Drive todavía: telegráficas, en inglés, con el sujeto comido, como escribo yo cuando no me está mirando nadie.
Y en medio de la lista de cosas que quería decir hay una frase que resume los nueve años anteriores mejor que cualquier cosa que pudiera escribir hoy:
Although very happy in my position, feel have reached my top in this company.
Muy contento donde estaba, y arriba del todo. Que es una forma educada de decir que ya no había nada que construir ahí.
Conseguí el puesto, así que nos mudamos a los Países Bajos y me convertí en planificador de materias primas en una multinacional química.
Otro país, otro idioma en la oficina, otro sector.
El mono nuevo tenía treinta campos
En una terminal el trabajo repetitivo se ve: es un libro que abres mil veces, una hoja que rellenas a boli. En una multinacional el trabajo repetitivo vive dentro de un sistema, y el sistema tiene un nombre que todo el mundo conoce y casi nadie defiende.
Meter una orden es abrir una pantalla, escribir un número, tabular, escribir otro, cambiar de pestaña y confirmar. Multiplícalo por las órdenes de una semana.
Ninguna de esas pulsaciones requiere mis quince años de oficio: requieren que yo esté sentado ahí.
Un desconocido lo describió mejor que yo en un foro: «only 15% of your screen is usable, showing 4 out of the 30 columns you need to fill at a time». Solo el quince por ciento de la pantalla sirve, y te enseña cuatro de las treinta columnas que tienes que rellenar.
No es que sea difícil: es que es indigno del tiempo de alguien que sabe lo que está haciendo.
En el capítulo anterior le puse nombre a esto: monkeywork, trabajo para el que podrías entrenar a un mono.
La diferencia con la terminal es que aquí no bastaba una hoja de cálculo. La hoja calcula; no teclea por ti.
Miércoles, 14 de junio de 2023, 14:38
Esa es la hora exacta del primer mensaje de trabajo que le escribí a una máquina. La sé porque está en el archivo, con su marca de tiempo, y no me lo tengo que inventar.
No fue una pregunta filosófica sobre la inteligencia artificial. Fue esto:
In excel, want following macro
Y debajo, pegado, un churro de código que había sacado grabando mis propios clics dentro del sistema. Cincuenta líneas de rutas absurdas (ventana cero, barra de herramientas uno, botón diecisiete) que reproducían exactamente lo que yo hacía con el ratón todos los días.
Yo no sabía programar aquello. Sabía que existía, sabía grabarlo, y sabía lo que quería que hiciera: que en vez de un número escrito a mano, cogiera la lista entera de una columna de mi Excel y la fuera metiendo sola.
A las 15:29 de ese mismo día, hora y media después, escribí esto:
macros not enebled in excel, how to enable
Con la errata incluida. El tipo que iba a automatizar las órdenes de una multinacional no tenía todavía activadas las macros de Excel.
Cuento esto por una razón: la historia de alguien que empieza con una herramienta nueva siempre se cuenta desde el final, cuando ya funciona.
Y el principio real es este: un miércoles por la tarde, sin saber activar las macros, pegando un churro que no entiendes.
Setenta y seis mensajes
Eso es lo que gasté en junio de 2023. Lo he contado en el archivo: setenta y seis.
Y no fueron setenta y seis preguntas distintas. Fueron las mismas cuatro, una y otra vez:
is this code correct? I get following error: failed to connect to SAP GUI when I call the above code nothing happens can you write the complete code with this modification?
Es el día entero: pegar, fallar, pegar, fallar.
Nadie que cuente esto en una charla lo cuenta así, pues no queda bien, pero es lo único que había: insistir con un error que no entiendes hasta que deja de aparecer.
Lo que sí cambió, y no lo vi hasta releerlo tres años después, fue lo que empecé a preguntar el lunes siguiente.
«Explícamelo línea a línea»
19 de junio, 12:41. Después de cinco días peleándome:
can you explain me this code line by line?
Y siete minutos antes, la pregunta hermana:
in this code, what does ebelnValue stay for?
Que qué significaba una variable. No qué hacía el programa: qué significaba esa palabra dentro del programa.
Ahí dejé de pedirle cosas a la máquina y empecé a aprender de ella. Es una diferencia de dos frases en un chat y es toda la diferencia del mundo, pues lo primero te da un fichero y lo segundo te da un oficio.
Tres años después, cuando dirijo agentes que escriben código de verdad, sigo haciendo exactamente lo mismo: que me lo expliquen antes de dejarlo correr.
Es la misma regla que aprendí en la terminal con una mezcla que salió mal. Nunca se firma lo que no se entiende.
La economía sumergida de las macros
Parte del código con el que trabajé no era mío. Circulaba.
Alguien me pasó un fichero que llevaba dentro una función para conectar con el sistema, escrita por
otra persona en otro momento, y en esa función había una variable bautizada MalditoShell. Al final
del todo, comentado para que no se ejecutara nunca, un mensaje de felicitación a sí mismo que su
autor se había dejado ahí.
Me reí y seguí. Hoy me parece el dato más importante del capítulo.
Eso significa que había gente, en distintos sitios de una empresa enorme, resolviéndose la vida por debajo de la mesa con macros que se pasaban de mano en mano.
Ninguna de esas herramientas existía oficialmente, ninguna se documentó y ninguna se mantuvo, por lo que cada una se moriría con su autor el día que cambiara de puesto.
Yo ya sabía por qué pasa eso, y alguien lo dijo mejor que yo en otro foro, hablando de un sistema parecido: «change backlog was 2-3 years. It took us a year to get a single button added».
Dos o tres años de cola para un cambio, un año entero para conseguir un botón.
Cuando el canal oficial tarda dos años, la herramienta la escribe el que sufre el problema. Y la escribe a escondidas, mal, sin pruebas y sin quien la herede.
De borrar a crear
En agosto y septiembre subí un peldaño. Ya no era borrar líneas en masa: era crear órdenes enteras desde una hoja, con su proveedor, su cantidad, su fecha y su solicitante, leyendo cada fila de un Excel y dejándola escrita en el sistema.
Y en medio de esas conversaciones hay una petición mía que me delata más que ninguna otra:
can you add the message “operation complete” once script has finished?
Un aviso. Que la macro me dijera cuándo había terminado.
Parece una tontería y es la lección del capítulo uno reaparecida catorce años después: una herramienta amplifica el error igual que amplifica el acierto.
Si algo va a escribir solo en un sistema donde las cosas pesan toneladas y cuestan dinero, tiene que decirte que ha acabado y tiene que pararse cuando algo no cuadra.
Hoy a eso lo llamo el gate humano y está en todos los sistemas que construyo. En 2023 era un aviso al final de una macro.
El domingo 27 de agosto, a las 23:06, le pregunté cómo se presenta un balance de demanda de una materia prima.
Un domingo a las once de la noche. No lo pongo como mérito, sino porque explica de dónde salían las horas.
Y luego, nada
Aquí es donde esta historia debería acelerar. No acelera.
Los números del archivo, mes a mes: setenta y seis mensajes en junio de 2023, dos en julio, veintiuno en agosto, nueve en septiembre y cinco en noviembre.
Dieciocho mensajes en un año entero. Tenía el arma encima de la mesa y había visto lo que hacía, pero volví a la rutina igual.
No hubo una prohibición, ni un jefe diciéndome que no perdiera el tiempo, ni una derrota. Hubo algo mucho más común: las macros ya hechas seguían funcionando y el trabajo de alrededor no cambió, así que dejé de mirar.
Eso es el mono contraatacando. No te vence: te espera.
Trece de dieciocho
De aquellos dieciocho mensajes de 2024, trece son de una sola semana de septiembre. Y no van de automatizar nada.
Viernes 13, 22:44: funciones y obligaciones de un jefe de operaciones de una terminal de almacenaje de combustibles marinos. Esa misma noche, un diagrama de turnos para una terminal que trabaja veinticuatro horas con veinte operadores, con los descansos que marca la ley española para el sector petroquímico.
Sábado 14, 09:22: un plan de acción para el primer mes en el puesto, y unos indicadores para medirlo.
El día antes había preguntado cómo afrontar una entrevista para acabar consiguiendo un puesto semipresencial.
O sea: en el año en que menos usé la máquina, la usé casi solo para volver a la terminal. Al sitio del capítulo uno.
Es el archivo, no la memoria, el que me ha contado esto: yo recordaba 2024 como un año sin nada dentro.
Y resulta que lo que había dentro era una puerta que estuve mirando un fin de semana entero.
Lo que me llevé de aquí
Dos cosas, y ninguna es una macro.
La primera es la pregunta: explícamelo línea a línea.
Es lo único que separa a quien acumula ficheros que no entiende de quien acaba sabiendo hacerlo, y sirve igual para una macro en 2023 que para un agente en 2026.
La segunda es más incómoda: un arma nueva no cambia un trabajo si nadie cambia el trabajo.
Yo automaticé mi parte y funcionó, pero todo siguió exactamente igual, pues lo que había arreglado era mi tarde y no el proceso. Nadie más lo usaba y nadie más lo sabía, por lo que el sistema me devolvió al sitio de antes sin despeinarse.
La lección buena del capítulo uno era compartir la herramienta, y aquí no la compartí.
El resultado fue año y medio de silencio y un fin de semana buscando la salida.
Con lo que vino después aprendí que eso no se arregla con una herramienta mejor. Pero eso es el capítulo siguiente.