Back in my high school years, I was an avid mountain biker. Sure, two cycling buddies and I would go riding after school, during weekends, etc, but “avid” more in the sense that we’d thoroughly consume every cycling magazine that would grace the shelves of the school library.
One of the articles I remember very clearly till this day had to do with the way professional cyclist train. One of the vital muscle groups that they aim to strengthen is the abdominal muscles. Apparently (and sensibly), it’s one of those muscle groups that greatly affects the performance of a cyclist, but isn’t actively strengthened in the act cycling. Therefore they would put themselves through a range of off-bike regimes in order to develop those muscles. Cross training, basically.
I can’t help but extrapolate that to the way I engage my programming craft. Given the abundance of introductory tutorials to various programming languages on the Internet, I’d spent many a weekend picking a new language or framework, working through a tutorial, and expose myself to the thinking behind it.
These days, while I code primarily in PHP against an enterprise-y object-oriented MVC framework, I find myself slipping in the occasional functional declaration, or borrowing an enumerator idiom from a different language. Things that I would’ve never done if I simply remained in PHP land.
So onward with my quest for more diverse cross-training, I had a go at Gödel, Escher, Bach: an Eternal Golden Braid. Today, after failing miserably at explaining it to a fellow nerdhead (she’s an econometricist), I figured I’d give it a rest and pick something a little easier – A Beginners Guide to Graph Theory 2e.
Wish me luck.