The software Cambrian explosion.
The Cambrian explosion was a period of time before human civilisation, before dinosaurs, before most of what we know as “life” today.
It’s a distinct period of time where droves of complex life emerged leading to more and more complexity on the planet. All this eventually led to what we know as life today.
I believe we are on the precipice of a Cambrian explosion of software: AI coding agents have gone from bad, to ok, to pretty good, to now being able to handle the majority of a feature request in a large codebase.
I’ve spent my professional software engineering career getting very good at coding, the art of crafting software, and scaling systems. I loved building software by hand: it was like solving a puzzle with legos, crafting something modular that you could interact with immediately. While I nostalgically mourn for what was and has now gone, it’s hard to not face the music on just how good AI assisted coding has gotten and how productive you can be with it.
So good that even some of the most staunch gray-beards are trying it and seeing the light:
This is Google Antigravity fixing up my visualization tool … Is this much better than I could do by hand? Sure is.
I’ve never felt this much behind as a programmer. The profession is being dramatically refactored as the bits contributed by the programmer are increasingly sparse and between. I have a sense that I could be 10X more powerful if I just properly string together what has become available over the last ~year …
As this explosion happens, more and more raw software will be created: those small features, internal tools, fun ideas that would have taken too much time, energy, or points in a sprint may now be just a few prompts away. The amount of software out in the world is going to 10x, then 100x. Custom software and tools will be as common as social media posts or profiles where even the “everyday person” has bits of custom software floating around doing things for them.
Do not misunderstand me: AI coding assistance is still very bad at things critical to the software engineering lifecycle: broader organization, system architecture, strategy, product management, performance, high level technical choices, ongoing maintenance, stakeholder management, security, mass scaling, user research and design, etc.
Just as astrology is not really about telescopes, surgery isn’t about scalpels and sutures, computer science was never really about code. First principles for any computer science practitioner are now more important than maybe they ever have been: with an explosion of software everywhere, there’s going to be alot of bad, broken, and unscalable software in the wild. We professionals will find ourselves very busy building, managing, scaling, fixing, and distributing all of this.
Therefore, I believe with this huge explosion of software incoming, good engineers building good systems are more critical than ever. We need the telemetry stacks to understand the “what” and “why”. We need junior engineer hiring pipelines to ensure the future is well secured. We need strong security systems to protect us and our agents. We need new ideas, new paradigms, and new ways of handling all of this.
The software Cambrian explosion is upon us: prepare accordingly.