I read through Chapter 1 of Apprenticeship Patterns a few times and really like the approach of seeing software craftsmanship in different levels. When I think about it I guess that I’ve always thought of software development as either able to do it or not and getting better at it as you practice. I like the idea of seeing it as being an apprentice, a journeyman, and a master. It puts software craftsmanship in the same boat as other skills and trades. It makes it sound like something that is more attainable to more people who are willing to practice at it. Many times in just the past three and a half years of school when I tell people that I am majoring in computer science quickly say that they could never do that. The truth is they could if they wanted to and practiced at it. It is a skill/trade like plumbing or car maintenance. You may not know anything now, but if you went to school for it or took the time to learn on your own you will grow your toolkit. Seeing it as three levels is nice and makes it seem like less of a constant climb, it still is because the field is always changing, but when you reach the next level it is a little accomplishment rather than a constant climb with no specific advancement. As the book says though that the definitions of apprentice, journeyman, and master are not the same as you would find in a dictionary. For other trades there are unions set up and standards set in place that dictate when someone moves from apprentice to journeyman and journeyman to master. There is no such set up for software development. That would be an interesting development in the field if there was a governing body of some type and software developers created a union type set up. I don’t believe that it will happen though as it is a new skill/trade and not seem the same as a plumber or an electrician. For software developers it will be a more gradual and seamless transition rather than taking a test or working in the field for a certain number of hours. As a portfolio grows and more skills are learned a developer will start to either search for a job at a higher level or start taking on more responsibilities at their current company. Then without realizing they will be in the role of a journeyman and have a few apprentices that they will be around and either intentionally or unintentionally inspiring them and helping to shape their careers. Then years later after working on many projects and taking leads they will make another gradual transition to become a master of their craft. These won’t be as pronounced as your more traditional skills and trades. I don’t think that it will change anytime soon because it is viewed differently than physical trades.