Driving Software
Writing code is becoming a lot like driving a car. By code, I do not mean programming as we understand it today, but the code that operates an agent.
Note that I did not say manufacturing a car, but driving one. A car takes you from point A to point B. The agents you build and operate do something similar. They help you solve a problem, sometimes over and over again. In some ways, tomorrow’s AI-enabled SaaS is like a taxi you hire. Someone else owns it, maintains it and drives it, and you pay for the journey.
Then there are the people building the systems that help you write software and run agents. Those are the car manufacturers. As with cars, there will be a few very prominent, global brands. There will be some that are nationalised, backed by governments that want a model of their own. Some will be specialised, built for a particular industry or a particular kind of job, much like trucks or tractors. And some will be multi-utility, the family estate car that does a bit of everything reasonably well.
We will still have engineers who are like mechanics. They understand how to look under the bonnet, and they know how to fix and fine-tune what they find there. But the vast majority of builders will not need to know what goes on inside. Most people who drive today could not explain how a gearbox works, and they get to work every morning without any trouble.
What I like most about this analogy is the aspect of servicing. After a few rounds of coding, the agent and the code become slow and clunky. Features get bolted on, logic gets duplicated, and code that nobody calls anymore stays around. You then take it to a service station, where the code is refactored, conditioned and optimised. It comes back running smoother than when it went in. And like a car, it probably needs servicing at regular intervals, not just when something breaks down on the motorway.
There will be some quirks in the user interfaces, but the main interfaces will be standard. Every car has a steering wheel, an accelerator and a brake, and they are all in roughly the same place. The dashboard controls might look a bit different across products, the way the wipers and the indicators swap sides when you rent a car abroad. But it is something we can quickly get used to.
Everyone will need basic training to write code, much like driving lessons. You learn the rules of the road, you practise with someone sitting next to you, and eventually you are trusted to go out on your own. The question is whether we will need a licence to operate the more advanced, autonomous features. We already need a separate licence to drive a lorry or a bus. Would we need one to let an agent drive unattended? The future will tell.