Large Language Models (LLMs) have unleashed a Cambrian explosion of software. Over the decades, coding was partly considered elitist, despite efforts to make it accessible to more people. Many people became coders without calling themselves that. Writers and script writers were never afforded the title, despite, for all intents and purposes, they were indeed “coding”.
Still, there was a class of software considered inaccessible to them. You needed an elaborate ritual of Software Engineering professions—from Product designers, analysts, managers, developers, and QA—to build these classes of software. Cloud apps, mobile apps, SaaS products.
The gate that prevented them had nothing to do with the complexity of the problem that they were trying to solve in a domain. The complexity of the business, be it payment processing workflows, scheduling apps, delivery apps with their own niche problems, was something product builders were able to dissect and find elegant solutions. But the translation of their solutions into software was blocked by something much more insipid.
It was the sheer amount of accidental complexity Software Architects and engineers had created over the decades. These abstractions were just endless indirections that tackled particular problems sometimes meaningful, many times not so. It still forced those looking to translate their solutions to software to deal with them.
What are React Hooks and why do you need them? What is pydantic for? What is a REST API and why do I need it?
These are worthwhile questions, but the answers and the rabbit holes of knowledge required to master them bore both deep insights and rote knowledge that needs translation and execution. The latter of which LLMs offer to solve. They can never really solve the former except to rehash pre-discovered wisdom.
How do we deal with this new world? Is it an all-or-nothing approach to go for? Is a new development approach on offer? Has a new type of coder emerged? We will set out to find out here.


