I’ve been privileged to work with some very capable people over the years in the software field. One of the benefits of working with such capable people is that some of their principles and practices rub off if you hang around them long enough.
I’ve tried to keep my eyes open and remember some of these principles and their associated practices, and on the whole I think I’ve managed to do that pretty well. I don’t necessarily claim to practice them all, but I do remember them at least
Years before the term become common, these were the true craftsman (and craftswomen) of our industry.
Over a series of posts here I’m going to try to regurgitate, record and share some of these principals and practices, in the hopes of trying to document what sets apart a genuine software craftsman from the rest of the people in the business of making software.
I’ve tried to organize the posts around specific principles or specific practices.
By Principle I mean some underlying belief or unwritten rule of conduct that software craftsmen hold true. It may not be something they’re even consciously aware of – although part of my goal in documenting this kind of thing is to create that consciousness, if it’ not already there.
For practices I mean the activities that craftsman undertake in their day-to-day work that supports and actualizes the principles we talked about above. What do we do and what principle does that activity come from?
I’d also like to hear your tales from the trenches, and what you think are some of the best attributes of excellence. If you’re a software craftsman (and yes, when I say craftsman I’m always including craftswomen as well, but the DRY principle prevents me from writing it all the time), then tell me what you think the founding principles of our discipline are, and what practices you follow to uphold and promote these principles.
If you don’t feel like commenting here on the blog just drop me a line my email address anytime.
You never know, I might even write a book on the subject eventually!