How to do hard things

This is a system I only somewhat tongue in cheek refer to as “The Fully General System For Learning To Do Hard Things”. It’s a useful conceptual framework for how to get better at things that you currently find difficult.

I don’t always explicitly follow it, but I often find that when I’ve succeeded my success comes from implicitly following it, and almost every time someone asks me for advice on learning to do things I just describe a specialised version of the system to them.

The system “always” works in the sense that “eventually” either you will find out why the objective is impossible for you or you will succeed, but it’s very much the unhelpful kind of eventually where there’s no guarantee that it won’t take an interminably long time. The more likely outcome is that either you will succeed relatively quickly or get bored and give up, but that’s OK – the system is designed so that you will have gained benefit from following it at every step along the way even if you do not achieve your final goal.

I should also note that this system is not in any way a short cut. It’s a lot of work. The goal of the system is not to save you work, it’s to ensure that the work you do is useful.

The Single-Loop System

When you know what success looks like but cannot currently achieve it, the system works as follows:

  1. Find something that is like the hard thing but is easy.
  2. Modify the easy thing so that it is like the hard thing in exactly one way that you find hard.
  3. Do the modified thing until it is no longer hard.
  4. If you get stuck, do one of the following:
    1. Go back to step 3 and pick a different way in which the problem is hard.
    2. Recursively apply the general system for learning to do hard things to the thing you’re stuck on.
    3. Go ask an expert or a rubber duck for advice.
    4. If you’re still stuck after trying the first three, it’s possible that you may have hit some sort of natural difficulty limit and may not be able to make progress.
  5. If the original hard thing is now easy, you’re done. If not, go back to step 2.

The reason this works much better than just practicing the hard thing is because it gives you a much more direct feedback loop. There is exactly one aspect of the problem at any time that you are trying to get better at, and you can focus on that aspect to the exclusion of all else. When you are practicing something that is difficult in multiple ways, you will be bad at it in all of those ways. More, you will be worse at it in all of those ways than you would be if you’d tried them on their own. Additionally, when you fail you have to do a complicated root cause analysis to figure out why.

Instead, by isolating one aspect of the problem that is difficult, you will fairly rapidly improve, or hit the limits of your ability.

The Double-Loop System

If you don’t know what success looks like, you need to do double loop learning, where you mix improving your understanding of the problem with your ability to execute the solution.

  1. Apply the single loop system to the problem of improving your understanding of the problem space (e.g. consume lots of examples and learn to distinguish good from bad) in order to acquire a sense of good taste.
  2. Apply the single loop system to the problem of doing well according to your own sense of good taste.
  3. Get feedback on the result from others. Do they think you did it well? If yes, great! You’re good at the thing. If no, either improve your sense of taste or theirs. If you choose yours, go back to step 1 with the new example. If you choose theirs, apply the single loop system to the hard problem of convincing others that your thing is good.

Is this all a horrible oversimplification? Well, yes, of course it is. It is however a very useful horrible oversimplification that is very good for getting you unstuck when problems seem intractable.

How To Identify Points of Difficulty

Sometimes it will be obvious what you need to improve, sometimes it won’t. When it doesn’t, here are some things that can help you figure it out:

  • Try to do the thing as best you can. Don’t worry about failing, failing is expected, but try to pay attention to how you’re doing it. Write down a list of things you thought you did badly, and things you did adequately but struggled with. Also if at some point you got stuck, note where you got stuck.
  • Look for beginners exercises for the area you want to work on and try a variety of those. Observe which ones are hard.
  • Talk to an expert on the subject (ideally one who is used to teaching) and ask them to help you identify some areas you need to work on.
  • Rather than starting from the easy thing, work in the other direction. Try taking the hard thing and removing one hard aspect of it at a time until you get it to a point where removing any hard aspect would make it easy.

Worked Example: Learning to Write Better

This is particularly good as a mechanism for improving your writing (and writing about it is a good lead in to the mechanism on a particular area, so I’d encourage everyone to work on improving their writing).

Writing can be hard in a wide variety of ways. Some common ones (in roughly the order I think it’s worth tackling them) are:

  • The actual physical process of writing.
  • Finding a good writing voice.
  • Perfectionism and/or fear of showing others your work and/or not being sure what to write about stopping you from the process of starting to write about it.
  • Editing and structure.

And that’s even before you get into specific forms of writing. You could also struggle with e.g. dialogue, description, etc.

Set against this is the fact that if you’re reading this you definitely can write. I promise. You might not be able to write a novel (I can’t at the moment), but you can certainly write a tweet, and it’s just a series of incremental steps to get from there to wherever you want to be.

