Learning and Thinking

I’ve been meaning to write a few more posts about The Passionate Programmer. So, before I forget, here is one of those posts.

When I first read The Pragmatic Programmer 5 or 6 years ago, one of the many suggestions that stuck with me was the idea of learning a new language every year. I used this premise as an excuse to learn c# several years ago (the majority of my coding work in my career has been in c and c++). I’ve also learned Ruby, Perl and Powershell. Note – when I say “learned”, my goal is to be proficient enough to write basic utilities in the language and have a high level of readability in the language – not to be an expert by any extent. This year, my goal is/was to learn Python, but so far I haven’t invested enough time. In the meantime, I’ve become distracted by F# (but that’s a whole other post in the making).

Chad Fowler (auth, Passionate Programmer) talks about “Investing in your Intelligence”, and also suggests learning a new language. He doesn’t suggest a timeframe, but instead suggests it as a way to get yourself to think differently. As I read that section, I realized that this was the important point of learning. I think there’s learning for knowledge (getting facts or information), and learning for thinking (finding information that makes you think differently about something). When I read my first book about testing, I read it for knowledge. For better, or for worse, that’s what I got out of it. When I read another book, I got mostly the same thing – but when I read my third (as well as fourth through thirtieth), I finally began to form my own opinions and began to put deep thinking into many areas of software testing.

I know (and seem to know of) way too many people who listen to what one person – or one faction has to say, and blindly follow them rather than learning from them with the desire of thinking. They just want a formula or a tool to solve their problems rather than think about the principles of whatever they’re facing.

I think too many people learn only for knowledge (if they bother to learn at all). It’s interesting, that as I think about people I know who love knowledge, they are people who look for knowledge to change the way they think. It’s sort of obvious, but I’ve never thought about it this way before.