I've started to think that the whole AI revolution is going to destroy the artisan side of the software development process. Let me be clear: I see two main effects.
First, human focus is definitely shifting toward outputs. Just as we don’t worry about low-level details when coding in a high-level language (that’s the beauty of abstraction: reducing complexity), now the actual implementation written by humans matters less than the results themselves. That’s where AI steps in—its role is to handle the implementation, while we care only about the outputs.
The second effect is about inputs: the instructions we give machines are becoming less specific. There are now many different ways to reach the same result, quickly and at the same cost. For example, you can communicate with an LLM in different languages, and it will do whatever you need in whatever way you can express yourself. You provide the context, not the method of resolution.
Back to the beginning: what do I mean by the “artisan” part? For me, it has to do with human limitations. When you had limited storage, limited memory, and strict programming language constraints, finding the best solution required what I call artisan work: managing limitations to discover the best possible path to an output. In that sense, the guarantee of the artisan aspect lies on the side of the limitations. The output validates the process, and the input is restricted by software and hardware constraints.
If the focus keeps shifting toward outputs, I believe this new era will be less of a trade and more like operating industrial machines for mass production.