In July 2018 I sat down to prepare for an interview and wrote some notes nobody was ever going to read.
They’re still in my Drive: telegraphic, in English, subject swallowed, the way I write when nobody is watching.
And in the middle of the list of things I wanted to say there’s one line that sums up the previous nine years better than anything I could write today:
Although very happy in my position, feel have reached my top in this company.
Very happy where I was, and at the top of it. Which is a polite way of saying there was nothing left to build there.
I got the job, so we moved to the Netherlands and I became a raw material planner at a chemical multinational.
Another country, another language in the office, another sector.
And another monkey, waiting for me.
The new monkey had thirty fields
At a terminal, repetitive work is visible: it’s a book you open a thousand times, a sheet you fill in with a biro. At a multinational, repetitive work lives inside a system, and the system has a name everybody knows and almost nobody defends.
Entering an order means opening a screen, typing a number, tabbing, typing another, switching tab and confirming. Multiply that by a week’s worth of orders.
None of those keystrokes needs my fifteen years in the trade: they need me sitting there.
A stranger described it better than I could, in a forum: “only 15% of your screen is usable, showing 4 out of the 30 columns you need to fill at a time.”
It isn’t that it’s hard: it’s that it’s beneath the time of someone who knows what they’re doing.
In the previous chapter I gave this a name: monkeywork, work you could train a monkey to do.
The difference with the terminal is that here a spreadsheet wasn’t enough. A spreadsheet calculates; it doesn’t type for you.
Wednesday, 14 June 2023, 14:38
That’s the exact time of the first work message I ever wrote to a machine. I know because it’s in the archive, with its timestamp, and I don’t have to make it up.
It wasn’t a philosophical question about artificial intelligence. It was this:
In excel, want following macro
And underneath, pasted in, a slab of code I’d got by recording my own clicks inside the system. Fifty lines of absurd paths (window zero, toolbar one, button seventeen) reproducing exactly what I did with the mouse every day.
I couldn’t program that. I knew it existed, I knew how to record it, and I knew what I wanted it to do: instead of one number typed by hand, take the whole list from a column of my spreadsheet and enter it on its own.
At 15:29 the same day, an hour and a half later, I wrote this:
macros not enebled in excel, how to enable
Typo included. The bloke who was going to automate the orders of a multinational didn’t have Excel macros switched on yet.
I tell this for a reason: the story of someone picking up a new tool is always told from the end, once it works.
And the real beginning is this: a Wednesday afternoon, not knowing how to enable macros, pasting in a slab you don’t understand.
Seventy-six messages
That’s what I spent in June 2023. I’ve counted them in the archive: seventy-six.
And they weren’t seventy-six different questions. They were the same four, over and over:
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?
That’s the whole day: paste, fail, paste, fail.
Nobody telling this on a stage tells it that way, since it doesn’t sound good, but it was all there was: pushing at an error you don’t understand until it stops showing up.
What did change, and I didn’t see it until I reread it three years later, was what I started asking the following Monday.
“Explain it to me line by line”
19 June, 12:41. After five days of fighting with it:
can you explain me this code line by line?
And seven minutes earlier, the sister question:
in this code, what does ebelnValue stay for?
What a variable meant. Not what the program did: what that word meant inside the program.
That’s where I stopped asking the machine for things and started learning from it. It’s a two-line difference in a chat and it’s all the difference in the world, since the first gives you a file and the second gives you a trade.
Three years later, directing agents that write real code, I still do exactly the same thing: have it explained to me before I let it run.
It’s the same rule I learned at the terminal with a blend that went wrong. You never sign off on what you don’t understand.
The black market in macros
Some of the code I worked with wasn’t mine. It circulated.
Somebody passed me a file with a function inside it for connecting to the system, written by another
person at another time, and in that function there was a variable christened MalditoShell — bloody
shell. Right at the bottom, commented out so it would never run, a note of self-congratulation its author
had left behind.
I laughed and moved on. Today it strikes me as the most important fact in this chapter.
It means there were people, in different corners of an enormous company, sorting their working lives out under the table with macros passed from hand to hand.
None of those tools existed officially, none was documented and none was maintained, which meant each one would die with its author the day they changed jobs.
I already knew why that happens, and somebody put it better than me in another forum, talking about a similar system: “change backlog was 2-3 years. It took us a year to get a single button added.”
Two or three years of queue for a change, a whole year to get one button.
When the official channel takes two years, the tool gets written by whoever is suffering the problem. And it gets written in hiding, badly, untested and with nobody to inherit it.
From deleting to creating
In August and September I went up a rung. It was no longer deleting lines in bulk: it was creating whole orders from a sheet — supplier, quantity, date, requisitioner — reading each row of a spreadsheet and leaving it written into the system.
And in the middle of those conversations there’s one request of mine that gives me away more than any other:
can you add the message “operation complete” once script has finished?
A notice. That the macro should tell me when it had finished.
It looks like nothing and it’s the lesson of chapter one resurfacing fourteen years later: a tool amplifies error exactly as much as it amplifies success.
If something is going to write on its own into a system where things weigh tonnes and cost money, it has to tell you it’s done and it has to stop when something doesn’t add up.
Today I call that the human gate and it’s in every system I build. In 2023 it was a message box at the end of a macro.
On Sunday 27 August, at 23:06, I asked it how you present a demand balance for a raw material.
A Sunday at eleven at night. I don’t put that in as a merit, but because it explains where the hours came from.
And then, nothing
This is where the story should speed up. It doesn’t.
The numbers in the archive, month by month: seventy-six messages in June 2023, two in July, twenty-one in August, nine in September and five in November.
And in the whole of 2024, eighteen.
Eighteen messages in an entire year. I had the weapon on the table and I’d seen what it did, and I went back to the routine anyway.
There was no ban, no boss telling me not to waste my time, no defeat. There was something far more common: the macros already built kept working and the work around them didn’t change, so I stopped looking.
That’s the monkey striking back. It doesn’t beat you: it waits for you.
Thirteen out of eighteen
Of those eighteen messages in 2024, thirteen are from a single week in September. And they aren’t about automating anything.
Friday the 13th, 22:44: duties and responsibilities of an operations manager at a marine fuels storage terminal. That same night, a shift rota for a terminal running twenty-four hours with twenty operators, with the breaks Spanish law requires for the petrochemical sector.
Saturday the 14th, 09:22: an action plan for the first month in the job, and some indicators to measure it.
The day before, I’d asked how to handle an interview so as to end up in a partly remote position.
So: in the year I used the machine least, I used it almost only to go back to a terminal. To the place from chapter one.
It’s the archive, not my memory, that has told me this: I remembered 2024 as a year with nothing in it.
And it turns out what was in it was a door I spent a whole weekend looking at.
What I took from here
Two things, and neither of them is a macro.
The first is the question: explain it to me line by line.
It’s the only thing separating someone hoarding files they don’t understand from someone who ends up knowing how to do it, and it works the same for a macro in 2023 as for an agent in 2026.
The second is less comfortable: a new weapon doesn’t change a job if nobody changes the job.
I automated my part and it worked, but everything carried on exactly the same, since what I’d fixed was my afternoon and not the process. Nobody else used it and nobody else knew about it, which meant the system put me back where I’d been without breaking a sweat.
The good lesson from chapter one was to share the tool, and here I didn’t share it.
The result was a year and a half of silence and a weekend looking for the way out.
With what came next I learned that you don’t fix that with a better tool. But that’s the next chapter.