Pragmatic Thinking and Learning

I started reading this book because the title was very geeky: “Refactor Your Wetware”, and I’m glad that I read it. Although the book itself was published in 2008, it presents the ideas which are pretty much timeless: Learning & Thinking.

As a knowledge worker, learning and gaining knowledge are central to what we do, but it’s also important to use that knowledge. And that happens when one starts thinking in terms of knowledge he or she has. The book extensively deals with these three ideas: learning, gaining knowledge and thinking in terms of that knowledge.

Central to the book are some mental models which Andy Hunt, the author, uses to explain the ideas in the book.

The Models #

Dreyfus Model #

The book starts by presenting the Dreyfus Model of skill acquisition, which was successfully applied to the profession of clinical Nursing in the 1980s to counter some of the challenges which were faced by the nurses (see Patricia Benner’s book From Novice To Expert). Hunt tries to bring the same idea for the field of software because there are some parallels in our field with what was happening to the profession of clinical nursing in 1980s.

Dreyfus model is a skill based model, which outlines the different levels each one your skills might have:

  1. Novice
  2. Advanced Beginners
  3. Competent
  4. Proficient
  5. Expert

It’s a per-skill model, therefore I can be an expert cook, a novice driver, and a competent programmer.

The idea is that a novice deals mostly with the smallest picture, with no focus on the underlying patterns of the problem, and the expert tries to solve the problem at hand using the intuition, and always looking at the big picture.

CPUs and Shared Bus #

The book then presents a geeky model for the brain: one where the brain has 2 modes: the L-Mode and the R-Mode (similar to the Left and Right hemispheres of the brain), dealing with the the analytics and intuition respectively. These modes share a common “bus”, and any one of the modes can access it at a time. The L-Mode is the chattier of the two, providing the “voice”, and always ready to hog the bus not letting the R-Mode to provide its inputs.

As per this analogy, the L-Mode provides the focus that someone needs to solve the problem, but also the imposter syndromesque self doubt. R-Mode, on the other hand, provides the A-ha moments where the solution of the problem strikes like a bolt of lightning.

Hunt argues that as geeks & knowledge workers, we mostly overuse the chattier L-mode and not enough of the intuitive R-mode. If we start using both the modes of the brain, we can unlock a lot of potential.

The Experts #

Hunt argues that the experts mostly deal with the big picture, trying to solve the problem at hand using the intuition and patterns which they have learned and crafted over their careers. I believe the intuition is simply the battle scars earned when the solution failed.

Therefore, one way of becoming an expert is to develop this intuition, which can only happen by learning, understanding and using the knowledge that you’ve gained.

The rest of the book gives practical tips on how to do just that, while also touching on a lot of other topics like philosophy, culture, generation, brain analogies, biases etc.

The Tips #

I really liked some of the practical tips that the book presented. Here are some of them which I pulled out, though there are many others:

Learning #

Focusing & Thinking #

Using the Knowledge #

Once you’re focused on something, and are learning more about it, it’s also important to use that knowledge.

Engineering Notebook #

To solve this, Hunt provides the idea of having an engineering notebook where all your ideas and learnings go.

While good at the surface, I’d argue this one might not be a perfect solution. I’ve kept one from 2016 but it’s essentially dead because finding any idea or learning is pretty difficult in a flat architecture. My mind defaults to searching on StackOverflow instead of searching through this repository.


Personal Wiki #

Another idea presented in the book to counter some of the effects of a flat engineering notebook is to have a personal Wiki, a hyperlinked knowledge base where you add in the learnings, in your own voice, instead of copy-pasting stuff verbatim from the internet or ebooks.

Over the last few months I’ve gravitated towards a similar framework. The idea was presented in another excellent book How To Take Smart Notes. A few internet searches and recommendation of a friend led me to Roam Research. Luckily, Emacs has a package called org-roam which tries to replicate some of the functionality. So far, it’s been a wonderful addition to my toolbox.

Teaching #

“If you can’t say it clearly, you don’t understand it yourself.”

  • John Searle

Anyone who’s presented a talk knows how that leads to a lot of learning in itself. Some of it is because we do a lot of extra preparation since we don’t want to be ashamed in front of an audience, and some of it is because presenting ideas in your own voice creates new pathways in the brain which solidifies the concepts. At a more smaller level, explaining something to a rubber duck also helps.

Hunt suggests to do some teaching in the form of Lunch and Learns, Seminars, Talks, or even tricking your coworkers to listen to your ideas (I made this one up, sorry).

The End #

This is a great book, touching on a lot of different topics. The book showcases easily approachable and well structured ideas backed with research in an engaging way.

A similar recommendation would be How To Take Smart Notes which provides a more focused approach on just taking really good notes for your personal knowledge base.