After almost 10 years in and around companies, and 15 years of school I took the habit to immerse myself in what I'm doing.
Turns out, this is called being stubborn and often in my university time someone would tell me on the phone "you sound tired, have a break". I usually didn't listen to that person.
That same person saw me doing nights of work last year and kept telling me I should not do so.
In fact, I know for some time that it's a very bad thing to do. But often passion and chemicals in the blood don't really help to stop at decent hours.
Last year I literally hit the "bad code wall" and I quitted a series of groups I was involved in. As many might have told you, what ever the form of burn out, it's never quite the same after one.
Last week I told a client that I'm only working 4 days a week for him. It's the same for every client : I don't work full time for anyone. I'm trying to see if it can be a sort of safety to avoid work saturation.
My coworkers at Tau are now used to see me go for walks and small bike rides in Toulouse usually two per day. If you add the lunch break I probably take long breaks (15 to 20 minutes) every two hours and shorts ones (5 to 10 minutes) every hour in between.
Am I productive ? Yes.
My brain can't focus in long shots, nobody's brain can. It's called a science fact.
Breaks allow your brain to rest and process what you throw at it while you are focused.
Getting out and seeing the light of the sun is very important for the brain and the body too.
Walking is important for your heart, your digestive track and your whole body in general.
Forget that strange idea that being in front of a computer means that you are working. Going for a walk when you are stuck on a problem might be far more productive than to stay in front of it and keep fighting it.
To properly work a craftsman need to know his tools : how their work and their limits. Get to know your brain and your body a bit by testing some of the previous points and reading around about brain.
Quick and classic example : http://en.wikipedia.org/wiki/Rubber_duck_debugging . By explaining a bug to the duck, you force yourself to change your mindset from trying to solve it to understanding what it should do and what it does, hence changing your point of view and voila !
I can't help but die a little when I see people working 8 hours straight and more in front of their laptop ... You cannot produce good code like that. I know I have been there, I did that.
Please comment, I'm interested to know about your experiences and ideas on this topic !