How to Survive 80+ Hours of Programming Every Week
medium.com
medium.com
Anyone who thinks they can be more productive at double that, for long periods, is either superhuman, or deluding themselves.
Get out, see your family, watch a movie, go for a walk. Be a human, and not a programming machine.
I've been in this game since '81 and when I talk to other "old people" we all seem to agree that the hardest technical challenges were solved out on the trail, over a beer with fellow programmers, while lifting weights, while posting to HN, while playing games with the kids... while younger people automatically assume the only way to work on a problem is by sitting in front of a screen while typing as fast as possible.
This does not only apply to problems that are knowledge/skill limited. Error rates explode on grunt manual labor beyond a certain number of hours. Ops suggestions probably do help increase the number of hours slightly, but almost certainly not to 100+ hours or whatever op is claiming. If you're just going to have to redo all the work tomorrow morning, or are too sleepy to see a way to turn 10 hours of grunt labor into 30 seconds of automation, then stop anyway because you probably will have a better faster idea tomorrow.
I suggest biking is also very relaxing and nice! Just take a small bike ride, it always clears my head ...
It's probably best to avoid getting to this situation. At some point years from now, your body won't be happy if this continues.
In addition to a little more rest, you might want to take 10 of those hours a week and add a little voice recognition, for example, into your tool chest:
http://24ways.org/2014/dont-push-through-the-pain/
http://ergoemacs.org/emacs/emacs_hand_pain_celebrity.html
http://www.cs.princeton.edu/~arora/RSI.html
http://markmcb.com/2014/10/13/severe-hand-rsi-pain-and-recov...
I really hate to walk away when I'm on a roll, my mind is really in the moment and has a list of to-dos that is 100 items long. If they are floating around in my head, it does interfere with sleep. I keep graph-paper notebooks with sewn bindings, which have a bit of permanence, and pick up a pen and get them out of my mind so I can close the day.
I think what would help others in similar situations would be advice how to get out of those situations.
My engineering advice is your complicated solutions to avoiding the results of screen glare and the results of background noise would be to clean up at the source rather than at the symptoms. Don't require exotic vision hacks to work around screen glare if you invest in good lighting and top quality matte screens, don't require special comfy headphones if you're in a good (quiet?) acoustic environment. If your environment sucks, change it don't adapt to it
You do correctly implement that strategy with posture and the chair, I've met many people thrilled to spend tens of thousands of dollars and hundreds of hours on chiropractic and back pain therapy just to avoid spending hundreds of dollars on a really good chair and hours working on posture, meditation, tai chi type stuff and/or stretching.
The long hours are a necessity if on a tight schedule, but working long hours is very very different from being productive. And of course, as everyone else is probably saying in this thread, this is not sustainable, not without serious health impact AND a greatly reduced work quality.
I make sure to exercise every day: bike + swim + p90x occasionally. I think that exercise is just as important as the rest of what I'm talking about here, I suppose I should have gone into more depth on that in the post.
I find as I grow older that I program in short bursts. I spend quite a bit of time thinking about what I want to do. I scribble a couple of diagrams on paper to make sure that the image I have in my head is complete and once I'm sure of what I want to do and why, only then, I start typing.
Usually, those first scribbles end up being my test cases.
As for the original article, if I had to use as much gear as he does just to get by, I would really rethink my life.
There is no way you can be at 100% after 11 months of 80 hour weeks.
A chronic sleep deficit significantly impacts your mental abilities. So in other words, you may be working long hours, but they are very likely to be much less effective hours than if you were getting a proper night's sleep every night.
I fall asleep extremely quickly no matter how well rested I am. It's not based on how tired I am but rather the approach I explain the post.
Your entire post reads like satire, but I don't think that was your intent. You're fall prey to the illusion of progress, the belief that by doing silly life-hacks and pushing yourself, you're increasing your productivity. That might be partially true in the (very) short, but enough research has been done to verify that all you're doing in extreme harm to your body and mind, and you're setting yourself up for a major burnout.
I wake up at the same time every day, and go to bed at the same time every night. Basically, I start getting tired when I'm getting near my 'bed time' and I use that as a cue to go to bed. Since I'm very regular with my routine, I rarely have any sleep issues, and I get around 8 hours of sleep per night. If I'm sick or something, I might get tired in the afternoon and want a nap, but that's fairly rare.
That said, I totally agree that his post screams of shortsightedness, and in fact, seems like satire in order to call people out for their abysmal work habits. It's too bad, but based on his comments, it seem he feels forced into this. Hopefully once his startup is fully started, he'll be more healthy.
No you don't. You could just take longer to build the features, or share the coding jobs with someone else, or cut something that's not really necessary. No one has to do 60+ hours of coding a week.
1) I am not saying you should do this. I code this much because I'm a co-founder of a pre-funding startup and am working hard to get my company off the ground, and because I enjoy coding. 2) Programming 80+ hours a week is absolutely insane. I'm not saying I'm anything special because I do it or that people who do it are anything less. I'm just another SV entrepreneur working hard to turn an idea into a company. 3) I wrote this post for other founders like me who are in worse shape than I in hopes that some of the things in here might help them.
You say you still have time to do research, so do some research on working 40+ hours for more than 1 month. With your 80+ hours/week for 11 months, your productivity has turned way negative compared to doing half of those hours.
Let me put this in other words: If you had worked the past 11 months at 40 hours a week, you would have produced more than the 11 months you did now on your insane 80+/week.
Take a day off, get some good night sleep, read this again, and think about it. Don't believe me? Do some research.
I would caution with giving advice for taking vitamins and other supplements as a non-MD. Medical advice based on a sample size of N=1 is not a good idea. Apart from clear harmful vitamin deficiencies, studies show mixed results on the benefits of vitamins supplements.
Who am I to tell someone to stop working if they choose to do so? But I do worry that this just normalizes expectations by companies that every dev needs to be a rockstar ninja 10x hacker that lives and breathes code 24/7 and has no life outside the company.
I guess what I think is that when we see things like "working 80-hour weeks continually" we shouldn't be defaulting to "wow that's so impressive!" but rather "wow that's not healthy."
And, for those of us who do not partake in this craziness, you're no less of a programmer. In fact, you're probably thinking straighter (not saying that the author isn't compared to most, but you're surely more alert).
I actually gave a talk (https://james-brooks.uk/staffs-web-meetup-video/) entitled "Programming is Awesome", where I spoke about dealing with anxiety and depression as a programmer. You're probably in need of some words like this if you're near to this...
You are lazy and weak.
You are working in an unsustainable way, both mentally and physically.
Do you have a fellow programmer in the same code base who does normal hours? If so, what does he think about your code and delivery rate? If not, let someone else (and smart) look at your code and productivity, and get some objective feedback on it.
I went through RSI in my early 20's (while writing a research compiler), did a ton of research and have been symptom free for two decades.
If any corporation were to ask this from me, I would sue them out of this world. Why do it to yourself as your own boss? Do 40h/w for double the time or hire someone to help you.
Seriously, why?
Like this: http://ak.picdn.net/shutterstock/videos/4875422/preview/stoc...
If you want your programmers to be more productive then keep the distractions to a minimum, give them sound proof offices, great meeting areas, and get them the hell out of the office after 40 hours (maybe 36).
1) Actually "work" a 40 hour week 2) Spend the other 40 looking for a new job
You and your company, need you in the long term.