Posts Pragmatic Thinking and Learning

Pragmatic Thinking and Learning

This blog is the notes for the book: Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt.


  1. Always consider the context.

  2. Rules for novices, intuition for experts.
  3. Know what you don’t know.
  4. Learn by watching and imitating.
  5. Keep practing in order to remain expert.
  6. Avoid formal methods if you need creativity, intuition, or inventivenss.
  7. Learn the skill of learning.

  8. Capture all ideas to get more of them.
  9. Learn by synthesis as well as by analysis.
  10. Strive for good design; it really works better.
  11. Rewire your brain with belief and constant practice.

Chapter 2

  • Novices(rules) -> Advanced Beginners(no big picture) -> Competent(troubleshoot) -> Proficient(self-correct) -> Expert(intuition)
  • Unskilled and unaware of it. In the contrary, an expert are always thinking about how little they know.

    “Ignorance more frequently begets confidence than does knowledge.” – Charles Darwin

  • Most people are just advanced beginners.

skill distribution

  • Deliberate practice requires four conditions:
    • A well-defined task.
    • The task should be challenging but doable.
    • An environment that supplies informative feedback that you can act on.
    • Opportunities for repitition and correction of errors.
  • Take responsibilities. “I was just following orders!” doesn’t work.
  • Power of good examplars. Imitate -> Assimilate -> Innovate
  • There is no expertise without experience.
  • Again, context matters! “It depends.” They are right.

My thoughts:

  • Regarding the statistical modelling course, I always asked for formal methods to a certain problem. The thing is: Context!
  • Either when I try to understand STAT or MATH course, I neglect the intuitive understanding and always chase for the one-step-by-one-step proof. I need to focus more on intuition.

Next Actions:

  • Rate yourself.
    • Advanced beginner in statistics. I cannot get the big picture but the good thing is I don’t just try to find a formal rule and follow it.
    • Novices in math. Always get stuck in the trivial rules to solve a problem, the formulars, and the theorems. Seldom think of the connection.
  • Identify the levels of other skills.
    • Novices in R. Kind of google-coding. When I meet a problem, I would just google it and use it, but not try to understand it and memorize it. Usually, I would search for the same problem again and again.
    • Novices in Python. Only know a little about the grammar and don’t have full understanding of the background. Lower level than R.
    • Novices in $\LaTeX$, also kind of google-coding.
    • Novices in Linux. Don’t fully understand the mechanism. Only memorize certain command.
  • Decide what you need to do to advance these skills.
    • Read more statistics classical books to obtain the big picture and how experts think.
    • Do exercise in math problems and read more proof. Try to get a basic understanding of how mathematicians do analysis.
    • Take notes after searching the problem and review them everyday.
  • Think of your teammates: Where are they on the journey? Hoa can that be helpful to you?
    • My classmates are really good at math and they usually do the problems in a concrete way, not the abstract way. They could use concrete idea to understand the essence of the problems. I could ask them how they think regarding problems. The formation of their idea might give me some good starting point.

Chapter 3

  • L-mode and R-mode. R-mode sees forest; L-mode sees trees. When one CPU takes the resources, the other cannot use.


  • Our brain needs refreshing. If it stops running, it forgets everything.
  • The idea from R-mode is difficult to describe. Once you try to describe it in detail, it may go away.
  • Be ready to capture any insight or idea at any time. Use notepad.

good ideas

  • Learning by synthesis vs. Learning by analysis. The better way to learn a frog is to build a one.
  • Design trumps features. Attractive works better.
  • Your working environment needs to be rich in sensory opportunities. In a rich environment with things to learn, observe, and interact with, you will grow plenty of new neurons and new connections between them.
  • Aesthetics makes difference. Recall the Broken Window Theory. The layout of your code and comments, the choice of variables, and the arrangement of your desktop.
  • Just thinking that your brain has more capacity for learning makes it so.
  • “Use it or lose it.” Your brain will dedicate more resources to whatever you are doing the most.

Next Actions:

  • Make a short list of your favorite software applications and the ones you despise. How much does aesthetics play a role in your choices?
  • What aspects of your work and life target L-mode? What aspects target R-mode? Are they in balance? What will do differently if not?
  • Keep a doodle pad on your desk and keep something for $24 \times 7$ note taking.

Try This:

  • Make a conscious effort to learn something new primarily by synthesis, instead of analysis.
  • Try creating your next software design away from the keyboard and monitor.
This post is licensed under CC BY 4.0 by the author.