Last week I had posted about my first look at ‘Apprenticeship Patterns’ by Dave H. Hoover, and Adewale Oshineye. In it I discussed how the little bit I had read at the time had left a lasting impression on myself and how I view my current software development skill set (you can read more about it here: https://wp.me/pdn9fs-1q). Since then I have read more and will be starting a multi week long endeavor to go over some of the patterns that stuck out the most to me. A pattern that stuck out to me in Chapter 2 titled; ‘The White Belt’ will be what I discuss today.
Many of you may already realize what it can mean to wear a white belt. Generally those who wear it are considered inexperienced, untaught, or just starting out. What many might not realize however is that it is not only a marker of one who is inexperienced but one who is seeking to learn.
The book starts this chapter by describing a situation many software developers may have found themselves in at one point or another. You have developed a deep understanding of your first language but it feels like their pace of self-education has slowed down or even stalled out entirely. The solution presented is to set aside previously knowledge as you approach new situations.
It is often said that at a young age you absorb information like a sponge and as you age you just cannot learn like you did as a child. Maybe the reason we learned quickly as a child is because you had nothing else to reference to try and make sense of a new subject. When learning a new programming language, it can sometimes be beneficial to start with just that language in a vacuum without thinking of how it compares to other languages.
I found myself that learning how to create a REST API backend required me to unlearn anything prior and start from the beginning. One of the authors, Dave Hoover took this approach as a family therapist to keep from feeling they had an expert knowledge on the troubles of different families. Therefore I will leave everyone with a challenge from the authors themselves. Find an opportunity to unlearn something, ideally something that forces you to set aside past experiences like moving from Java to C++. Many are in general afraid to set aside their past experiences for fear of being seen as silly and inexperienced however you will know just as much weather you openly admit it or not. Being willing to face a new challenge without the burden of past expectations can sometimes lead to unexpected solutions.
Hoover, Dave H., and Adewale Oshineye. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. O’Reilly, 2010.