Learning, Goals and Metacognition

I’m making my list of goals for the next year, as one does. I won’t write my
goals here because I don’t like preemptively bragging about things I’ll do this
year, but lots of them involve learning or developing new skills.

This suggests a meta-goal to get better at learning and improving. I don’t
really know anything about learning besides “study real good”, so to start out
I read a review of the literature (say with a British accent: lit-trah-chu)
on learning. Here are some things I learned about learning by reading
Self-Regulated Learning: Beliefs, Techniques and Illusions.

Our brains are weird and gorgeous

My model for brains and memory was like a crappy hard drive: there is some space
in your head, and when you learn stuff you shove that knowledge in to your
head in a specific spot, filling up that space. When you remember stuff you
pull it out of this storage space and impress everyone at the party with your
scintillating analysis of Kim Jong Un’s physiognomy that you actually stole from
that Vice.com article.

This is untrue. Your brain is way cooler than a computer. It is more like
planting a new plant in a forest than storing something on a hard drive.
The more actively you work to learn something (testing yourself, teaching
others, summarizing information, asking questions, making mistakes, etc),
the better-rooted the plant will be, and the more likely you are to actually
learn something and remember it later.

Like the surrounding environment affects the health of a plant, what you
already know and believe affects how easily you learn new information. With a
computer, a write to persistent storage either succeeds or fails, or you are
building distributed systems and have surpassed the bounds of human
understanding. With your brain, having more information to create connections
to what you are learning makes that information stick better.

A mindblowing consequence of this is that our capacity to learn appears infinite.
There is no such thing as “running out of space”. In fact, learning appears to
increase the ease of learning new information by providing more possible
connections for your to-be-formed memories.

Brains are rad. Your brain is rad.

Learning happens from action

In college I spent many hours sitting in lectures or poring over textbooks. It
turns out that passively receiving information is the worst way to learn. Many
studies confirm that actively working with new information increases long-term
memory. Summarizing new information, teaching others, testing yourself and
asking questions are all waaaaaaaaay more effective than re-reading the
textbook. Also, spacing out learning works better than long blocks, and
switching up subjects works better than focusing on one topic for hours at a
time.

Errors increase learning

I make a lot of mistakes. I made a bunch while writing this blog post! I have
left some in as a puzzle for you to find.

Sometimes people are afraid of looking dumb while learning, so they avoid
mistakes. It turns out all those vague feel-good TED talks are right. You do
actually learn much better when you make mistakes as part of learning, and you
learn worse when you try to avoid mistakes.

Because science is swell, there is experimental evidence demonstrating this. Here
is one experiment. The task is to memorize a list of word pairs. Dolphin - mammal,
Arby’s® - heavenly, Jamison - sellout, etc. In one group, they are shown the
word pairs for 13 seconds and told to study them. In the second group, they are
shown the first word for eight seconds and told to think of a potential answer.
Jamison - Schwarzenegger. Then they are shown the second word for five seconds.
The group that had to guess the second word, even though they never guess it
correctly, are MUCH better at remembering the word pairs.

Here is the money-quote:

[L]ong-term learning benefited when participants were asked questions that
they could not answer prior to studying text materials.

Asking questions that you have no way of knowing the right answer, provided you
then look up the right answer, greatly increases long-term memory.

What is that sound I hear? Toot toot toot it is me tooting my own horn. I wrote
about my philosophy of making
Fifty Thousand Mistakes
earlier. Now it isn’t just mushiness, but SCIENCE!

We are real real bad at knowing how we learn

Despite our brains being rad such that zombies would desire to eat them, they
also have some pretty weird things going on that make us HORRIBLE at identifying
how long it will take to learn things and how well we know them.
We routinely overestimate competence (hello
Dunning-Kruger),
which leads us to be blindsided when we fail some test or can’t recall
things we thought we had learned.
Hindsight bias means when we
do learn, we assume that we already knew what we just learned. Sometimes we
learn without even consciously realizing we learned something! This sounds
like a recipe for being a know-it-all jerk-face.
Stability bias
means that we assume what we know now will stay static - we won’t forget things
we know now, and we won’t learn new things or know things better in the future.

All these problems with self-assessment mean we sometimes do some really dumb
things when trying to learn because we can’t properly judge that they don’t
work well.

Programming and learning

This article is geared towards students. How does it apply if we aren’t sitting
in classrooms or cramming from textbooks? How does it apply to YOU, dear
reader?

Learning is a skill separate from knowledge. Learning about software
development is a discrete skill that can be developed. I try to learn
frameworks or techniques or languages, but just like students can learn how to
learn, I can learn how to learn to build software better.

Programming, with its emphasis on DOING things, is actually a pretty good
laboratory for learning. When someone wants to learn a language the canonical
answer is to find a toy project to use the language. You learn CSS things by
selling your soul to the devil building things
with CSS. The community’s emphasis on blogging and speaking at meetups and
conferences to share knowledge means people summarize information and test
themselves. If you try to learn how to program better, you are guided down a
path that is reasonably effective. How neat!

Programming is a skill that can be developed, not a list of facts to memorize.
There is a ton of research on practice and skill development, often focused on
music or sports. The next stop on the metacognition journey is to read about
skill development to see if that lit-truh-cha can be applied to software.

Jamison cares about family and programming and React Rally and Soft Skills Engineering and 🏋️ and 🏂 and computing and business and the Dunning-Kreuger effect. He is a real human bean who you can reach on Twitter.