Provocative title? It's meant to be. Let's face it, we live in an age of streaming information coming at us in all directions, 24/7. Never in the history of mankind has so much knowledge been available to so many people so inexpensively, and that knowledge is only going to increase as time marches on. We are in a golden age of opportunity, possibilities, and avenues for exploration.
The problem is, most of us read something, we retweet it or hit share on Facebook, we thump our chest at our cool smugness of knowing something neat... and that's as far as it goes. My Favorites pane in Twitter is embarrassingly long. I don't know how most people use the Favorite feature in Twitter, but for me, Favorite means "this is something I want to take a look at later, so hold onto it so I can more carefully review it." I just checked my Favorites list... it's hundreds of entries long! The earliest item dates back to two years ago. Where would I be today if I had gone back to every one of those Favorited items and not just read them, but actually worked through each one of them; trying out a particular tool, writing code, asking questions, submitting tests, challenging the premises, or actually integrating the ideas or processes into my everyday work? I'll bet I'd be a lot more proficient in certain areas than I actually am.
Today's danger is not about lack of choices or options, it's that there are so many choices and options that we can drive ourselves to distraction. Me personally, I feel that I read a lot, but superficially dismiss a lot of it with a wave of the hand and an "Oh, I'm already doing that." Really? Am I? I may be "doing that", but am I actually doing as good a job as I could be doing?
The Software Testing Club recently put out an eBook called "99 Things You Can Do to Become a Better Tester". Some of them are really simple, general and vague. Some of them are remarkably specific. In either case, many of them are things that I already think I'm doing. I could read it and say "Yeah, those are good ideas..." and that would be the end of it. What if, instead, each and every day, I chose one of those items, and actually did something very specific related to it? What if, instead of a quick and cursory "oh, that's an interesting idea" I said "Hey, what if I really focused on this idea today. Could I add to it? Could I make a specific example? How far could I take this idea?" This takes us out of the passive mode. Now we're not just giving ourselves a pat on the back for how neat and awesome we are because we're smart and can do stuff. Now we're taking each line item and making a personal workshop for ourselves. In short, we are "actively doing", and active doing is way more valuable than just passively reading something and thinking "yeah, neat, whatever".
Many of us look at the examples in programming books, and we often dismiss them because we can do the exercise in our heads. We think "yeah yeah, I got it". The problem is, we are robbing ourselves of the opportunity to make broader jumps because we stop ourselves from doing that "basic training". When we get to a more challenging area, we often find ourselves stumped. I firmly believe it's because we don't give ourselves time to play with those very basic ideas early on as part of our daily training. Think of them as warm up sets before doing some heavy lifting. Another example, one that I'll borrow from The Secret Ninja Cucumber Scrolls. In it, every example has three implementations (Ruby, Java and .NET). I think this is really cool, not just because it shows different implementations, but if we were to structure what we do so that we had to look at it from three different perspectives, and implementations, I'm willing to bet we could way better connect the dots with concepts than if we just figure out what works "for us" and is expedient at that given point in time.
My goal for the next few weeks is to take this "99 Things" book and see if I can put my own personal spin on each of them, and make a personal workshop out of each one of them. An item may take a couple of minutes, or it may take several days or weeks. The key, though, is to act on them, or any other area that's been hanging around. Open up your bookmarks list and commit to making a workshop for yourself in every relevant link you've saved. What you do, or how you do it, is not important... just do something, already :).