Coding

Skills Development: Foundations

I watched this video a few months ago, but thought it worth returning to since it covers a lot of really useful ground for anyone who has to learn new skills / develop etc. Which is to say, it's relevant to everyone on planet Earth.

Or just read these notes to get an overview of some useful things she talks about. (If you want to read a transcript, go here.)

“Allison Kaptur: Effective Learning for Programmers” — Notes from YouTube

We learn early on that Kaptur’s job at the Recurse Center was to help and support students grow and learn amidst the freedom that the programme there afforded them. This kind of unstructured environment can come as a shock if you’ve only been able to work in structured settings in the past (schools, universities, big companies etc). The unstructured freedom to which Kaptur refers around the 1:30 mark also happens to be a hallmark that defines self-study work.

“Growth Mindset”

  • Kaptur introduces the work of sociologist Carol Dweck and the distinction she’s drawn between fixed mindsets and growth mindsets.
    • A fixed mindset “holds that intelligence is a trait that some people have in some fixed amount, and they can’t really affect how much of it they have.”
    • A growth mindset “says that intelligence is something that you can work on and something you can develop with effort.”
  • Whether someone adopts a fixed or a growth mindset then can determine how they view various other aspects of work. With regards to ‘effort’, people who believe in fixed mindsets hold that “if you are good at something, then it should be easy”. (And, conversely, if you’re bad at something, then it should be hard.) People with a growth mindset believe that you need to work hard at something to become better at it.
  • Kaptur mentions how Dweck’s work has also shown that people who are praised for their effort in the task being performed tend to get better results [slight simplification of what she said] than those who are praised for what they achieved. This is a fairly well-known and well-publicised aspect of Dweck’s work.
  • Kaptur notes that having a fixed vs growth mindset is something which (it seems) can be changed. And the switch from fixed to growth mindset can sometimes happen with deceptively easy tactics.
    • Sometimes it’s as simple as being aware of the things you’re saying (e.g. “Oh, I could never learn physics”). Kaptur suggests when you say “I am…” or “Some people are just…”, these might be times to examine whether you’re stuck in a fixed mindset pattern.
  • Four strategies to change a fixed mindset:
    • 1) “Reframe praise and success” — if someone praises you for something you said by saying “you’re so smart”, you can mentally (most of the time you will say this to yourself internally) reframe this as “yes, I did a great job on that project. I worked very hard and I used an effective strategy.”
    • 2) “Reframe failure” — this is basically the opposite of the first strategy. Listen to your self-talk when you fail at something. If you’re saying “I failed because I’m bad” or “maybe I’m not cut out for this kind of work”, then try reframing it by asking yourself what you learnt from this attempt and what strategies you could change or use next time you try something similar.
    • 3) “Celebrate challenges” — if you can find ways to frame places where you struggle as a victory or an accomplishment in and of itself, this will really help drive you into that growth mindset. Accordingly, when the going gets tough, celebrate the difficult as an opportunity for growth, development and learning.
    • 4) “Ask about processes” — asking “how did you do that” can often be really illuminating, and is better (when viewing someone else’s work, for example) than saying “of course they did x or y; they are a genius/wizard”.
  • On Confidence & Imposter Syndrome
    • Dweck’s research shows that confidence doesn’t help you respond to challenges. A lot of advice counsels feeling more confident in response to difficulties in work etc, but the angle Dweck is explores is the idea that “if you’re doing something new, confidence about something old doesn’t help you with that.”
    • If you hold a fixed-mindset, any moment is basically a chance to prove whether or not you are a failure. “So running into challenges is particularly stressful in that context.”
    • The trick to getting past all of this (of course) is to adopt a growth mindset. (20:10)

Strategies

Dweck’s research also shows that those who really embody a ‘growth mindset’ are also focused on strategies (and not just outcomes).

  • “Make It Stick” — Kaptur offers some useful tips that she gathered from this great book. You can read my review here, in which I also extract some of my favourite actionable points.
    • “Learning is an acquired skill” — the premise of the book
    • 1) “Effortful retrieval > rereading” — this can be something like self-tests administered through Anki, or it can just be writing a review of a book after you’ve read it. Or it could be trying to summarise a recently-mastered topic by teaching it to someone else.
    • 2) “Spaced practice > massed practice” — Kaptur references three main ways to space out practice — spaced / varied / and interleaved.
      • Spaced = spacing practice sessions out over time rather than bunching it all together in a single mega-session
      • Varied = find a way to vary the kinds of practice you’re getting so that you’re not getting falsely sure of your command of the topic.
      • Interleaved = shuffling the kinds of exercise / practice you’re doing so that it’s somewhat random is better than always sticking to the same order (or a predictable order).
    • 3) “Difficulty is (usually) desirable” — (with the related point that making errors is usually desirable). One difficulty that isn’t desirable, however, is anxiety around performance. This comes out of Dweck’s research.

This is all difficult — a consequence of the fact that all of these strategies are difficult is that people don’t do it. They don’t challenge their recall, they don’t push into the areas they don’t know and so on, even after they’ve been specifically instructed in the ways that these strategies are more effective.

Kaptur encourages us to find ways to make effortful retrieval part of our everyday lives and work. This may mean you have to:

  1. use a flashcard programme to test you
  2. take guesses
  3. be systematic about how you attack your problems. She is speaking in the context of programming, so she talks about debugging but it works for most problems. Have a hypothesis about what’s going wrong, and then tackle each part systematically.

She also suggests we find ways to implement spaced practice. The harder you work to retrieve a fact from your memory, the better this is for your grasp of that fact, so in the end while it feels horrible to test yourself on recall of materials you don’t know so well, it’s actually better for you.

With a growth mindset, errors are something to be welcomed (because they imply that there’s some sort of a feedback loop going on, from which you can, in turn, learn). Thus finding ways to get more feedback (about your writing, your code, etc) is to be encouraged.