Learning as a Ladder
Imagine two ladders - one has a metre between rungs, and the other has 10cm between rungs. At first glance, the ladder with three rungs looks like one could climb it faster - after all, it has only three steps to get to the top. However, anyone who knows ladders knows that anyone could climb the second ladder faster and easier.
Any time I've learnt anything, I've fixated on this method of learning. Once I can use something, that counts as a rung.
Language
Learning a second language can be a nightmare once you really get down on paper what you need to do. Someone says a sentence to you, and you need to recognize all those words, understand the grammar, and put together the meaning, all on the spot. You have no idea which words they will say, and you'll need to memorize about 2,000 to have any chance of getting every important word in the sentence.
People who speak one Slavic language can learn another within a few months, because each Slavic language sits close to the next. Conversely, English speakers can only look across to Dutch and Afrikaans as their closest linguistic relatives, both of which demand a lot of new vocabulary.
Computers
My journey into the land of computers always involved small steps. I promised myself I would never study; I would only use new software which gave me something practical. I used LaTeX for a massive project, and once git came along, it descended upon my workflow like a shining angel to solve all my problems.
Comparatively, I hear of people in 'development courses', who have to learn git early on, for no reason they can fathom, and resent every minute of it. Their courses expect them to learn git properly, rather than taking what they need - an easy way of saving and storing text files. If I were designing a course, I wouldn't give anyone homework. I'd give them problems, and once their own codebase had (inevitably) turned into a snake-den, I'd give them git.