The Art of Craftsmanship (Monozukuri) in the Age of AI

First things first: this article is not against AI (artificial intelligence), but against how it is being used.

Secondly, this is just my opinion, not a universal truth written in stone.

AI usage has been increasing over the past few years due to its biggest selling point: time. It is often marketed as a tool that helps developers reduce the overall time needed to perform a task. Not only that, but most language models (LMs)—especially large ones trained on vast amounts of text—are capable of producing human-like text or code on demand.

In this context, the time factor matters more than anything else. It’s common to see people on social media saying things like, “Oh, it took me just a few prompts to create this game or image.” Basically, the process of making something is overshadowed, and the focus shifts almost entirely to the final result.

The corporate world, however, is driven by time. A clear example of this is how we measure work using abstract representations of time, such as sprints, cycles, and so on. This is where AI can arguably claim its place and become part of everyday tools for developers and other professions alike.

The problem is that the focus on time does not always go hand in hand with quality.

I don’t think I’m saying anything surreal here. It’s quite common to hear the term AI slop used in different places. Even the Microsoft CEO has been advocating that people should stop thinking of AI as slop. So this discussion does exist, even if some AI enthusiasts would prefer to ignore it.

The entire AI ecosystem has problems. It can hallucinate, give incorrect answers, and often comes with security and privacy issues depending on the use case. It is not perfect, but it is undeniable that it has value as a tool.

AI can empower people with no coding background to create software. It can allow inexperienced programmers to build more complex systems, or enable programmers of different skill levels—who may have little or no understanding of a specific domain—to create things like a video encoder, even if they are primarily frontend developers (and while many frontend developers can write an encoder, let’s assume in this case they lack the necessary expertise).

The problem is that AI may generate code that doesn’t truly belong to the programmer, nor is fully understood by them. As a result, the programmer lacks the knowledge required to maintain it independently. This is arguably the biggest issue. While reducing development time is generally a good thing, we end up skipping the foundations.

When a person has true ownership and understanding of a task, AI becomes what it should be: a tool, not a decision-maker.

I’ll give a real-life example to illustrate this. A few years ago, I worked at a company where some engineers were using AI to generate code in a programming language they had learned only a month earlier. Unsurprisingly, it didn’t go well, and several developers—including myself—had to step in to fix the problems. The truth is that the code was completely broken, and I ended up rewriting around 70% of it, which took weeks of work.

In that specific example, was AI the problem? No, definitely not. AI is meant to help you, not do your work for you. Nowadays, however, this behavior pattern has increased significantly. I receive many pull requests from programmers of varying experience levels that were clearly generated using LLMs, often for code they don’t fully understand—or barely understand at all.

Once again, we’re prioritizing time over quality. To achieve quality, a programmer needs to have experienced what is being built. Software development follows the path of craftsmanship, where an artisan—through years of experience, repeated attempts, occasional luck, or natural talent—can produce remarkable results. This idea aligns closely with a Japanese concept known as monozukuri.

Monozukuri literally means “making things,” but it goes far beyond simple manufacturing. It embodies the spirit, skill, and pride of craftsmanship, with a strong focus on perfection, continuous improvement, respect for materials, and delivering high-quality, functional products through deep technical knowledge and a holistic, customer-centric approach.

The term gained prominence in the late 1990s, when it was used by the Japanese government to reaffirm Japan’s manufacturing strength in a changing global economy. Japanese companies turned manufacturing into a precise science, and monozukuri came to represent dedication, innovation, and the relentless pursuit of excellence in production.

“But what does this have to do with AI?”

Many people—especially newcomers—ask me whether I believe AI will replace programmers. It’s a complex question, but my answer is always the same: yes and no. It depends entirely on the kind of work the programmer does. In fact, let me rephrase that—it depends on the artisan craft.

Monozukuri is the process of the artisan, and lately we’ve been losing it by focusing too much on outcomes and too little on the process itself.

The deeper and more specialized the artisan’s knowledge and experience, the less likely they are to be replaced. So yes, use AI—but learn the foundations yourself. Practice without it. Don’t rely on AI to make decisions you should be capable of making. Otherwise, you risk becoming replaceable.

Artificial intelligence does not understand or embody monozukuri. It is meant to be a tool that belongs to the craftsman—not something that replaces the craftsman.