Some authors make you feel lucky that you’re in their audience. Julia Evans is one of those authors for me.

Julia recently published “Get better at programming by learning how things work”. She has great advice that pairs well with Peter Norvig’s ’s recipe for programming success.

One question that she leaves open is “How do you figure out what you don’t know?” Here’s what’s been working for me.

Trying to talk about the topic opens the portal for me. I find self-talking out loud effective. Initiating the talk with a hypothetical interview question is helpful here. For instance, “Can you explain how a Flexbox is laid out in 5 levels?” If can come up with two levels, perhaps three, but not more, that’s a good sign. That usually tells me I’m at the “I can use this thing (and it will be okay).” level, borrowing Julia’s description.

Once I have the portal open, I need a good source. Then I’ll just read it with a specific goal: To make notes of concepts I don’t know, or statements that I wouldn’t be able to make myself.

In the CSS example, I thought I’d be able to add another level by reading the CSS specification. (I was also curious why people seemed “scared” of them.) This was a good idea.

Here’s how it worked. A sentence like “A flex container establishes a new flex formatting context for its contents. This is the same as establishing a block formatting context, except that flex layout is used instead of block layout.” brought up the following question: What is a formatting context? I also noticed that I should probably know how block containers establish their formatting context. Or what kind of formatting context they establish.

Here’s another example. Reading “Though collapsed flex items aren’t rendered, they do appear in the formatting structure.” highlighted box in my mental model that I need to fill in. What is a formatting structure?

After all, this can get scary: The amount of notes I now have is overwhelming. Next to that, stepping into unknown territory makes one thing very hard: To make smart choices to reach your goal effectively. Which of this leads should I follow? At this point, I usually just make notes, and keep reading. I read until I have a sense of which leads are promising.

I could, of course, heed the advice of the wise and learn everything. But that seems impractical for my needs.