Here’s some examples:

  1. Learn to touch type if you can’t already. If you can’t touch type you will get blocked on the basic mechanics of writing. This makes the feedback loop for everything harder. Maybe try ztype, typesy, or Mavis Beacon1
  2. Learn to write in your speaking voice. If you can’t figure out how to write about a topic, try speaking about it into your phone (get a recorder app). Once you’ve started writing, try to read it out loud. This isn’t the only writing voice worth using, but it’s an important one.
  3. Practice writing without any expectation of quality. e.g. write in a private file or google doc, or create a blog with an explicit disclaimer that it’s for writing experiments. Some good writing experiments:
    • Observational writing. Pick an object (a lit candle is an interesting one) and write down everything you notice about it.
    • Pick a subject you are reasonably familiar with and set yourself a word count of, say, a thousand words. You can write whatever you want as long as you hit that goal. Feel free to write a stream of consciousness.
    • Pick an opinion of yours and write a 500 word case for it.
  4. Rather than worrying about the general problem of editing, start thinking about editing with specific goals. e.g.
    • This ties in well with getting a good writing voice. Read it out loud, figure out where good pauses are and put paragraph breaks in where natural pauses occur. Fix language that sounds awkward.
    • Try editing purely based on word count. Can you express the same thing with fewer words? What would you do if you had to cut the length of the piece in half?
    • Try editing to remove specific words. Can you write the whole thing in up goer five? (Note: The result of doing so will be terrible, but the goal here is to practice editing more than produce a good piece)

There are plenty of other things to try, but these are some good starting points.

  1. It’s now been most of twenty years since I learned to touch type, so I’m not that clear on how good any of these are.
This entry was posted in Uncategorized on by .

