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 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:
- Advanced Beginners
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.
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.
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:
Create a Knowledge Portfolio just like you’d create a Financial Portfolio:
- Invest (have short term and long term learning goals)
- Contribute regularly to benefit from dollar cost averaging (schedule some time weekly to learn)
- Diversify (don’t get hung up on a single technology or language)
- Balance your allocation (regularly visit and cull out ideas which don’t work out, add new ideas)
Have SMART goals
Use patterns like SQ3R to read and assimilate whatever you’re learning
Use MindMaps to frame out ideas and connections between various topics
Have quick feedback loops. This would mean quickly testing out approaches and ideas, a lot like having Tests to check the implementation and VCS like Git to revert the failures.
Focusing & Thinking
Habits like Journaling and Meditation helps by shutting down the L-Mode and let R-Mode use some of the shared bus. Other “boring” stuff like doodling, defocusing, doing your dishes, and taking walks also has the same benefit. As long as you’re not focusing on something, and can shut down the “chatter”, R-mode tries to be the default mode.
Start with intuition (R-Mode), then be analytical (L-Mode). This means trying to use the knowledge and patterns that you’ve used before, but then verifying them to make sure you’re correct.
Using the Knowledge
Once you’re focused on something, and are learning more about it, it’s also important to use that knowledge.
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.
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.
“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).
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.
LastMod May 17, 2020