CEOs have spent a decade predicting the end of hand-written businesses software. Are they finally right?
It’s a poorly kept secret that business developers are often paid to solve the same problems over and over again. This is particularly true for the programmers that work with small and medium-sized businesses that aren’t part of the tech industry. These businesses aren’t selling shiny new silicon gadgets. They just need software that understands their day-to-day business and automates its processes, quirks and all.
Once upon a time, you could make a decent living creating line-of-business apps for companies like these. More often than not, the apps were glorified database wrappers. The plumbing was straightforward — all you needed was logic to display records, aggregate data in some visually pleasing way, and make updates on demand. Whether the database operations corresponded to adding new customers, managing a product catalog, tracking orders, or some other business process didn’t really matter, so long as the developer understood their client’s needs and could make the software look nice, run reliably, and integrate into the existing organizational flow. Developers took to calling these apps CRUD (create, read, update, delete), an acronym that had just a twinge of disrespect.
The approach to CRUD evolved over the years. Developers gradually climbed up the abstraction ladder, moving from hand-written database logic to object-relational mapping and higher-level frameworks. It became a best practice to host everything on a cloud platform like AWS. The languages changed, as did the devices that ran the apps. But the basic pattern — and the importance of the developers who did it — stayed constant. CRUD was the bread and butter of development at less tech-forward companies, and a lucrative hustle for more than a few freelance programmers. It was particularly prominent in the Microsoft world, where my favorite technology stack lives.
For most of the years that developers have been building CRUD applications, CEOs and other tech luminaries have been predicting its demise. First we were going to get low-code or no-code tools that meant every department head could build their own apps (never mind whether they had the time or inclination). More recently, we were told LLMs like ChatGPT would generate all the code we needed, with minimal developer supervision (never mind the nightmares you’ll give the AppSec engineers). And now, we’re supposedly months away from supercapable AI agents that can render straightforward CRUD apps obsolete. We won’t need to build them, because an emerging “AI layer” will knit together all the needs of our business operations and talk directly to the users.
Satya Nadella, the Microsoft CEO, describes this vision in a recent podcast:
The approach we are taking is that business applications … will all collapse in the agent era. Because if you think about it, they are essentially CRUD databases with a bunch of business logic. The business logic is all going to these agents and these agents … they’re not going to discriminate between what the backend is. They’re going to update multiple databases and all the logic will be in the AI tier. And once the AI tier becomes the place where all the logic is, then people will start replacing the backends, right?
As far as CEOs go, Satya is a pragmatic thinker, not a Zuckerberg-style technobro utopian. But how plausible is his vision of the future? Will CRUD programming— possibly the least glamorous job in corporate development — finally wither away?
There’s always an impedance mismatch
If AI agents are going to challenge hand-written code, we need to ask a simple question: does the proposed AI agent layer address the real pain points of custom software?
It’s true that cheaper and faster are always solid selling points. But time and money aren’t the usual limiting factors for a CRUD software project. Writing this type of code is already relatively inexpensive, at least compared to other types of development. We have tools to generate data logic without hand-written code. We have tried-and-true templates to deploy and reuse. And there is no shortage of qualified developers who are ready to build exactly this sort of straightforward software.
The biggest challenge — with or without AI agents — is transforming the business needs of a client into a complete, practical solution. Because no matter how simple a job seems, there’s always an impedance mismatch between the business owner’s perception of the problem and the software implementation that solves it. And if you can’t completely formulate the problem, you can’t get an answer from any tool, even a magical layer of intelligent AI agents. In other words, you won’t get what you want if you don’t know how to ask for it.
Of course, we already know that the role and working habits of a programmer are shifting in the AI-enabled world. But that’s been true since the dawn of the line-terminating semicolon. For the foreseeable future, a typical business will still need some type of skilled facilitator to assemble their custom application integrations. If that person is better described as an “AI operator” than a mere “coder,” so be it. But when we put this way, it doesn’t sound like a once-in-a-lifetime shift in software development.
And it’s still vaporware
In the Microsoft space, we already have real, released tools for AI agents. Satya Nadella was eager to tout the prebuilt agents for Microsoft Dynamics 365. Microsoft has also evolved the Microsoft Bot Framework into the Microsoft 365 Agents SDK. The kindest thing I can say these tools is that they make for some very nice demos. Other than that, it’s hard to see how they bring an agent-based CRUD-replacing AI layer closer to reality.
The limitations are embarrassingly obvious. Today, Microsoft’s AI agents are annoyingly LLM-focused (chatbots for everyone!). They still require custom code to accomplish anything potentially useful. And despite Satya Nadella describing the future as AI orchestration, the current state of affairs is closer to an AI interface for the end user. It’s a setup designed to drive a flow from Copilot to an agent to a custom business app. Microsoft may be eager to sell Copilot and Copilot-enabled products to businesses, but the glue in between — the AI agent middleware — is still surprisingly immature and unstructured.