Apprenticeship Patterns

The latest addition to my programming canon includes a book titled Apprenticeship Patterns, Guidance for the Aspiring Software Craftsman. It is a collection of metacognitive tools that can be used to develop an efficient and tailored approach to learning the craft of software development. The authors begin by calling us to “never mind reality,” a tool that can be used to eliminate self-imposed stumbling blocks by dismissing them entirely. With that in mind, I felt especially spoken to as I read about growing myself and learning how I learn.

Learning is what this is all about: “An apprenticeship is a season in your career when your focus is more on your growth than almost anything else. This is a time to delay ambitions of immediately maximizing earning potential in order to maximize learning opportunities” (p. 10). I am fortunate enough to be in a position where my day job can support this budding hobby.

As I progress through reading the book in a linear fashion (one can also approach the book like a wiki, hopping from one interrelated cross-referenced topic to another) I have taken note of some particularly valuable words of wisdom that are applicable in these early stages of learning:

- Pick a language and get comfortable with it

- Be not-knowing

- Don’t hold back enthusiasm for learning

- Develop concrete skills with a toy app (like Tic Tac Toe!)

- Reassure fears of ignorance (that others have) with ability to learn

- Pick a tool and fill in the gaps

I am excited to apply -- and identify in my own experiences -- these patterns. I was particularly thrilled to see the work Carol S. Dweck referenced, as her book Mindset was one of the driving inspirations for my desire to retry something with which I first experienced a lack of success (programming).