But I have noticed that constantly programming and thinking about software design is hurting the quality in the end. Letting the mind drift of once in a while helps me slow down a bit.
It kind of feels like I'm offloading my thoughts for re-factoring in the back of my mind while I'm doing something else.
John Cleese has a great talk on creativity[1], a big part of it is essentially guided day dreaming where you let your mind wander but gently come back to the topic you're trying to work on from time to time.