Sure, all-nighters can be fun once in a while. And 16-to-20-hour-days can be very rewarding when you're starting your own company or working at one about which you're excited. But no one, even you the 20-something hyperactive borderline-ADD super-evil-genius engineer, can keep it up for weeks on end and remain effective. Beware burn-out!
How do I know?
The Mayo Clinic advises the following as possible signs of burn-out:
- Have you become cynical or critical at work?
- Do you drag yourself to work and have trouble getting started once you arrive?
- Have you become irritable or impatient with co-workers, customers or clients?
- Do you lack the energy to be consistently productive?
- Do you lack satisfaction from your achievements?
- Do you feel disillusioned about your job?
- Are you using food, drugs or alcohol to feel better or to simply not feel?
- Have your sleep habits or appetite changed?
- Are you troubled by unexplained headaches, backaches or other physical complaints?
Advice for the Engineer
Learn to run a marathon, not a sprint. Learn how much sleep you need every night to perform at a consistently high level for many years. Consider vacation a part of your compensation; the way you consider a paycheck. (Would you really want your boss withholding a paycheck because "it just isn't a good time right now"?) Learn when you need to recharge your batteries, and go away and recharge them.
Live, sleep and eat in such a way as to maximize your cognitive abilities.
Find something away from work on which to focus. Whether it's the gym, cooking, riding a bicycle, reading.. whatever, as long as it isn't coding. Do this thing most days of the week.
Find a manager you trust, and trust your co-workers to carry the load while you're away. If you can't trust them, find some to trust.
When you're working - work. Focus, concentrate, pay attention, do your absolute best. The same goes for when you're not working: when you're asleep, your job is to sleep. Focus on that and don't worry about work. Divide your time into highly-focused, separate cycles. When you're not working, focus on not working.
Find the number of productive hours per day that works for you. I bet it's many more than 8 and less than 18. How many of those hours are ones in which you're working on difficult problems that require highly-focused cognition, and how many are those in which you're only good for answering emails, perusing CSS, tuning documentation, or catching up on Hacker News? And at what point are you a useless, over-caffeinated lump in a hoodie, only useful for converting O2 into CO2? Figure out what works for you.
It's more fun to be pleasant, happy, and fun to be around! Being a cranky, burned-out curmudgeon sucks, for you and for people around you. If you see someone who's work habits are leading them to a crispy end, try to mentor them a bit into a better work cycle:
Take responsibility for your people. Work on lowering the probability that someone will burn-out. If you see someone who's burned out (and they report to you), get them out of the office and in a vacation. It's either that or work them until they quit - or get fired.
If your employees (or subordinates) are not important to you, and if the intellectual property in their heads is not valuable to you, by all means work them to the bitter-end, until they quit.
If you care about your company and want to keep talented, very-hard-working engineers in your employ, help them prevent burning-out and make sure they take vacation (as a manager, you should worry that your best and/or most enthusiastic engineers won't take vacation at all rather than worry they'll take too much). Assist them in their "work-life" balance. For many engineers, work is their life and their life is their work; instead, you may need to assist them in their "work-recharge" balance.
Take responsibility for yourself; if you start to feel edge, cranky, cognitively dull, stressed and unable to sleep you may need to get away. Better yet is to plan vacations months in advance, and make them indelible in your calendar. Be proactive with your "recharge" time. Take responsibility for it; it's best to be the engineer your manager never has to watch for signs of burn-out because you've already preempted the possibility.