Thoughts on Craftsmanship in Software

November 5th, 2010
by Chris Chandler (DevelopingChris)

A lot of people, myself included, are thinking about how the software industry can instill learning and getting better industry wide.

The Software Craftsmanship movement seems to be the next iteration of this thought.

Its a thought process that there should be a very small gap if any between, getting it done fast, and getting done right.

There are a lot of concrete principles that people are associating with this movement. Single Responsibility, Open Close… However, that is a very narrow way to look at it. Especially if we expect all people in all languages to aspire to be craftsman of software.

To me it all comes down to how you assess where you are in terms of quality, and what needs worked on. Then working on those things in order to achieve a higher level of quality. If tested code is better than untested code, and you haven’t ever tested, or testing is very hard for you to do in a crunch, maybe you just need to practice testing more?

Deliberate practice, the kind that professionals in other fields use to be at the top of their game, is very much a part of this mind set. I’ve heard a lot of people echoing this sentiment without putting their finger on it directly. Analysis of where you are in terms of where you want to be, and identifying things you can practice to get to where you need to be.

So I am going to be writing a few articles on my thoughts of how I’m doing this, and maybe others can benefit from deliberate practice in the same way.

Posted in craftsmanship, Uncategorized | Comments (2)

2 Responses to “Thoughts on Craftsmanship in Software”

  1. Corey Haines Says:

    Deliberate practice is definitely one of the foundational principles of a lot of the software craftsmanship tought. This is why we really push coderetreat (www.coderetreat.com), katas (katacasts.com), dojos, etc.

    I like to say that, while other things are about developing quality software, craftsmanship is about developing quality software developers.

    Looking forward to reading more of your thoughts.

  2. Chris Chandler (DevelopingChris) Says:

    I like that way of thinking about it, the developer is the focus. After all if the developer is getting better the development and the software get better.

Leave a Reply