There is a new buzzword in the Software development industry. This buzzword is “Craftsmanship” There is a Manifesto. There is a conference SCNA. There is a website. There is a new Academy. And there are many followers, one of whom I had the pleasure to be trained by back in 2006, Uncle Bob Martin, and one I have lunch with every now and then, Jared Richardson.
This is a new buzzword but it is not a new word to the industry. From everything I can gather it originated in Steve McConnell’s Book Code Complete: A Practical Handbook of Software Construction. In this book, (which every software developer in the world should read) Steve talks about the construction metaphor as it relates to software development. This linking of craftsman in construction to craftsman in software development is not a new thing.
What is new? Well, what is new is the pervasiveness of the word as it applies to software development. Software engineers are beginning to call themselves craftsman. The connotation of good craftsmanship is something that we all can strive for. It is a belief that we need to take some pride in our work and always do it to the best of our ability and if we discover that we made a mistake then we own it and fix it. This notion is spreading amongst our community at a rapid rate.
The community also champions many extreme programming practices like pair programming and test driven development. These are practices that enhance our craftsmanship while developing solutions to problems. I am very pleased that this word is becoming a part of our nomenclature. I have not always considered my work as full of craftsmanship, but you better believe I strive to fill it to the brim now.
Till next time…