Software Craftmanship is a hot topic. Like all fancy terms it is subject to inflation. What does Software Craftsmanship mean when different people use it?
Martin Fowler retreaded an article about Semantic Diffusion which addresses this point. In this blog post I try to expose the values of Software Craftsmanship I held dear.
It is a Journey
The metaphor used by the software crafsmanship movement is that of a guild.
A guild (German: Gilde) is an association of craftsmen in a particular trade. The earliest types of guild were formed as confraternities of workers.
Before an apprentice could become a true master she would have to work as a journeyman. Learning the tricks of the trade while travelling from master to master.
For my, This journey symbolises that software craftsman continously improves her skills. Furthermore she should sieze every oppertunity to learn the “secrets” of the craft.
This implies having an open mind, accept critisims and be inquisitive.
Become a Giant
Famous scientist Isaac Newton is purported to have said to ”stand on the shoulders of giants”. I certainly remember that I gained a lot with the aid of others. In this modern day of age one can learn a vast amount of skills, opinions and trivia via books, forums, blogs, podcasts and social media.
I would look to take to oppertunity to give back to the same community that trained my to become the software craftsman I am today. I do this by playing an active rather than a passive role in the commity. I aspire to give talks about various subjects. I answer questions in forums, I patch bugs in software, create open source projects and I maintain a humble blog.
In my opinion a software craftsman should look out for her fellow guildmembers.