For the past couple of years, a lot of us Software Engineers have spent a lot of our time trying to not get left behind.
But where are we going? And what are we being left behind from?
The token prediction genie
Ever since ChatGPT was released to the world 3 years go, the core functionality behind Agentic coding and LLMs has remained the same. It is a machine learning model which tokenises input, and then produces what the next most likely token is to be. It has a “context window”, so the next token it predicts is within the context of the whole window.
Layers and layers have been added to make this a much more robust, sophisticated, and useful process. The introduction of “thinking” or “reasoning” was a big one. It is still very much doing the same thing, but using itself to break down the problem into smaller steps.
Originally we used the genie to help us auto-complete our code, but on steroids. It was pretty impressive, but sometimes quite wrong. We were still in control. There was not yet much fear of being left behind.
Then we introduced more layers. A more chat based interface. Where we came up with what we now call “agentic coding”. It started with tools, and then MCP. We gave the genie ways to interact with the world without us acting as the middle man. The first tool I used that falls into this category was GitHub copilot. It was an interesting moment. The tooling was there, but the results were average. And sometimes it was just easier to do it by hand than to try to specify to this fickle genie what exactly I wanted it to do.
And then the models got better. And better again. The coding harnesses got better, feeding more intelligent context back to the LLMs. It kind of happened slowly. But this is when some engineers first started to worry about being left behind.
The tribes begin to form
As these tools got better, the first observed gap formed. Two clear camps. Those who believed these tools were useless. They were not only not useful, but dangerous, and reduced productivity. I have no doubt that these engineers had reason to believe this. I was originally in this camp, but did my best to remain curious, and eventually moved to the second camp.
There were some of us who started to believe this might be a mechanical leverage point. We still remain in control, we instruct the agent what to do. Giving it selective context, telling it about methods we wanted it to create. It was able to create the code much quicker than we were. It was speeding us up! And we still understood what was going on.
Then, the vibe coders came. These were often people who did not know how to code, at least not well, before. They suddenly could create things, they loved it. I remain quite suspicious of this camp, and have seen it dwindle in favour of falling into either the more mechanical camp, or the next camp to form.
The software factory camp. Perhaps an evolution of vibe coders, with more structure. A distinct planning phase, producing specification artefacts. Iterating. But caring more about the results and the behaviour than the code. I am again suspicious. Especially of the maintainability and long term viability of this camp. But I remain, as always, curious and open.
Am I being left behind?
As we started 2026, I began to mostly see things fall into two of these tribes. Most of the more suspicious Engineers have accepted that agentic coding tools are at least a good mechanical lever.
When you read about Boris Cherny’s setup, or listen to the TL of codex talk about how they do it, it all sounds very reasonable.
They spin up the agent. They put it in planning mode, and discuss the problem back and forth with the agent. Talk about what files to modify, what the flows are, the validation. And then send it off to go, and work on something else while it’s running. Maybe they spin up a few. This sounds fine, I can do that. I am doing that a lot of the time.
But then why, as somebody who is doing the same things that the top leaders who are building these tools, do I feel I am at risk of being left behind?
So, we are told we must adapt and use more AI. But to what end?
And so I open my agent, and get started. Until,
I ran out of tokens today
All of a sudden my agents ground to a halt. I was left staring at a red terminal full of errors. I was out of tokens.
I stood up, went and got a glass of water, sat back down, and tried again. The error was real. I was out of tokens.
I opened up my IDE. Staring at the code, wondering where to start. I had become dumb. What did this mean? Was I just lazy? It took a few minutes, but the code started to flow. I dove deep, I realised things I hadn’t realised before. And I got on with it.
My output was probably a bit lower. But I was glad it happened.
I don’t know if I am being left behind, but I hope I run out of tokens again soon. Maybe I will implement an AI free day in my week.
Am I being left behind?
I do not know, and I do not know how to know. But what I do hope, is that Software Engineering is at least partly a meritocracy. I continue to remain curious, and learn from my peers. I am always keen to learn, and try new things.