Fundamentals 6 min read

Is Code an Art? Rethinking Software Craftsmanship and What Makes an Excellent Programmer

While elegant, well‑crafted code can be admired, the article argues that treating software as art often distracts from practicality, emphasizing that true programming excellence is measured by efficiency, reliability, and rapid problem‑solving rather than aesthetic bragging.

Baidu Tech Salon
Baidu Tech Salon
Baidu Tech Salon
Is Code an Art? Rethinking Software Craftsmanship and What Makes an Excellent Programmer

Can excellent code be considered a work of art? Does the theory of software craftsmanship sometimes go too far? What truly defines an "excellent" programmer?

To introduce the topic, imagine hiring a plumber to replace old pipes in a basement. The plumber constantly praises the aesthetic beauty of the pipes, describing them as art. How would you react?

Writing code can be similar. The notion that developers must turn their code into art can be counterproductive. This analogy originates from Dan North’s well‑known article “Programming is Not a Craft”.

Software Art

The concept was further developed by Kevlin Henney, Bob Martin, Corey Haines, and Glenn Vanderburg. Their key points are:

Code must not only work but also be crafted with care.

It should accommodate change while steadily adding value.

Good individual communication and a professional community are essential.

Harmonious client relationships and productive partnerships are vital.

However, many developers become overly proud, which hampers project success. Over‑emphasizing software art contributed to failures in Web services and J2EE projects, according to North.

What Makes a Good Programmer?

If a developer insists on a particular aesthetic technique at the expense of practicality, they have likely been “brain‑washed” by the idea of software art.

Good code is efficient and reliable, not merely beautiful. As the classic saying goes, "It doesn’t matter whether the cat is black or white, as long as it catches mice." In other words, the ability to understand and implement simple processes matters most.

Even excellent programmers can forget the core function of good software—over‑valuing the notion of software art is often the root cause of problems.

North observes that many talented software professionals fall into this trap, becoming enamored with the craft itself and believing they have become artisans.

The Talent of Programmers

The debate centers on whether software engineering is a form of art. While performance and efficiency have become less emphasized, there is still no consensus on how to become an outstanding developer. North claims that great programmers can accomplish in hours what ordinary programmers need weeks or months to complete.

From a buyer’s perspective, one should know whether a system was built by a master craftsman or a temporary worker. Distinguishing between the two is important.

North also admits that aesthetics alone cannot reliably differentiate the two. Anyone can claim to be a software artisan and talk about the beauty of architecture. He hopes that thoughtful individuals will rewrite the concept of software art, returning to its fundamental ideas.

The Code Behind the Scenes

Clients and users typically don’t care how the plumbing looks; they only care that it works and looks acceptable. The same applies to software: the code must function, and the UI should be satisfactory.

North emphasizes that he wants a professional electrician to wire his house, not a pretentious plumber who constantly talks about elegant pipes. Likewise, he prefers a professional programmer over someone who boasts about artistic code without delivering results.

software engineeringcode qualityDan NorthProgramming Philosophysoftware craftsmanship
Baidu Tech Salon
Written by

Baidu Tech Salon

Baidu Tech Salon, organized by Baidu's Technology Management Department, is a monthly offline event that shares cutting‑edge tech trends from Baidu and the industry, providing a free platform for mid‑to‑senior engineers to exchange ideas.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.