Intro to Apprenticeship Patterns
Apprenticeship Patterns is for software apprentices who are beginning their career in software development because it provides strategies to guide apprentices how to progress their career.
One of the most useful themes in the text was that a career in software development is a long road and it takes time to reach the end destination of being a “master craftsman.” I found this to be most interesting because it shows that becoming a master craftsman takes time and deliberate practice.
The history of the model in which the text draws inspiration from is what I found to be interesting. This model was prevalent in medieval Europe up until the Industrial Revolution. I enjoyed learning where the name journeyman comes from. This is because they were nomadic and had to travel city to city in order to learn new skills, further enforcing the long road analogy.
One of the most relevant chapters to me is chapter 2: Emptying the Cup. Chapter 2 gives the analogy, “if you already have a cup that’s full, how do you expect someone to fill it?” This analogy refers to going to learn from someone, but assuming you already understand what they are trying to teach. I found this to be relevant because when going to someone for mentorship; recognizing that they are more experienced, so going to them with an open mind is important.
Briefly looking at the apprenticeship patterns in chapter 2, one of the most relevant patterns is Concrete Skills. This pattern provides a strategy on how to know which concrete skills to learn. It states that an apprentice can collect CVs of people whose skills they respect. The apprentice can then use these as a list of skills that are useful to have. Another pattern that I found to be useful is Confront Your Ignorance. The context of this pattern is that there are gaps in your skillset, but are not sure how to begin to fill in those gaps. The text suggests the strategy of writing down a list of skills that may be gaps in a skillset. Then being deliberate about learning about those skills individually. Doing this may also lead to additional gaps in a skillset. This pattern is relevant to me because it gives a strategy of how to identify gaps in your skillset, by breaking down the gaps into small manageable tasks.
From the blog CS@Worcester – Zack's CS Blog by ztram1 and used with permission of the author. All other rights reserved by the author.