The "revolution" of Agentic Coding tools.


The “revolution” of agentic coding tools differs from other revolutions that have boosted developer productivity.

In the past, software could be considered “simple”, until specific bottlenecks were resolved. We moved from writing assembly language and manually manipulating memory addresses and registers to using compilers that abstracted away the “complexity” of CPU architecture. Then came operating systems, an abstraction layer managing hardware resources so you wouldn’t have to worry about complex hardware protocols or variations, nor rack your brain figuring out how to run multiple programs simultaneously. Next came garbage collectors and interpreted languages, allowing for faster development without the need for manual memory management. Not to mention the hundreds of utilities and frameworks that automatically generate the boilerplate for a generic web application.

Each of these revolutions brought a computational overhead that was “acceptable” in most cases, in exchange for a deterministic abstraction layer that reduced the risk of accidental complexity. In fact, over time, developers focus less on lower abstraction layers, often reaching a point where they need only understand their preferred framework, frequently without grasping its underlying fundamentals, because the abstractions are so effective that, for general use cases, understanding what lies beneath isn’t necessary.

However, code agents are (in many instances) generators of entropy; they are not merely another abstraction layer. Yes, they are getting better and better at generating code (overfitting?), and I consider them brilliant tools, but producing code was never the real problem. Technically, I could say today, “I’m going to create my own operating system,” and fork FreeBSD; you might reply, “Well, technically you didn’t create it,” and I’d ask, “Do you think AI would give me a different, better result?” Here’s a hint: some compression algorithms bear a suspicious resemblance to Generative AI algorithms.

What are the consequences of having a new layer that is neither an abstraction nor a means of reducing accidental complexity? Don’t get me wrong: as a child, I would have given anything for technology that allowed me to bring my ideas to life simply by stating them. In a way, I’m glad so many people have had the chance to enter the world of software and technology without having to deal with elitists treating them poorly online. But how will this technology affect the future? What will happen to technical debt? What about the hundreds of projects that never went anywhere—now that everyone can “do” (and there are many nuances to that word) the same things? What will become of the curiosity that drove us to discover how things work?

I believe good engineers have nothing to worry about; their job has always been to act as sculptors of entropy, and coding agnets will simply provide them with more entropy to sculpt. My concern lies with the human communities built around technology, communities driven by curiosity, learning, and creation. It is the warmth of these communities that has helped many of us grow within the tech field, just as these communities have, in turn, helped technology itself to grow.

Good luck hugging the cold silicon.