12 thoughts on “How to do hard things

  1. David C

    I like this, it sounds a lot like the process I used to learn and get reasonably good at juggling.
    (Juggling has a really quick and obvious feedback loop, which makes learning it a bit easier).

    As well as practising “under the trick” (e.g. working on 4-ball exercises when trying to learn 5-ball juggling), I found it sometimes useful to work “over the trick” – i.e. try something at an even higher level of difficulty (6 or 7 balls) – with no expectation of success, but it seemed to make the next attempt at 5 a bit easier.

    I’m not sure what the equivalent in writing would be … poetry, perhaps :)

    1. david Post author

      Practicing over the trick is an interesting idea. I’m also not sure what the analogue for writing would be per se, but I’ve e.g. done similar things in mathematics or programming where I’ve tried tackling unsolved problems not because I expect to be the one to solve them but because I expect to learn interesting things in the course of trying, and it’s often been profitable in terms of learning new techniques or understanding existing ones better.

      I think the big differences between writing and juggling (disclaimer: I can’t juggle) are that a) There’s less in the way of intrinsic difficulty to writing – you’re never not able to do the thing in the way you might for juggling, you just do it badly. b) It’s hugely heterogenous, so there are all sorts of very different things with overlapping skills that you could practice and use to get good at different microskills that are useful for writing. So poetry writing is probably a good choice even if it’s not exactly practicing over the trick! But so is e.g. fanfic.

      1. pozorvlak

        > you’re never not able to do the thing in the way you might for juggling, you just do it badly.

        It sounds like you’re treating “juggling” as an atomic skill, but this is not the case. The equivalent of “you can write a tweet” for juggling is “you can throw a ball from one hand to the other”, which many (most?) people can already do. From there, you build up through a series of tricks in exactly the way you describe in your post. I’ll use siteswap notation, which represents each throw as a single number (0 is “do nothing for a beat”). Siteswaps satisfying certain compatibility conditions can be concatenated to give longer tricks, and I’ll use (abc) to mean that the trick abc should be repeated indefinitely. Anyway, the usual sequence for learning a three-ball cascade is as follows:

        – throw one ball from one hand to the other: 300
        – throw one ball in the other direction: 030
        – repeatedly throw one ball back and forth (a “one-ball cascade”): (300)
        – one-ball cascade with consistent timing
        – one-ball cascade with the ball and your hands taking consistent paths through space
        – exchange two balls: 330
        – two-ball start: 303
        – exchange two balls, then exchange them back again: 330330
        – continuously exchange two balls (a “three-ball gap”): (330)
        – two-ball start into a three-ball gap: 30(330)
        – three-ball flash: 333
        – three-ball qualification: 333333
        – three-ball cascade (333)

        Siteswap notation was invented in part to discover the analogous sequence for the much harder five-ball cascade, though they ended up discovering lots of novel tricks along the way.

    2. pozorvlak

      Also based on my experience of learning juggling tricks, I’d suggest a modification to the single-loop process:

      4.5) If you can now do (easy thing + hard aspect 1) and (easy thing + hard aspect 2) separately, try doing (easy thing + hard aspect 1 + hard aspect 2).

      For instance, suppose I want to learn the juggling trick Mills’ Mess, which can be broken down as follows:
      – a standard three-ball cascade (“the easy thing”, though it took me about six months to learn on its own!)
      – under-the-hand throws
      – over-the-top throws
      – which hand throws under-the-hand and which hand throws over-the-top changes every three throws.

      The way I learned was something like
      – cascade + under-the-hand throws
      – cascade + over-the-top throws
      – cascade + under-the-hand + over-the-top (“windmill”) – this is asymmetric, so learn it in both orientations
      – cascade + over-the-top + change of direction (“juggler’s tennis”)
      – cascade + under-the-hand + change of direction
      – Mills’ Mess.

      Actually I worked on many of these contemporaneously, but you get the idea.

      A similar idea applies to ordinal measures of difficulty: you should concentrate on one aspect at a time for many (most?) sessions, but you also need to push out your Pareto frontier by combining several aspects of difficulty at or below your single-aspect maximum at once. For instance, I want to climb long, hard routes: if I can climb grade 6 on 10m roadside routes and grade 4 on 500m routes, it doesn’t mean I can climb 500m grade 6 routes – if I’m climbing at the limit of my technical ability, I’m probably not climbing quickly or efficiently enough to do a long route in a day. Improving my maximum grade and my maximum route-length individually will help, but I’ll also need to do some long hardish routes and some hard longish routes in the process of building up to long hard routes.

  2. JacobM

    Maybe one way of practicing over the trick would be to add artificial constraints. Do the writing exercise you were going to do, but don’t use the letter “e”, say. The difficulty of finding eligible words might steal enough of your focus to let you forget some of your apprehensions — and then when you go back and are allowed to use any letter you want, it will feel more fluent. Perhaps?

    1. Kontradiktio

      Artificial constraints are used a lot in improvisation theatre to overcome both fear of doing something (it gives you permission to fail, because you think it is “impossible”) as well blocks in “creativity” (you tend to go to directions you would not otherwise go to).

  3. DL

    There’s a small typo at the end – “Try editing ot remove specific words.”

    Besides that, great post! Definitely making use of this from now on.

  4. Ifeanyi O

    You just put into words the system I’ve been using to get better at painting.

    About a third of the time I allocate for practice, I spend on looking up unfinished sketches that contain only one aspect of the reference I’m learning from. For example, I’d look up sketches that have only light and shadow done in greyscale.

  5. Kevin

    You were a mathematician previously – I’m majoring in math now. Could you give some concrete examples on how (if?) you applied this system when learning things then? I found that my improvements often came through better ‘pattern-matching’ after long exposure, and that there was little I could do to get better at knowing what to do given a specific problem. How would one break down learning a new subject when the skill required is something as in-explicit and untrainable as problem solving?

    1. david Post author

      With the caveats that a) I figured this out long after I finished my maths degree and b) My study skills are and have always been terrible because I’m very bad at focus, so a lot of this happens in the background for me…

      I’ve elsewhere suggested that the following loop is the best way to get good at problem solving:

      1. I have a problem, how do I solve it?
      2. I have a solution, what problems can I solve with it?

      I previously wrote Thinking Through the Implications which is vaguely about that.

      The nice thing about mathematics for this is that it’s basically a giant toolkit of problem solving techniques, so you have lots of opportunities to apply this. Often the toolkit members are theorems, but for subjects such as combinatorics they may not be.

      So I think if you wanted to get better at mathemical problem solving you might find it easier to start with problem generation. Pick a particular theorem or toolkit or whatever and start thinking about interesting questions that you might be able to tackle with it.

      1. foo

        On the topic of learning and teaching the skill of solving math problems (and I think many problems in other fields as well), I would recommend this classic book, Polya’s “How to solve it”:

        https://en.wikipedia.org/wiki/How_to_Solve_It

        I really wish I had read it back in high school, because it would have made it clear to me some of the simple but effective strategies I was unconsciously reproducing in some problems but not many other problems.

  6. Will

    Thanks for this, I enjoyed reading.

    Though it is very general, the example that came to mind while I was reading it was learning to play an instrument. For example, when learning a song, you first try and play the full thing and often fail. If you want to learn to play it well you must find which note subsequences are difficult to play and practice them in isolation, or slow down the tempo (or both).

    I have also seen the consequences of not doing this – I have a friend who refuses to practice anything at a reduced tempo. The result is hes never able to play the tunes he wants with accuracy.

    The above point about “practicing over” is applicable here, too: it is best to practice at at least three tempos : below the target, to learn accuracy; at the target, since this is where you want to be; and above the target, since this allows you to get used to “raw speed”. This last one could still be seen as an application of the technique, but to the problem of “I want to be able to play faster” instead of “I want to learn this song”.

Comments are closed.