As I’ve written about before (here and here), I’m a big fan of goal-directed learning (this doesn’t appear to be a standard term, but I think it’s a reasonably descriptive one).
The core idea of goal directed learning is:
- Pick a goal
- Learn the smallest amount required to achieve this goal
- Stop once you have achieved the goal
The question I’d like to ask is this: How do we do step 1? What is a good goal for learning?
There’s a wide variety of goals with different strengths, but I think there are at least two different types of goal that are different enough that it’s worth considering separately.
Roughly, these are:
- Goals which will expand your capabilities
- Goals which will reinforce and flesh out your current capabilities
You might call these far and near goals.
Obviously this is actually a spectrum and I’ve introduced a false binary in order to make a point, but in this case I think that binary is useful for thinking about how to choose goals.
The benefit of the first type is reasonably clear: You’re learning to do more, which is inherently a good thing.
But it’s important to not neglect the second type: If you pick a goal, then pick another goal that is unrelated to your previous one once that is finished, you will end up learning much more slowly in the long run.
Because the objective of learning, goal-directed or not, isn’t just to fill your head with a grab bag of facts: You want to build a solid foundation of knowledge which both provides you with capabilities but also improves your ability to acquire new capabilities. Fragile, disconnected, knowledge does the former but not the latter.
What sort of goals help you build this knowledge?
There are probably a variety that do, but I think the *best* goals for this are ones that:
- Are just beyond your current capabilities.
- Combine two (ideally not much more than two) existing capabilities that you haven’t used before.
The first is important because it means that your work acts as a test of whether your capabilities are really what you think they are, which is vital for cementing your understanding of it. Generally you don’t understand something fully until you’re confused about the next thing that uses it.
The second is important because it lets you put your knowledge in context. Again, this improves your understanding of knowledge by making you examine its boundaries and seeing it in a new light from the other side.
What’s the right amount of time to spend on each type of goal?
Well, I don’t know. It depends on what you’re trying to do: If you’re just trying to get things done, you might not need any far goals – if everything you need to do is a near mode goal then we might as well just do that. We won’t learn that much, but everything we learn will be useful.
Conversely, if you don’t know anything about the problem domain then *everything* is a far goal, so you don’t really have the option of choosing a near one.
But when you’re starting to get familiar with the problem domain but are still trying to learn, you’ll need a mix of the two. In that case, I think the following rules are probably a good heuristic for goal selection:
- Spend more time on near goals than far goals
- Try to make sure you regularly do far goals
- After any far goal, do some near goals related to it
This will keep you moving and effective, force you to expand your capabilities, but will mostly ensure you have a solid and applicable knowledge base.