Being successful in IT means forever being committed to continual learning. But are there better ways to approach that learning? Are there times you get stuck when trying to move beyond what you already know? Do you find yourself somewhat fearful of moving outside your current level of expertise because you'll end up feeling stupid? Dave Hoover and Adewale Oshineye have written what I consider to be an *excellent* book on learning patterns titled Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman . Though you may think the "aspiring software craftsman" limits this to people starting out, you'd be wrong. There is so much wisdom here that I'll likely be referring back to it for years to come.
Software Craftsmanship Manifesto
Emptying The Cup
Walking The Long Road
Construct Your Curriculum
A Call For Apprenticeship
A Retrospective On The First Year Of Obtiva's Apprenticeship Program
The authors start by defining exactly what "software craftsmanship" entails. Among many of their thoughts, they define it as a community of practice that encompasses values such as a growth mindset, the need to adapt and change, being pragmatic instead of dogmatic, and the belief that we should share what we know instead of hoarding that knowledge. These values along with the others they talk about point strongly back to the individual's responsibility to control their own path and direction, and that's where the learning patterns come in. Instead of using a "hit or miss" method of gaining new skills, they outline a number of techniques, or patterns, which can help you maintain a level of structure to your learning, while also helping you avoid sticking points that can often derail us.
Each of the chapters focuses on a certain aspect of learning as we move up the levels of our craft. Emptying The Cup talks about how we need to approach new skills as willing beginners instead of struggling with feelings that we should know everything immediately. Learning takes time. Walking The Long Road focuses on how becoming a master in a language or skill is a long-term process. Just when you think you have a handle on something, you will look around and see others who are light-years ahead of you. But that's OK, as they have been traveling the long road just like you. Accurate Self-Assessment guides you back to making sure you measure yourself against the best (such as being the worst in a group of experts) rather than feeling you're an expert in a small pond. Perpetual Learning is just that... the constant quest to pick up new information and incorporate it into your skill base. And finally, Construct Your Curriculum helps to guide you to resources that will give you the most value for the time spent reading and learning.
This book grabbed hold of me early and didn't let go. I'm personally in the process of trying to gain some new technical skills, and I sort of wondered if I was struggling with the feeling of "being stupid" when it came to comparing what I need to know with what I already know in the Notes/Domino world. The answer to that was a resounding "yes!" Patterns such as The White Belt (setting aside my previous knowledge to learn new knowledge) and Confront Your Ignorance (pick a skill and actively fill in the gaps in your knowledge of it) made perfect sense to me as I work through my new learning. Because it's been such as long time since I was a "beginner" with a new technology, it's easy to forget these mindsets and as a result end up struggling. I appreciated being reminded of them in a way that I can actively use them again.
On a side note... It's not a stretch to look at these patterns and find that you could apply them to *any* sort of new learning. Granted, most of the commentary on each pattern is software-related, but most transcend that narrow niche. Take a skill such as writing... Most (if not all) of these patterns still apply. You don't learn how to write in three months and then stop because you've learned everything. You need to continually practice, seek out advice and mentoring from those better than you, focus on different aspects where you're weak, etc. Following these patterns in any new endeavor will greatly enhance your chances of becoming a craftsman in that area.
While this book won't teach you a new technology, it will most definitely help you learn that new technology in a way that is sustainable over the long haul. Incorporating these mindsets into your life will do wonders to make you feel much more competent, as well as helping you to enjoy the journey along the way. Apprenticeship Patterns is a highly recommended read.