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.


Comments (4)

  1. Hi, Alan…

    You might be interested in a book called The Social Life of Information, by Paul Duguid and John Seely Brown.  Among many other valuable things, it talks about an idea from (I think) Jerome Bruner&mdash;the difference between knowing <i>about</i> and knowing <i>how to be</i>.  It seems consistent with what you’re discussing above.  (Note that this stuff doesn’t appear on the Wikipedia page on Bruner.)

    —Michael B.

  2. alanpa says:

    Thanks Michael – I’ll check it out.

  3. Jennifer Vu says:

    Hi, Alan…

    I am Jennifer, from Singapore. I am considering learning new languages (like Spanish, French and German). Then I found out your great opinion of learning: "learning a new language is like learning to think in a new way". Though what you are talking about is the language of programming, I still believe that this principle does work in both situations. So thanks for your insightful entry.

    I kind of find out that our mindsets have some common share!

    vuminhhuong2802@yahoo.com

  4. Marlena says:

    There’s no certificate for critical thinking skills.