When I walked into the party, the speech had already started. Michael Arrington was talking at length about the hardships of starting a company: many times you can only take a nap on your desk. But I'd like to add a few words. I've seen many discussions saying that this way of working is counterproductive, misses out on success, and can even be extremely harmful to programmers' health. However, few people conduct a quantitative analysis of this. I am not talented, so let me start by offering a few humble remarks to invite others to share their valuable opinions.
We generally work 8 hours a day, so that's 40 hours a week. Under extreme conditions (of course unrealistic), if a programmer spends an entire week without eating, drinking, or sleeping, and uses all the time to write code, then there are 24×7 hours, which is 168 hours, 4 times the usual.
Of course, people are not machines; it's impossible to work 24 hours a day. Programmers are also human and have normal physiological needs, such as sleep. The best sleep time for people is 7 to 8 hours. Perhaps staying up one or two days with less sleep can still hold up, but afterwards you often need to make up for sleep and sleep more. Moreover, during that period, work efficiency is often very low. To work better, let's assume 7.5 hours of sleep per day. For 7 days, that's 52.5 hours. So 168 hours minus 52.5 hours of sleep leaves 115.5 hours!
Then there's eating. Eating is also essential. First you need to have food (order it or cook it yourself), then you can eat it. Three meals a day. Suppose we need 30 minutes per meal, that's 90 minutes a day. If it's fast food like pizza, each time can be reduced to 15 minutes, and a day down to 45 minutes. Even if we need 60 minutes, i.e., 1 hour for eating per day. Then 115.5 - 1*7 = 108.5 hours. In addition, brushing teeth, washing face, shaving, and sometimes showering, at least 30 minutes => 108.5 - 0.5*7 = 105 hours. Also, time wasted commuting to and from work. In 2007, the national average commute time was 45 minutes for a round trip, which is 5.25 hours a week => 105 - 5.25 = 99.75 hours, let's say 100 hours. Of course, if you want to save this time, you can just sleep on your desk!
100 hours is only 2.5 times the average of 40 hours. And we haven't even mentioned productivity, housework, illness, gatherings with friends, dating, chasing girls, and other activities. Aside from these, assuming you work all 7 days a week, that's only 10 to 14 hours of work per day, and such intensity can only be truly efficient for a short period (a few months at most).
So here's the question: if we spend 2.5 times the time, can it bring astronomical expected returns (i.e., 10x or 100x) to the startup? Where is the value of the extra 150%? Is it that working 40 hours a week makes a company's return rate ordinary, while 100 hours makes it leap into a household name like Facebook? If increasing employees' time investment can enhance a company's value, why not hire a few more programmers? Frankly, if investing more time means huge returns, then it would definitely be more cost-effective to add employees. Anyone can do this math, right?
If the above conclusion is incorrect, then why do some entrepreneurs desperately instill a culture of "crazy overtime"? Why do people eagerly embrace the idea of "work, work... until you die" proposed by Arrington and Jason Calacanis? One possibility is that people don't know how to measure it, and simply believe that working overtime will always bring generous profits. But I've found there's something else going on.
The fact is that no matter how sophisticated the metrics we use to evaluate work are, they cannot truly measure a programmer's productivity. In addition, most companies have competitive mechanisms. Even if some people don't want to "fight for power", they still have to spend a lot of time carefully reviewing code and checking bugs. People like Arrington will neither spend the time nor have the professional ability to do tedious things like evaluating employee performance. So they use working hours to measure a person's productivity. In this way, which programmers spent how many hours working (and they must be writing code all the time!) or which programmers often "aren't sitting in front of the computer writing code" becomes immediately clear at a glance. For example, if you can answer Arrington's call at 1 AM without complaint and get to work immediately, then you are essentially devoting your time to work. Of course, stupid and arrogant people won't understand that answering a call and fixing a problem can be done in just 10 minutes.
Therefore, despite what Arrington and Calacanis repeatedly emphasize, the real meaning behind their desire for programmers to keep working is that they want them to be on call at all times. A large part of the reason is that without these programmers, there are many problems they alone simply cannot solve, but this has nothing to do with whether a startup succeeds. Speaking of which, even in some established companies, there are such foolish bosses who, in their baffling minds, hold the belief that leaving one second earlier than the boss is a heinous crime!
Translation link: http://www.codeceo.com/article/how-many-hours-programming.html
English original: http://java.dzone.com/articles/how-many-hours-can-programmer
Translator: Codeceo – Xiao Feng