Apprenticeship Patterns: The White Belt
I love this pattern. More than simply a good approach to software craftsmanship, I believe wearing The White Belt is an essential life skill, with applications literally everywhere. Without approaching life with the beginner’s mind, we risk losing a virtually endless stream of opportunities for learning.
Get On Your Brain and Ride
One important trait of a person wearing the white belt is that he does not know what is important to learn. Earlier in my apprenticeship, I did not grasp this. I generally tried to hoard my attention, acting as if it were a very limited resource. And thus it was.
Nevertheless, there were, despite my “best” intentions, those days where I completely lost myself in learning something new. I would become so absorbed in learning, that I would frequently “come to” at the end of an unbelievably short day, and suddenly realize that I was hungry, thirsty, and that I needed to pee like a race horse. The world, including my own physical needs, had quite literally faded away. I always felt it was a guilty pleasure; however, without realizing it, I was stumbling onto the power of what scientists refer to as neuroplasticity. Studies have shown that people who believe their minds can continue to absorb new information —pretty much without limitation— are many times more effective at learning than those who believe, for instance, that in order to learn something new, we must lose something we learned earlier. The truth is that we haven’t even come close to tapping the human brain’s potential.
All too often, however, “common sense” would get the upper hand in my learning process, and it would shut things down. I’d fret that the things which were “distracting” me weren’t of any real value. I had, to some extent, swallowed some conventional wisdom that went along the lines of: find out which programming language is the most lucrative, find out which technology stacks are going to help you earn the most money, and study those to mastery. Blech. I had convinced myself that I had enough expertise to determine what was important to learn, and what wasn’t. But I really didn’t, and you don’t either, because that’s not the way it works. We learn what is important to learn…by learning. And that means we must start to learning before we’ve learned what’s important to learn. We have to stop worrying about wasteful learning and just start learning. Follow your curiosity.
Go To The Dagobah System
The simplest way to don the white belt is to ask questions. That’s what I did when I was making the transition from veteran Perl hacker to novice Java programmer. I found a mentor who tolerated my questions; an grouchy programmer named Bob who coached me through my introduction to Java unit tests and TDD. Our employer took a dim view on pair programming, but Bob and I pair programmed frequently. My boss quite literally told me to stop writing unit tests, but I kept at it anyway (my boss eventually came around). And anytime I had a question about design, or had gotten stuck on a problem, I’d put on my white belt and go talk to Bob.
This Ain’t No Beauty Contest
Humility is an essential requirement for wearing the white belt. When you wear the white belt, you set aside your expertise. You cannot simultaneously ask a mentor for help while reminding her that in some areas you have more experience than she does. It just doesn’t work. You have to be willing to be the dumb one. Sometimes, in the midst of hearing a few things you need to know, you’ll also get an earful of stuff you already know. Repeatedly butting in with “I know that” only ends the lesson too quickly. Rather than explaining how much you already know, try rephrasing what your “sensai” is saying, or better yet, apply it to a particular context. In this way you can demonstrate that you’re apprehending what your hearing.
Keep Your Pants Up
A few years ago my son was taking Tai Kwan Do lessons. He began with a white belt. Soon, however, he progressed to the point that he was able to pass his teacher’s requirements for a yellow belt. He paid the price in practice, and I paid the price by writing a check for each new belt my son earned. Consequently, as my son progressed, he began to accumulate a series of colored belts. Eventually he had a thick bundle of them. He hung them on the wall in his bedroom. And despite all the other belts he earned, he always remained the owner of a white belt.
That’s the way it is with any of us who have gained some experience. Whatever color your latest belt may be, you remain the owner of a white belt. The black belt programmer is simultaneously a white belt programmer, because there never comes a point at which it is appropriate to stop learning from others. To predetermine who can teach you something and who cannot is as shortsighted as I was when I was a beginner, when I tried to determine the most important programming language for me to learn. Stay humble, maintain your curiosity, and learn from absolutely anyone.