Created
October 20, 2009 21:12
-
-
Save sl4m/214624 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | |
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. | |
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: | |
1) Facilitate the introduction of apprenticeships, similar to 8th | |
Light's and Obtiva's | |
2) Create a structure that encourages journeymen to journey between | |
development shops, similar to Corey Haines' tour | |
3) Seek out master craftsmen and identify their masterpieces and | |
contributions to the craft, to provide the rest of us with something | |
to aspire to. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment