How to become a good programmer? by Ciro Santilli 34 Updated +Created
Or: how to learn X.
This pops up on Reddit every week.
The right question is: what is the most awesome project I can do to improve the world?
Then, once you decide to try one, if that involves programming, only then learn to program to achieve that goal. And don't stop learning what's needed until you either get the thing done, or decide that it is actually not a good idea, or not possible, or that there is something else more important to be done first.
But if doesn't involve programming, then don't learn to program, and learn whatever you actually need to reach that goal instead.
Having that goal is the only way to be motivated to do something.
This is the essence of backward design.