Expand Your Bandwidth

One of the apprenticeship patterns that stuck out to me recently is called “Expand Your Bandwidth.” The authors state that “while [expanding your bandwidth] will accelerate your learning, it will slow down your development velocity.” I experienced this directly while I was reading Bob Martin’s Clean Code and working on the Ruby Koans. For about two weeks I found that I had made zero commits to my GitHub repository containing my Tic Tac Toe game in ruby. I was beginning to dismay at my lack of progress. But when I finished reading the book and working through the exercises to learn ruby, I realized I had all sorts of knowledge that I could implement, and the following two weeks were incredibly productive. Not only that, but I was sure the work that I was putting into my toy app was of the quality that I was striving for. Had I not taken the time to devote to reading and ‘expanding my bandwidth’ it is unlikely that my programming would either have progressed as much as it did or that it would be of the quality that it is. I am by no stretch of the imagination finished with the project, but I am well on my way and certain that I am headed in the right direction.