Quality in Craftsmanship

In the creation of products, some people are more concerned with quality than others. Moreover, among those who do care, different people have different notions of what “quality” means. There are, at least in software development, a few broadly known admonishments and maxims regarding quality in production. There are those who stress the importance of polish and perfection in the final product, others the necessity of shipping something ugly that will reach an eventual state of quality through iteration, and many positions in between. Nearly all of these focus on the ends of production, though, whether in the near or far term—the final product is the measure of quality.

There is certainly merit to judging quality based on the final product, but I hold a more essential notion of quality that encompasses the entire process of creation. Practically, in software, I am generally wary of pixel perfection and the drive for a flawless end product: we are human and there will always be mistakes and available avenues for improvement. On the other hand, shipping something ugly with the idea that it will eventually achieve quality misses the very essence of quality craftsmanship. Quality is not just a description of an end product’s value, but a method and work philosophy all its own.

As the story goes, when a carpenter builds a set of cabinets for her own home, she won’t use cheap particle board for the unseen back of the cabinets—she will use quality materials throughout because she will know exactly how the cabinets are made and will think of it every time she’s in her kitchen. Still, the quality of the cabinets is not just in their finished state, but in the placement of every nail, seam, screw and drawer roller along the way. Quality is a state of mind and a state of work during every step of creation. A quality craftsperson, then, is a person who has arduously built up the experience, skill and patience for the creation of quality bits, at every step.

In software, this means that every piece of code and UI matters on its own, as it’s being crafted. Quality takes on more of a verb-like nature under this conception: to create quality is to care deeply about each bit of creation as it is added and to strive to improve one’s ability to translate that care into lasting skills and appreciable results. When I think about improving quality in the creation of a product, I think more about the individual creators’ attitudes, skills and individual bits of creation than any overarching measure of quality. Our shared fallibility is a fact best internalized early in our careers, such that the constant strive for personal improvement and project investment will lead to an ever-increasing ramp of quality creation. Sweat the details, yes, but make those the details that improve your process, translate your passion and help you create more quality.