Over a million developers have joined DZone.

The Codesmith

DZone's Guide to

The Codesmith

· Agile Zone
Free Resource

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

If you follow the likes of Uncle Bob Martin I’m sure you will have heard of putting craftsmanship into your coding. The book Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin) is an excellent place to start if you haven’t. I’m not the first and definitely not the last to compare coding to craftsmen in today’s world and in previous times in history.

So what makes a craftsman? Or craftsperson? Well in my mind a craftsperson is someone who not only creates something from nothing from materials of their choice, but usually puts a part of themselves into what they make. A good craftsperson takes the time and effort to make something of quality which is worthwhile to have and which will still function way after the crafted item has been made. Good craftsmanship is synonymous with quality products.

So what has this got to do with writing code?

Well I think we are at a point in time where people who write software are much like the craftspeople and artisans in times past. Software is not yet something that can be easily manufactured on an assembly line. Some type of software products have been commoditised but the process is not yet mature enough for it to be turned into an assembly line activity.

It’s a bit like blacksmiths used to be. Nearly every village had one, some of their work was mundane but sometimes they were asked to create works of greater sophistication. The concept also fits nicely with having apprentice, journeymen and master smiths. If you follow the craftsmanship movement within software you will know that in some software shops these ideas are taking hold.

If you take a look at the wikipedia entry for metalsmith you will see there are smiths of all descriptions including wordsmith and tunesmith. So I like the idea that we should call ourselves codesmiths. To me it implies a certain level of craftsmanship and implies a progression from apprentice to master.

If you are interested in the software craftsmanship movement then why not check out the site

So are you a codesmith? I would love to know if you like the idea or not so why not leave a comment.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.


Published at DZone with permission of Chris Odell, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}