I had been sitting on the draft of this blog for nearly a month before publishing, updating it each week as my views went through many ebbs and flows. This field is changing more rapidly than ever. Five years ago, being a programmer was revered, a role that required dedication to a particular stack, problem-solving, and creative thinking. Today, AI has expunged most of those requirements. This fact, whether they like to admit it or not, disturbs those that dedicated their education and early 20s to becoming great programmers. Deep down, it hurts the ego, what was once perceived as impressive is now a commodity. A person with basic literacy can turn on Claude and get their own app within seconds, a task that would have taken a programmer a non-trivial amount of time. Beyond the stab at the ego, programmers feel their hard work is nullified due to the commoditisation of coding. The day-to-day job becomes more about providing guidance than writing code, as if all engineers are suddenly promoted to principals and managers. Though, the reality is more unsettling. Not everyone will be promoted, many engineers will be laid off, those that embrace their role shifting to agent management will thrive. For many, this is not a desired outcome, yet it is the reality and a burden we must carry.
Weird Times
I’ve been experiencing something akin to a reverse sunk cost fallacy. I begin working on some ticket,
designing the solution in my head then beginning to typing the code by hand. All of a sudden, within
the first minutes of coding, a thought in the back of my head whispers “Claude could one-shot this in less than a minute”.
What’s more demoralising is that thought is true for trivial software (i.e. most CRUD apps).
Thus, instead of spending more brain power and typing effort, all that work is delegated to AI.
Does this boost productivity? Objectively yes. Does it actively atrophy coding skills?
Also yes. In a work setting, where you are paid
to get things done, using AI to boost productivity is understandable, you may even feel pressured to do so.
But if programming is truly your passion, there’s nothing stopping you from “trad coding” on your personal projects.
So, people are divided into two groups. Those that see code as a fun activity, something that they enjoy, and those
that see code as a means to an end, whether that end is building, making money or both. Neither camp is wrong,
they are simply two perspectives. I don’t really know where I sit on that spectrum to be honest. On one hand I love building,
and I’m generally not too fuss with the code as long as it fits my taste, the UX is seamless and brings delight.
The problem is, vibe coding doesn’t really fulfill those requirements for me. More pragmatic “agentic engineering” might,
and it’s something I’m heavily experimenting with. I’ve been internally trying to rationalize this new post-coherence-AI era
myself with the following thought process, you may call it cope ¯\_(ツ)\_/¯
If you’re truly an incredible programmer, or striving to become one, you will be good at managing AI-generated code. And if you love coding, then you should be happy. You can write code by hand for your toy projects, and enjoy coding as a craft. The fact that writing code by hand is no longer a requirement of your work just means you don’t have to get sick of it.
Still, it gets to a point where everyone online is shoving the idea that “software engineering is dead” down your throat, and it’s not a pleasant feeling. What you must understand is that the masses are falling to the classic herd mentality. At the end of the day everyone has an agenda. Use the tools being advertised and decide for yourself what your opinion is, as you are the only objective voice to your consciousness.
The End?
The fact of the matter is, these systems are here to stay, and just like Disney stopped doing cel animation, Big Tech software will be largely AI-generated. The desire to optimise for efficiency (even if only a perceived one) is human nature. Unavoidable. Yet it does not mean that you have to give up on your craft. Why should you stop doing what you enjoy simply because it has been automated? The same way Christopher Nolan, a visionary director, only shoots on film, you shall keep writing code in the way that your artisan ideals are satisfied.
The Bad Ending
I thought I was going to end on a high note after some dooming. But as the days went on, and I pondered more (and scrolled on X), I was filled with irrational dread.
There are things that we can’t afford be oblivious towards. Let’s assume a model is released in the near future that far surpasses human capabilities. A model that finally lives up to the prediction of tech CEOs that all software engineering will be automated away. You, as a software engineering professional suddenly find yourself redundant, what is your purpose in life now, what career do you pursue? Will there even be any careers for humans to pursue? Will there be any occupations that AI or machines can’t completely automate? Well, if it’s of some solace, you and I probably won’t be around long enough to have to deal with that. It’s kind of like when you were a kid and found out the Sun would someday explode, burning away the Earth with it. But you don’t have to be afraid of that, cuz it ain't happening anytime soon.
Oh
…you’re still reading
….ok that was pretty gloomy
…but it doesn’t have to end this way
The Good Ending
Ok fine here is the good ending.
Let’s say some crazy breakthrough occurs, and a model comes out that utterly dwarfs all software engineers in expertise. Going back to the previous point about coding being your passion, something you’d do for fun, then all is well. After all, does someone that loves basketball stop playing it because Lebron James / Michael Jordan / Kobe Bryant exist? exactly. Now if you’re worried about your career ending, allow me to revive your motivation in one paragraph.
In some ways, the existence of Claude Code et al. presents a nice challenge. Are you better than a machine? Anthropic released an old take-home assessment they used to give to candidates. The assessment involved optimising the clock cycles in a simulated computer. The reason they don’t use it anymore is because Claude Opus could solve it pretty well, bringing down the baseline 18,532 cycles to 1,363 cycles. Very impressive. What’s even more impressive, and in my opinion profoundly inspirational, is that the best human performance is significantly better than that according to Anthropic. They won’t say how much, but the fact that human performance still outdoes a machine is something that I find highly motivating. To keep learning, and getting even better.
Whatever happens, happens.