5 ms·
Some folks can pull all-nighters; not only can I not stay awake for more than 24 hours (I literally keel over sideways and faceplant on the floor, snoring) but
by cstross 14y ago
Some folks can pull all-nighters; not only can I not stay awake for more than 24 hours (I literally keel over sideways and faceplant on the floor, snoring) but if I try working more than 10 hours, I run into stupid hour syndrome. And in my later post-programmer life as a writer, if I write past a certain point (roughly 4500 words of fiction or 6000 words of non-fiction) in a day, then for every 1000 words past that point, I end up having to bin and re-write about 1500 words the next day. Because it's unmitigated crap.
Limits, folks: we have them. Learn and respect them and don't try to be macho about it, because it doesn't help.
- seanmcdirmid 14y agoAs for writing (scientific papers), I find it best to use my most productive hours for editing and the stupid hours for writing new material, under the assumption that I would have to edit new material anyways. Programming is much the same way. Use your best hours to refine/polish work that is furthest down the line, use your worst hours to write crap that gets you started thinking about what the real solution will look like. Even in your best hours, you probably aren't going to come up with the right solution immediately (unless the problem is easy).
- tankbot 14y agoThis is a very interesting philosophy I would like to hear more about. I suspect it is different for coding? It seems like tracking down all of the connected logic bits would be difficult after writing deliriously.
- seanmcdirmid 14y agoCoding is much the same way as writing to me; they are both forms of thought development and refinement. But then I write research code, not production code, so life is a bit different for me (prototypes vs. products). If you are applying and checking in a bug fix, you don't want to do that in your off hours. If you are building a compiler/interpreter/editor for a new language from scratch to explore some design ideas, then off hours are useful in pushing things along since there are lots of unknowns that require time to mull over. Also, you get something to sleep on.
- jackpirate 14y agoInteresting. I find editing much less mentally straining, so I use my stupid hours (or better yet, unmotivated hours) for editing/refactoring and my good hours for generating the new content. I've noticed that my prose style tends to be very hierarchical and not very free-flowing, so I wonder if there's a correlation there.
- epochwolf 14y agoI can second this. I'm a 26 year old programmer and I've done one all nighter in my life. I don't remember what happened after hour 26. I know I attended class until 2pm but I can't remember any of it. I can get anywhere from 3 to 6 hours of useful programming in a day and a couple times a year I might do 10 hours. I am far more productive at an average of 4 hours of work per day than trying to do 8 or 9 hours. I've worked with people I considered far smarter than myself and I can match or beat them by putting in a third of their hours working on similar problems. Just this week, I did an estimated 2 weeks of work in about 14 hours over 3 days, most of it staring at a whiteboard. All of the code was written in 2 three hour sessions on the final day. I frequently do things an order or two of magnitude faster and smarter when I'm well rested and relaxed. I don't mean to brag. It really bothers me I come in to the office just before the daily standup, work for 6 hours and leave before anyone else. (I usually spend an hour or two doing non-programming tasks each day) I can definitely say "work smarter, not harder" is really effective for me. I don't know if it's true for everyone but I suspect it is.
- adrianhoward 14y agoI don't mean to brag. It really bothers me I come in to the office just before the daily standup, work for 6 hours and leave before anyone else. (I usually spend an hour or two doing non-programming tasks each day) I don't think you should be bothered... I've seen the 'about six hours' of productive coding figure come up multiple times when teams actually experiment with their hours worked and their productivity. I suspect that your co-workers would be more productive if they had the same work pattern you do. I can definitely say "work smarter, not harder" is really effective for me. I don't know if it's true for everyone but I suspect it is. I'm pretty darn sure of it myself. Every team I've worked on that's been doing more than 45 hours a week has got more productive by cutting hours worked. Rather than staying up until 1am in an awe inspiring hacking session to get the latest release running, I'd much rather people went home at 5pm so they were on the ball enough not to write the damn bugs in the first place.
- cstross 14y agoThe notional eight hour work-day wasn't invented for occupations with high cognitive/reasoning workloads; it was invented for factories that needed workers to operate three shifts per day consistently. It became culturally ingrained because, back at the peak of labour-intensive industrialization, about 50% of the work force were employed in factories. But it doesn't actually bear any relation to how much time we can spend working effectively in tasks that require high-level reasoning skills. Nor does it bear any relationship to the earlier pre-industrial paradigm (agricultural labour from dawn 'til near-dusk, which could vary from 6 to 18 hours per day depending on the length of the day -- indoor lighting consisting of [expensive] candles). Unfortunately it's also easy to see whether a body is physically present or absent from an office -- easier than measuring the quality of its mental outputs -- and it's still relevant to service occupations, which is why we're mostly stuck with it.
- adrianhoward 14y agoAnd those who can and do pull all nighters often don't have much insight into how productive they are actually being. I know I've been surprised in the past when getting folk to work fewer hours results in more getting done (see this previous comment for the story http://news.ycombinator.com/item?id=4781103 http://news.ycombinator.com/item?id=4781103 ). I can and have pulled all nighters. I probably still can. It's just that I've learned that doing so, or spending more than about 30-35 hours a week coding, makes me slower - not faster - overall. Even, and I can't emphasise this point enough, if I feel completely fine doing those extra hours. People are really bad at introspecting on their own productivity. Figure out some metrics for productivity. Try cutting the time spent in front of the keyboard for a few weeks. Measure. You may be surprised.
- EwanG 14y agoUnfortunately the problem isn't whether you know and respect them, but whether your boss does. I've worked for folks where they want to be able to point and show that you were doing "something" when a release is delayed, and the fact that you will be making more mistakes is less important than the fact they can show you were there.