The Clean Code Blog

by Robert C. Martin (Uncle Bob)

The Principles of Craftsmanship

10 February 2013

It should come as no surprise to anyone that I think 8th Light Inc. is a remarkable company. The company was founded, and is run, by two of my previous apprentices; one of whom is my son Micah, and the other is Paul Pagel. From the start they based their ideals on those of software craftsmanship. They wanted to build a community of professionals who believed in their core that the best way to build software was to build it well. Now, with the better part of a decade behind them, they are one of the most successful software consulting businesses in Chicago; and will soon be able to make that claim about Tampa, Florida.

The company is unique in many ways. For example: Their employees are called craftsmen, and the recruiting model is based upon apprenticeship. Craftsmen are not hired in the usual sense that an employee is hired. Rather, they are brought on as apprentices and gradually inducted into the company through a months long intricate ritual of training, mentoring, challenge, and accomplishment. It’s a tough gauntlet to walk; and those few who make it through know they have achieved something difficult and important.

Two years ago, at a company meeting, the founders presented a slide deck that they planned to show to customers to communicate just how unique the company was; and how they could partner with their clients to help them succeed. One of the bullets on one of the slides said: “We are principled.” The slide referred to their way of doing business, and their way of writing software. Those words now appear on the 8th Light website.

After the meeting I said to the founders: “It’s easy to say you are principled; but can you articulate what your principles are?”

Thus began an effort that has taken almost two years to complete. Virtually every craftsman at 8th Light has been engaged in the effort to discuss, debate, codify, and ratify those principles. The document grew, then shrank, then grew and shrank again. At times it languished; and at other times it was energetically engaged. But it was never allowed to sputter and die.

The result is quite amazing. It is simple, brief, and powerful. It has been crafted to be almost a poem based on the Software Craftsmanship Manifesto. Each of the four conclusions of the manifesto is clarified and amplified by three principles of behavior. Each of these principles is a complimentary pair of statements. The first statement in each pair describes what a craftsman will do; the second: what a craftsman will not.

Here are the principles of Software Craftsmanship according to 8th Light.

At 8th Light, we are principled. These are things that we will and will not do. Each principle ties to a specific value in the Manifesto for Software Craftsmanship

###Well-Crafted Software

  • We humbly demonstrate our expertise by delivering quality software.
    • We do not inflate our abilities or claim expertise where we have none.
  • We continually master a variety of technologies and techniques.
    • We do not let unfamiliarity dissuade us from using the best tools.
  • We take responsibility for the correctness of our code by testing it thoroughly.
    • We do not tolerate preventable defects.

###Steadily Adding Value

  • We estimate with diligence.
    • We do not let fear or pressure make us promise what we can’t deliver.
  • We always apply our best efforts to complete our work.
    • We do not make excuses.
  • We work at a sustainable pace.
    • We do not burn out.

###A Community of Professionals

  • We embrace differences of opinion and personality.
    • We do not allow our current practice to impede improvement.
  • We prefer open source tools that we can inspect, evaluate, and improve.
    • We avoid proprietary products that lack transparency.
  • We teach anyone with a willingness to learn.
    • We do not hoard our knowledge or practices.

###Productive Partnerships

  • We show respect for our customers and fellow craftsmen.
    • We do not act unprofessionally or unethically.
  • We communicate our progress honestly and openly with our customers.
    • We do not conceal or embellish.
  • We partner with our customers to understand their business.
    • We do not propose solutions until we are sure we have found the right problem.

Over the next several weeks you will see, on the 8th Light blog site, all twelve of these principles revealed, exposed, and expounded. We, the craftsmen at 8th Light, will endeavor to explain what these principles mean to us, and why we have chosen them as ours.

#####We at 8th Light are principled; and these are the principles we follow.