CraftsmanSHIP. Not CraftsmanSHIT

fagnerbrack1 pts0 comments

CraftsmanSHIP. Not CraftsmanSHIT. | by Fayner Brack | MediumSitemapOpen in appSign up<br>Sign in

Medium Logo

Get app<br>Write

Search

Sign up<br>Sign in

CraftsmanSHIP. Not CraftsmanSHIT.

Aviation figured out decades ago, software still hasn’t learned

Fayner Brack

8 min read·<br>May 18, 2026

Listen

Share

A wide cross-section illustration of an aircraft fuselage split into two halves: the left side shows clean, precision-engineered structure in brushed aluminum with neatly labeled components. The right side is the same fuselage rebuilt from tangled wires, rust, duct-taped patches, and mismatched scrap metal, with cables spilling onto the hangar floor.

Want to come back later? Save this to readplace.com.<br>CraftsmanSHIP. Not CraftsmanSHIT. | Reader View<br>Software craftsmanship is a daily practice of discipline and continuous improvement, not a one-time badge.

readplace.com

Pilots have a word for the thing that separates competent from dangerous. They call it airmanship.<br>The FAA defines it as a sound knowledge of flight principles, the ability to operate an aircraft with competence and precision, and the exercise of sound judgment. A NATO research symposium went further: airmanship is a personal state that enables aircrew to exercise sound judgment, display uncompromising flight discipline, and demonstrate skillful control of an aircraft and a situation.<br>Two things stand out in that definition: the first is discipline (not talent, discipline). The second is that airmanship is maintained through continuous self-improvement. It is not a credential you earn once. It is an ongoing practice you take for life.<br>Software has a similar word to airmanship. We call it craftsmanship.

In 2008, Robert C. Martin stood up at the Agile conference and proposed a fifth value for the Agile Manifesto: “Craftsmanship over Crap.” He later softened it to “Craftsmanship over Execution.” It was never adopted. The developers who cared about this idea got their talks rejected from the main Agile conference. So they held their own summit in Libertyville, Illinois, and by 2009 they had published the Manifesto for Software Craftsmanship.<br>The manifesto is four lines long: Not only working software, but well-crafted software. Not only responding to change, but steadily adding value. Not only individuals and interactions, but a community of professionals. Not only customer collaboration, but productive partnerships.<br>That was 17 years ago. Look around. How’s it going?

Agile started as a software methodology. XP, pair programming, TDD, continuous integration. Technical practices created by developers for developers.<br>Then Scrum got popular. Scrum is a management framework. It does not mention code quality, testing practices, or refactoring. It talks about sprints, ceremonies, and roles. Project managers became Scrum Masters. The daily standup replaced the technical conversation.<br>Agile stopped being about how you build software. It became about how you manage people who build software.

The developers who wrote the Agile Manifesto watched their creation get adopted by the people it was supposed to protect them from. Craftsmanship was the response. It was an attempt to reclaim the technical side of Agile before it disappeared completely.<br>The term itself has evolved. Many communities now use “software crafters” instead of “software craftsmen.” The SoCraTes conference changed its name. 8th Light started calling their developers crafters. Cambridge Software Craftsmanship became Cambridge Software Crafters. The language moved toward inclusion, which is good. I thought about using “crafters” in the title of this post, but then the joke would not work.<br>The name change is not the problem. The problem is what I see people calling craftsmanship in the wild.

Here are 4 flavors of craftsmanSHIT:<br>Over-engineering disguised as quality. You know this one. Someone builds an event-driven architecture with six microservices for a CRUD app that serves 5 users. They call it “doing things right.” They spend three weeks designing an abstraction layer that will make the system “future-proof.” The future arrives and nobody needs the abstraction. They needed faster page loads.<br>Over-engineering feels like craftsmanship because it looks like effort and care. It is neither. It is building for an imaginary problem instead of the real one. A craftsperson builds what is needed, not what is impressive.<br>Shortcuts rebranded as pragmatism. A deadline is tight. Someone skips the tests, hard-codes the config, copies a 200-line function instead of extracting the shared logic. “We’ll clean it up later.” Later does not come.<br>This is the one people get wrong in both directions. Cutting scope to meet a deadline can be craftsmanship. Incremental delivery is a real practice. Ship the thin slice that’s usable and valuable. Add the next layer when you learn what matters. That is strategy. It’s different from dumping garbage into the codebase and excusing it as a business decision.<br>Coding...

craftsmanship software agile craftsmanshit from developers

Related Articles