The term software craftsmanship according to Dave, represents a value system that focuses on the practice, as opposed to the university taught theory and has a focus on the individuals accomplishment and progress in the "trade" of software engineering.
I won't go into all of the patterns, however there are some striking similarities between the profession of writing code and other trades.
- There seems to be a high level of job satisfaction associated with creating something that is tangible and of direct use to others.
- Craftsmen tend to like what they do and would do it for free anyway. Their primary focus is to become better at what they enjoy doing, not the money which is involved. Most people tended to agree with that, and someone even stated "the more you pay someone to program something, the less they want to do it" or "I don't know any accountants that go to Geek Nights doing the books".
- The search for beauty in the craft seems to be another important driver. People drew some interesting similarities between the common tendency of overengineering a solution for the sheer joy of it and an artist in the classic sense and his attention to detail and beauty. One of Dave's patterns, "nurture your passion", even suggests to actively seek out tasks that keep your passion alive, especially when exposed to an otherwise professionally boring environment. Some people argued this is why open source software exists in the first place as a means to vent creative energy otherwise unused.
- The "Draw your own map" pattern suggests that being craftsman, you start having a career plan which details how you advance over time, where to go and what to master. The general concensus seemed to be that this is awfully hard in IT, with the ever changing technology making planning close to impossible and also the fact by the time you are old and wise enough to be a master, something very well accepted in the classic trades, being 40 years old in IT you are just a little bit out of fashion. I could not resist thinking "Fortran Master", apparently I was thinking out loud, because everyone started laughing at me. Jason Yip's take at this seemed to be more along the lines of "go with the flow, good things will start to happen around you". Overall I could sense a degree of hesitation when it came to planning one's career. Most people seemed to agree that software development lacks a an accepted career path you can progress for life.
For me, the subject was a definitely a fresh perspective, a new way of looking at what I do and it seemed to spark quite some interest with the crowd, based on their reactions. Interesting closing comment on the maturity of a software engineering trade, overheard after the talk "We're like the bridge builders in the middle ages. We build something, wait until the whole thing collapses, then we change the design and build another one".
I recommend reading the patterns, if you're interested in more.

1 comments:
I wrote a long, aimless rant about the bridge-building metaphor last year: http://fishbowl.pastiche.org/2004/01/13/the_art_of_programming
Post a Comment