Over a million developers have joined DZone.

The Codesmith

DZone's Guide to

The Codesmith

· Agile Zone
Free Resource

Speed up delivery cycles and improve software quality with TestComplete. Discover the most robust automated testing tool for end-to-end desktop, mobile, and web testing. Try TestComplete Free.

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.

Release quality software faster with TestComplete. Discover how to decrease testing times and expand test coverage with the most robust automated UI testing tool. Try free for 30 days.


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

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

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 }}