Skip to main content

Listicle: Does AI Need Craft?

Agentic coding should be judged by safe delivery, not generation speed

AI
listicle
programming
A listicle on the need of code craft in the age of AI
Published

November 10, 2026

Has Craft become irrelevant?

There are, unsurprisingly, bursts of hyperbole in social media declaring that craft, process, tests, taste, quality, experience, or some other reason for hiring professional developers is no longer needed now that “coding is solved by AI”1

This is a perfectly reasonable assertion to make, a great start to a debate, but is it true? We shouldn’t just assume that AI is so perfect that it transcends all the limits and principles of software design.

It’s been my understanding that when code is easy to read and understand, people are less likely to misunderstand it. While that goes to some basic naming and style, those are less important in human development than many other factors (see the 8 Code Virtues which are non-subjective.

Yet, here we are, with people claiming that agents don’t need the same “help.”

So, what evidence do we have?

This listicle is not presented as proof positive that the claims are wrong, but are merely collections of studies and papers, of varying degrees of authority, that might offer directions for further study.

Names carry intent

I’ve been studying naming of classes, functions, variables and modules for some time, and wrote not only the Clean Code chapter on naming, but also a book on the topic.

I am pleased to find evidence that naming is valuable, but I am also aware the that the evidence is mixed. I’d like to see more research here.

Structure makes systems navigable

A coherent codebase gives both humans and agents a reliable way to infer where knowledge lives and what a change must preserve. Modularity is well described in classic software literature as a key feature for maintenance and understanding.

Duplication hides missing concepts

Duplicated rules, validations, and error handling are not merely stylistic problems; They open the opportunity for divergent representations of the same intent.

A lot of duplicated code phrases also represent scattered or distributed semantics - code in many places may be restating guards or operations that a human or agent would have to discover and rationalize, and might possibly repeat again.

Simplicity reduces future risk

Tests preserve behavior

Tests describe the semantics and rules for a component (class, function, module). Are they read and understood as a basis for further development by agents? Do they protect against agentically-induced defects?

Context must be accurate

The most obvious documentation in a codebase is literally documentation.

How can documentation be best presented to agents, so that it informs decisions but does not overwhelm the context window?

Review is part of the work

Where do we stand on code reviews? Are they still necessary, and how may we best conduct them, and are humans even necessary in the review process?

Sooner, not faster

Here we have some articles (some by me) commenting on the famous slowdown some companies have reported.

The most important idea here is that task completion (closing a ticket, generating code) is less important than whether the completed work can be promoted to production without “bouncing back” from CI or testing for rework.

The claim isn’t settled

Today, there are still differnet points of view and studies that seem contradictory.

I am going to continue pursuing higher degrees of the 8 Code Virtues for better representation of knowledge in software until this shakes out one way or another; it’s my bet.

Please feel free to offer additional studies, even contrary studies, in social media.

Footnotes

  1. an oft repeated phrase among ai vendors↩︎