A lot of comments are bringing up top athletes as a counterexample, which leads me to believe they don't understand what a high-level training regimen is actually like. I have a relatively unique persepective on this[1], so I thought I'd clarify a few things. Any sport is both mentally and physically exhausting, and it only gets more strenuous as you reach the higher levels. Nobody can keep this up all day, every day…
I like the idea of applying less time, but more strenuous effort, towards programming, but how does someone do this?
- Getting the entire algorithm in your head before writing anything
- Predicting where the bugs will be in the code you've just written
- Shifting your attention back and forth between what this code is trying to achieve and the means by which it works
- Given the context in which your code will be used, predict how requirements might change in the future and structure your code so that those changes will require minimal refactoring