Pragmatic Thinking and Learning

Ch. 1 Introduction

  • Two most important modern skills:
    • Communication 
    • Learning and thinking
  • Agile methods improved communications between developers and customers
  • This book is about improving learning and thinking skills
  • Nothing exists in isolation, but is part of a larger system
    • A tree is not a single object, has the system of air/leaves and roots/earth

Ch. 2 Journey From Novice to Expert

  • Difficult for experts to explain their actions
    • They unconsciously perform, making tasks looks easy
  • Five Dreyfus Model stages
    • Novice: little or no experience, need specific instructions
    • Advanced beginner: start to break away from rules, but have difficulty troubleshooting
    • Competent: troubleshoot problems on their own, can solve new problems
    • Proficient: can correct previous poor task performed by revising their approach, learns from listening to mistakes/experience of others
    • Expert: work from intuition, knows difference between irrelevant and important details
  • Defining a set of strict rules helps novices, but hurts experts
  • 10,000 hours to become an expert
    • Need a well-defined task that’s challenging but doable
    • Environment should supply informative feedback, opportunities for repetition, and correction of errors
  • Learning: imitate (learn rules), assimilate (get experience), and innovate (go beyond)
  • Group dynamics: only as good as the weakest link, must keep team together for a long period
  • Infinite regression: once you explicitly define one set of assumptions, a new set of assumptions arises that must be addressed…and so on
  • Avoid formal methods if you need creativity, intuition, or inventiveness

Ch. 3 This is Your Brain

  • Your memory is composed of visual pictures that are hard to put into words
    • Can recognize a face, but difficult to describe every detail about the face
    • Memory must be refreshed, you can forget how to do tasks, “use it or lose it”
  • Left and right hemispheres of the brain process information differently
    • Left: verbal, analytic, symbolic, abstract, temporal, rational, digital, logical, linear
    • Right: non-verbal, non-rational, synthetic, concrete, spatial, intuitive, holistic
    • Left brain analyzes the parts (trees) and right brain sees the overall patterns (forest)
  • Learning by synthesis (building) is a powerful learning technique
    • Building a model of a frog from scratch vs. dissecting a frog
    • Dissecting is good for analysis though
  • Design trumps features (aesthetics matter)
    • iPod package says how many songs the device can hold
    • This is a huge difference from how many gigabytes, consumers don’t care about gigs
    • Better designed products work better, strive for that good design
  • Cubicles kill neurons
    • A programmer stuck in a cubicle will not grow new neurons
    • Need a rich environment full of learning, observing, and interacting
  • There is no upper limit to the number of skills you can attain, as long as you believe so

Ch. 4 Get In Your Right Mind

  • Activate more neural pathways in your brain by involving more sensory inputs
    • Instead of using a commercial tool (UML) to design, use colored toy blocks
    • Draw a picture of the design (not an official diagram) that serves a visual metaphor
    • Describe the design verbally
    • Engage in discussion with team members about the design
    • Act out the roles involved, using physical metaphors
  • Example: rock climbing
    • Instructor tells group of people who never rock climbed before to start climbing
    • Safety gear and everything was put on, and then the instructor left for 30 minutes
    • The instructor returned and then began his lecture about rock climbing
    • Techniques (such as shifting your weight) made more sense because participants already had that initial exposure
    • A safe environment, with multi-sensory experimental context was provided
  • Better off to start with a crappy first draft than to never complete a perfect one
    • “Write drunk, revise sober”
    • Don’t be in a hurry, let all creative ideas flow out
  • Use metaphors to creatively draw comparisons between two unrelated ideas
    • Cultivate humor to build stronger metaphors
  • Do morning brain dumps by writing out on paper your thoughts
    • Write down anything that comes to mind, soon you will see your creative side come out
  • Step away from the keyboard to solve hard problems
    • Go on a walk and keep the problem lightly in your head
    • Change your viewpoint to solve the problem
  • Don’t get stuck in a mental rut
    • Your morning routine is done exactly in order, even down to the tooth that gets brushed first
    • Change the order you perform actions, use your non-dominant hand to brush instead

Ch. 5 Debug Your Mind

  • Beware of cognitive biases such as anchoring, fundamental attribution errors, etc.
  • “Rarely happens” doesn’t mean “never happens”
  • Avoid lizard logic
    • Fight, flight, or freeze
    • Be dominant (claw your way to the top, push people down)
    • Defend the territory (never share information)
    • Like me = good, not like me = bad
    • Monkey see, monkey do
  • Trust intuition, but verify
    • You may feel in your gut a particular algorithm is the right way, now that must be proven

Ch. 6 Learn Deliberately

  • Make SMART goals
    • Specific, measurable, achievable, relevant, time-boxed
    • Allocate your time efficiently
  • Have a knowledge plan
    • Your goals for now, next year, and five years
    • Diversify, make safe choices and high-risk learning that can lead to bigger payoffs
    • Active investment, constantly reevaluate your plan to see if everything is performing as expected
    • Invest regularly, plan out your session and have your idea/tools set-up before starting
  • There are multiple intelligences
    • Kinesthetic, linguistic, logical/mathematical, visual/spatial, musical, interpersonal, intrapersonal
  • Actively read using SQ3R method: survey, question, read, recite, review

Ch. 7 Gain Experience

  • Using fun methods of teaching/learning are effective
    • Make a game out of the process
  • Don’t focus on correcting individual details, but be aware of your actions
    • Instead of being told the correct mechanics before skiing (knees, elbows, etc.), ski however you want and then make changes as you go
  • We perform worse under pressure
    • Be comfortable with failing
    • Practice a skill in more difficult conditions than reality to perform better
    • Example: Runners tying weights to their ankles, Ruby programmers doing C++
  • Imagining your success is effective in achieving so
    • Musicians being told to “play like” someone famous performed better

Ch. 8 Manage Focus

  • Rule of Three: if you cannot think of three ways a plan goes wrong or three different solutions to the problem, then you haven’t thought enough
  • Don’t fill your mind with useless facts
    • Albert Einstein was asked about how many feet are in a mile, and he replied that such facts were easy to look up and not worth remembering
  • Multitasking will kill your productivity, instead use deliberate switching
    • When doing another task, instead of jumping straight into a new email you received, take a few deep breaths and muster up some interest in the new activity
  • Maintain your focus by keeping a clean and minimalist working environment
    • Your physical desk, your desktop, your email inbox

Ch. 9 Beyond Expertise

  • Don’t fall into the trap of fully committing to one specific domain like Java or C++, such that when something new comes along that you unwilling to change
  • Ask “what if?”, emulate a child’s insatiable curiosity full of wonder and amazement
  • Don’t fall into autopilot
    • “People look without seeing, hear without listening, eat without tasting, touch without feeling, and talk without thinking.” – Leonardo da Vinci