My craft is trivial. What’s next?
I spent years honing my ability to understand CSS, to the point where when I look at any design, I can vividly picture how to break it down and build with CSS. This skill is now trivial. Point opus at a figma file, heck, even a PNG, and it will do a pretty good job. And if it doesn’t? Try again, and it’ll usually get something close enough within 4 tries.
Doing this work still requires an operator, and you still run into “foot guns” where you could end up creating something that’s horrible to iterate on. But when code generation is so fast, does that matter when you can create a new one?
This whole “code is cheap” situation reminds me of the plumbing industry. Hear me out: Decades ago, the gold standard was reliability. Stuff needed to work. It was expensive to learn the plumbing craft. The materials and tools were, in many cases, prohibitively expensive. But since then, the industry has evolved, we now have PVC piping, flexi pipes, installation skills are prioritised over repair skills. Now, whenever you’ve got an issue with your toilet internals, or your sink trap, you can almost guarantee the preferred solution will be to rip out all of the old work, and put in new stuff. It’s no longer economical to diagnose and repair. Code is becoming the PVC pipe. Cheap, readily available, and better suited to being replaced rather than repaired.
I’m personally quite fortunate that I’ve reached a point in my career where I have many other skills around the edges of the pure technical side, but even those skills are becoming easier to attain when assisted with various AI tools. T-Shaped skillsets are easier than ever to obtain.
So, what’s next?
Believe me, if I had THE answer, you wouldn’t be reading this for free.
But what I do know, is that the code generation isn’t quite good enough to replace me, yet. As I mentioned, the operator of these tools is still needed, not just to operate, but to assess, course-correct, and hold responsibility for the generation. I have little doubt in my mind this will also become trivial with AI advancements.
In years gone by, if someone had an idea that needed my skillset, those people would speak to me and I’d engage in what I call “fact finding”. This is a process where I delve into what their problem is. Why do they think they need that app/website/system/automation. I force them to talk about their actual problems before entertaining the idea of building anything. Often, clients would ignore this and end up going to some “freelance marketplace” so they can “just build what they asked for”.
When the craft becomes trivial, implementation only professions are the most at risk.
Let’s use another example, woodworking. The profession almost every software engineer dreams about. When power tools became commonplace, there was no longer a need to have strong physical abilities. You no longer need to have excellent technique to cut straight through a piece of timber, or to have detailed mitres. Although power tools lower the barrier to entry, you still need to understand how to use the tool, when to use the tool, and why you’re using that tool and not another.
This is largely the same for software engineers, but it feels different. The barrier to entry is so low, that anyone that can ask for what they want will get pretty far. You don’t need to learn to use the tool, when the tool can understand what you want and even ask you clarifying questions. And this is often used for digital artifacts. The cost of materials is almost 0. You can iterate to your heart’s content. No longer do you need to pay an exorbitant fee for “revisions”.
AI is extremely good at completing the task it’s given. That’s what it’s been optimised for. If there’s a task, the next thing to do is to complete the task.
Current LLMs are next token predictors, even if the next tokens are, indeed, eerily human looking. They WILL complete the task you give it. Obviously there is nuance to these statements, and various coordinations of harnesses/tools/contexts/loops can obfuscate this behaviour to make it feel like magic
This sounds really scary. What do experienced, trained professionals actually do when it feels like AI is just one step away from taking every skill we have?
We must adapt.
We must not hold onto “tradition”. The industry will evolve into the next stage like every other industry has. There will be a separation of labour based on risk.
A homeowner who wants to build a shed is not going to hire an architect to design their shed. But they may look up prefab schematics or packs they can put together themselves (DIY). They may hire a local “trade-y” to do it, who will inevitably be using modern tooling and materials to complete the task.
A building company looking to build a block of offices, isn’t likely to “oneshot” the project. They will hire the architect. They’ll consult multiple professions to ensure the safety of the building. They’ll phase the planning and building aspects to ensure the project is on target and budget. This is the direction of the software industry.
Your new local restaurant isn’t going to hire security engineers, site reliability engineers, Platform engineers, product managers, etc. They might still hire freelancers to do this work, but they’re definitely going to be using the modern power tools (Claude, Cursor, etc), and they might even DIY the project with Lovable, ChatGPT (or other).
Whereas larger businesses with more at risk will still need confidence that only a team of people can give. Confidence that if something’s wrong, that team will identify and fix before the client even knows. The confidence that best practices, security, compliance, and many other aspects are taken care of. The confidence that their project will meet deadlines and be on budget. These are things that AI will be poor at for a very long time. Their very nature is to complete the task, so if the task is wrong, the final output will inevitably be wrong too.
It’s like taking your car to a mechanic because the brakes are squeaking, and you ask them to make the squeaking stop. Then they reply:
“I’d be happy to assist with that! I’ve applied a premium high-temperature lithium grease to your brake rotors. This will effectively eliminate all acoustic friction, ensuring a whisper-quiet ride as you hurtle through your next red light. Is there anything else I can help you with today?”
— Yes, A.I. wrote that for me.
This is the craft now.
It’s different, but it hasn’t changed.
Engineers that were simply “coders” will be facing a rough time as some of their work is replaced by “DIYers”. And some of them will be resistant to picking up the new tools, which will make them more expensive to hire.
Engineers who are engaged in the whole process will move forwards and will find they can complete “coding” work in a fraction of the time, but the entire product/systems development process will be largely the same.
The profession was never about typing code. It was deciding what should exist, what shouldn’t, and who is accountable when it breaks. The craft will live on, but it’s no longer a barrier to the profession.
Let’s stop dreading the end of coding, and begin to embrace optimisation of the software industry.