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.
Contents: Software Craftsmanship Manifesto Introduction Emptying The Cup Walking The Long Road Accurate Self-Assessment Perpetual Learning Construct Your Curriculum Conclusion Pattern List A Call For Apprenticeship A Retrospective On The First Year Of Obtiva's Apprenticeship Program Online Resources Bibliography Index
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.
What did you think of this review?
Fun to Read
About the reviewer
Thomas Duff (duffbert)
Thomas Duff, aka "Duffbert", is a long-time member of the Lotus community. He's primarily focused on the development side of the Notes/Domino environment, currently working for a large insurance … more
Consider the Source
Use Trust Points to see how much you can rely on this review.
Are you doing all you can to further your career as a software developer? With today's rapidly changing and ever-expanding technologies, being successful requires more than technical expertise. To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft.
Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career.
Solutions to some common obstacles that this book explores in-depth include:
Burned out at work? "Nurture Your Passion" by finding a pet project to rediscover the joy of problem solving.
Feeling overwhelmed by new information? Re-explore familiar territory by building something you've built before, then use "Retreat into Competence" to move forward again.
Stuck in your learning? Seek a team of experienced and talented developers with whom you can "Be the Worst" for a while.
"Brilliant stuff! Reading this book was like being in a time machine that pulled me back to those key learning moments in my ...