This article(Developer efficiency myths and truths) has one of the truest points I’ve ever read (Listed as a myth):
#2: Slumber parties at the office equal more quality work completed.
I call a workaholic programmer who regularly pulls all-nighters The Martyr. It is tempting to think that putting in more hours equals more work, but most developers are spun out by 5:00 PM. Development is brain-taxing work, and you cannot do it when you’re tired or improperly nourished. A late night here and there may pay off, but chances are, the quality of the work done past 6:00 PM or 7:00 PM is low, and the next day your efficiency will be in the toilet. Avoid the late night work whenever possible — you are not nearly as efficient as you’d like to think.
The end of the workday comes around and I’m wiped. I can’t think any longer than I already have. (Some especially tough days, I don’t even reach the end of the workday before I’m drained.) This is especially unfortunate for me, because my company pays overtime, so if I could put more hours in, I’d get more money. But, instead, a lot of times, I just head home and lie down for a little while hoping to get my brain back in gear. (It’s one of the reasons I’ve been doing less substantial blogging recently; my current assignment is pure development so I’m just coding for hours on end and don’t want to think about anything when I’m done. And despite my recent increase in free time, I’m also reading less at night as well as a result.)
Business people: don’t overwork your programmers, you’ll get much better results if you save their overtime hours for instances when they’re really needed. (i.e., deadlines, or something’s broken.)