Excellent advice here!
I add two more:
* Check out the pomodorro technique. It forces my to break tasks down into even smaller chunks that usual and give me a rush of dopamine when I finish those.
* I try to stay away from systems and languages that are not responsive enough. I need to see results fast and am willing to take quite a pay cut just so that I don't get bored waiting for a job to be done. So no big enterprise company for me, but rather prototyping and freelancing.