Right in line with my thinking.
While I'm not a developer, I wanted to learn Python for various reasons. Instead of just learning ALL OF PYTHON, I broke it down to little projects, learning how to do those projects along the way. While still no expert, I can at least handle what I set out to do.
I'd also add immersion, if that's what you would call it. Not really related, but I used to never watch sports, up until the start of this NBA season. I subscribed to podcasts and newsletters and found some sites to read daily. In the beginning I probably knew 5-10% of what was being talked about. But after some months of this I can probably digest a good 70-80%.