The following is an excerpt from my recent post to the software craftsmanship group where I followed Matt Heusser's lead and described why I am a part of the group:
I think this sort of "why I am here" declaration is a good idea. And Matt's email made me ask myself why I am involved in this group and how I ended up here.
First, I would like to start out by recommending that anyone who is serious about software craftsmanship go out and read Pete McBreen's book "Software Craftsmanship". I think it's a critical starting place for these discussions, and on a more personal note, the book had a huge impact on me. Probably the biggest reason I am a part of this group is that I have no where else to go. :) I was a later-in-life self-taught programmer who had a wife and child(ren) to support from the day I wrote my first for loop, so I have no formal scientific or engineering education, and I don't have the option of taking time off to obtain one. And yet I want to become great at what I do. In my first two years as a programmer I started to despair about my lack of relevant education. It seemed that without computer science or software engineering credentials, I was going to have a hard time making progress. But then I read "Software Craftsmanship" and I felt like I could fit into the world that Pete was describing. I could see myself in the story, and I recognized that I was an "apprentice". This gave me the "career map" I needed which allowed me to take the steps I needed to make progress. Neither computer science nor software engineering provided this map for someone like me. So, unlike some people (like Pete) who argue strongly against software engineering, I am mostly ignorant of it and choose software craftsmanship because I didn't have any other options.
The steps I took after reading Pete's book obviously shaped the way I look at software development. And because these 6 years since I read Pete's book have been largely positive for me, I would like to encourage other people to walk a similar path, to help them make similar progress. That is one of the reasons I wrote "Apprenticeship Patterns". I would also like to improve the apprenticeship experience and raise the bar for what we expect from someone with 4, 5, or 6 years of experience in our industry. That is one of the reasons I started Obtiva's apprenticeship program. I want to instill a desire in people to become master craftsmen, which is a very counter-cultural, yet increasingly important role to play (see http://search.safaribooksonline.com/0201733862/ch11lev1sec1).
So, I wonder what we as a community can do to improve these things even more. I wonder how we can make it easier for companies and individuals to take on apprentices. I wonder how we can make it easier for companies and individuals to host and send journeymen to spread great ideas between development shops. And most critically, I wonder how we can ensure that our master craftsmen stick with the fundamental activity of actively developing software for long-term customers (see http://search.safaribooksonline.com/0201733862/ch08lev1sec7).
I'm honestly not interested in any criteria that would allow us to distinguish an apprentice from a journeyman or a craftsman from a non-craftsman. When it comes to a set of principles that a software craftsman should adhere to, I think Pete's book serves as a good enough starting point. I realize now that I'm here because I hope that we can organize a network of people to encourage the 3 activities that I've seen make the biggest impact on people becoming software craftsmen. I'm here because I'd like to see us:
- Facilitate the introduction of apprenticeships, similar to 8th Light's and Obtiva's
- Create a structure that encourages journeymen to journey between development shops, similar to Corey Haines' tour
- Seek out master craftsmen and identify their masterpieces and contributions to the craft, to provide the rest of us with something to aspire to
Hide comments

RSS
Comments
