There's a right way and a wrong way to write great software. Here is the latter
"If you're a developer, whether you realize it or not, you've probably experienced 'decision fatigue' at one point in your career," suggests Derek Lee Boire
"Decision fatigue occurs when the quality of the decisions we make deteriorates due to the mental fatigue of having already made a lot of decisions. While some people may want to believe that they have infinite willpower, our mental energy and focus has a limit no different than our physical bodies do. You can train long, or you can train hard - either way your body will tire eventually..."