= How to become a good programmer?
Or: how to learn X.
This pops up on <Reddit> every week.
That is <backward design>[the wrong question].
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 <backward design>[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>.
Another very important point to keep in mind is: <when in doubt, choose the course that has the most experimental work>{full}.
Back to article page