Tip 240

Learn in Your "+1" Zone (not "+100", not "+0")

by Ildar Akhmetov

As a junior dev, you're always learning something new (and, surprise, this will actually never stop -- principal engineers learn the most :-) )

So, there should always be a next thing on your learning bucket list. But how do you choose what to learn next?

Let's dig a little bit into pedagogy (theory of learning). German educator Tom Senninger (building on Lev Vygotsky's research) developed a model of three "learning zones." I'll call them +0, +1, and +100.

In the +0 zone, learning feels very easy, but you don't really learn anything new. Learning gets boring. You don't grow.

When you're in the +100 zone, you're trying to learn something that is fundamentally beyond your capacity. This leads to anxiety ("I can't get it, I am stupid"). Learning shuts down.

Now, in the +1 zone, you're adding some new learning to what you already know. It does not always feel easy -- you have to work hard -- but you're clearly learning.

Let's think of a technical example. Suppose you know Python well enough, and you're wondering what to learn next.

The +0 zone is watching another video about Python syntax. You may feel productive ("I'm watching a tutorial!"), you may even earn a certificate (and post it on LinkedIn), but your brain is not really working.

What would then be an example of +100? "I will contribute to CPython!!!" This is great as a "big hairy audacious goal" (more on this in a later tip), but a very bad idea now. If you don't know C, memory management, garbage collection, and the contribution workflow of a massive open-source project, this is a clear path to panic mode and, soon, to the "I am useless" mode.

The +1 zone here can take multiple forms:

  • You could read "Fluent Python" to understand how the language actually works under the hood (dunder methods, generators, etc.). Here, you focus on the language and take it deeper.
  • Or, you could learn a Python library like Pandas to see how you can solve problems in a different domain (namely, data science).
  • Another option could be learning some tooling for Python, like uv or ruff.

Of course, there are situations when you don't really have a choice. Sometimes, your job, or your class force you right into the +100 mode, or keep you stuck in the +0. But when you do have a choice -- which is actually more often than you think -- reflect on what you already know and identify the learning direction. Not too comfortable, yet not the full "panic mode on."

One (+1) step at a time. That's where the most effective learning happens.

Related Tips

Get tips in your inbox

Two new tips every week.

Powered by Buttondown