The age of flat pack code
Software development is moving from the era of the craftsman to the era of the flat pack.
We often think of disruption in terms of physical things, like how the printing press made books available to everyone instead of just a select few. Clayton Christensen’s theory of disruption is usually applied to products, but it applies just as much to processes. It happens when a tool or process that was once the domain of experts becomes “good enough” for the average person to use themselves.
I like to think of this in terms of carpentry. Years ago, if you wanted a bookshelf, you had to hire a skilled carpenter who had spent years mastering their craft. The arrival of electric power tools changed the calculation. While they didn’t replace the need for a professionals eye, they significantly reduced the time required to complete a task. This efficiency gain did more than just help the experts; it lowered the barrier to entry so that others felt empowered to try it themselves. By shrinking the time investment needed to see a result, power tools turned a specialized craft into a viable hobby for the many.
Then came IKEA.
IKEA disrupted the furniture industry by removing the high skill requirement entirely. You could now go and buy a flat-pack desk and assemble it yourself in an afternoon. It might not be the most robust or unique piece of furniture, and it certainly won’t be a family heirloom, but it does the job. For most people, it is “good enough.”
Software development has followed a very similar path. In the early days, you needed to understand the hardware and manage memory manually. Compilers and Integrated Development Environments (IDEs) were our version of electric power tools. They made the experts much more productive, but you still needed to be an expert to use them.
We are now entering the IKEA stage of software, thanks to AI coding assistants.
It is now possible to describe what you want in plain English and have the code generated for you. The quality of the code and the applications produced are reaching that “good enough” state where they can solve real problems. Just like that flat-pack desk, you wouldn’t use this for a mission-critical banking system, but for a niche app that helps you manage your day or a specific business process, it is perfect.
This democratization of creation means we are likely to see an explosion of niche applications. It is no longer too expensive or too difficult to build something that only ten people will ever use. The barrier to entry has been lowered to the point where the user can also be the creator.
We are at an interesting point where the ability to build is no longer the bottleneck; when the quality only needs to be “good enough” the bottleneck is now our imagination of what to build.
We are just at the start of this flat pack phase of software development. It is not completely clear how it will play out however it is probably the biggest disruption of software development, certainly in the 30+ years I have been a developer.
What will happen to those “master craftsmen” who have spent years honing their ability code? What will happen to the “apprentices” now they no longer need those specialist skills for most of the work?
Maybe I should just ask Gemini (insert AI of choice) to see what it thinks …