Ask HN: Why don't companies hire programmers for fewer hours per day?
Maybe this question doesn't properly apply to USA programmers since labor laws are a little different there, but let me try.
Rationale: we always discuss how programming makes us tired and stressed, how often we spend hours and hours per day just procrastinating or being completely unproductive while still trying to be. Also, we often discuss how programmers get paid nice salaries in comparison with most other professions. This leads me to the conclusion: I'd probably be very happy to take a 25% (or more) salary cut if I had to work 25% (or more) less. I mean, 8 hours per day is a lot and it's very rare for me to have a fully productive day. If I moved to 6 hours per day, I'm not even sure if I'd become less productive, I'd probably just spend less time chatting at the coffee room, and have a smaller chance to get burnout. Maybe a little less productive, but the company would be saving some money with me, and if they did this to other 3 people they would be able to hire another 6h/day programmer to balance things, maybe making the result even positive for them.
But, considering that no company does this, it looks like this isn't a good idea for employers. Why? Why do companies try to squeeze all the possible juice from employees instead of the alternative where they pay a little less, require a little less, and the employee becomes much more happy?
And the question to the workers: wouldn't you accept a proportional salary reduction for a proportional time-spent-inside-the-office-doing-whatever reduction?
366 comments
[ 4.9 ms ] story [ 273 ms ] threadLets say you get to work, sit down, and you veg out for 30 minutes to kindof ease into the zone. Then you get going on your project, and it takes another hour or so to get fully up to speed, track down a failing test that someone committed, whatever. Then in the afternoon, you chat with a co-worker for half an hour after lunch.
Now you have 6 hours of productivity in an 8 hour day, but 4 hours in a 6 hour day. The main point being that there may be some 'fixed cost' things that don't scale up or down so much.
Every day is just the constant sound of construction and I'm finding it more and more necessary to work from home and maybe find a new job entirely.
I have fantastic noise-cancelling headphones and they don't help a damn bit.
I, for one, would quit my job if I had to work 10 hours every day. I would not be able to stand it. It isn't that I don't like what I do, but I like what I do outside of work to not want to be there all the time!
There are downsides. Less time commuting means less time listening to audiobooks and podcasts.
Like many people, once my brain is fried I'm simply done for the day, doesn't matter if that frying happened at 9am or 7pm. So statistically a three hour staff meeting causes more total lost productivity for a ten-er than an eight-er. Scheduling people make sure meetings only happen during common time (uh, thanks?)
When the weather is bad (blizzard or whatever) or go home sick a half day, obviously that's more expensive for a tener than an eighter. Of course that is balanced out, I'm more likely to have a sick day on my weekend than an eighter and if there's a blizzard on my weekend I obviously don't miss any work.
Doing an 8-hour day means that you get 5 hours of decent work, which is not viable for the output that we need.
With 12-hour shifts, we work 3-4 days a week and get more done than people who work 8 hours a day, 5 days a week. And we get overtime!
Increased employee costs make an employer less likely to take risks and produce pressure to hire less workers. Then a few workers gain at the expense of others not having a job at all. Why do you hate workers?
Come to think of it, that's probably why I have so many colleagues on 20-32 Hr/wk contracts... Mostly, mothers of young children. But they're doing the same sort of technical work others on full time contracts are.
Yay, Germany!
In Australia "taxes and mandatory benefits" on a $100k USD salary cost the employee ~30% in taxes and medicare levy and the employer ~5% payroll tax + ~10% superannuation (401k). In total, 1.15x the salary is being spent and of that, 0.69x goes to the employee.
If the employer pays an extra 50% salary in the US, then 1.5x the salary is being spent but the employee only gets salary after tax, which (based on my payslip) is only ~0.65x salary. So the employee only gets 0.43x the total amount being spent. If the employer has a fairly generous 401k match that results in an extra ~10% going to the employee from that extra 50%, that's still only 0.50x the expense going to the employee.
As someone who's lived in both countries, I don't really get anything extra in the US thanks to that cut. The health insurance seems to be the main thing people care about but I found healthcare in Australia to be cheaper and superior to the care I've had in the US (on PPO).
I think the US needs to adopt single payer healthcare like the civilised world and work out its government spending and taxes a little better.
I started it because I'd repeatedly burned out of full-time jobs. Working 3 days/week was a great 4.5 years for me, far more rewarding than the added salary I passed on could have been. Aside from lower work anxiety, I had time to write two books, give three conference talks, get engaged, get married, take up several hobbies, and enjoy life thoroughly. My work has been overwhelmingly better: I stay out of rabbit holes, I recognize deep patterns, I prioritize ruthlessly, I deliver the things my users didn't realize they need. It's not magic, it's just downtime for my unconscious to noodle around with problems without pressure.
I think working part time is a hugely valuable experience for anyone who doesn't have a pressing need for dollars in the door (eg to pay off US medical bills or student loans). There are plenty of blogs out there on frugal living + investing (I recommend MrMoneyMustache and Bogleheads wiki), so you can live comfortably and still save significantly towards retirement.
I can't argue the financial math of why it rarely works, but I'd do 3 or 4 days a week again in a heartbeat. (15 year dev, currently Rails/Django/Haskell, Chicago/Remote, peter@valent.io if anyone's looking.)
I have heard of exactly two other devs at 3d/w in the last 5 years so I wouldn't pin any hopes on that, but there's plenty of people at 4d/w.
When summer is over I'll likely move to 3 or 4 days a week (my choice). It's a sacrifice in money, not to mention the work is for a non-profit open source project. But it's relaxing.
There are a few other developers/devops in the same office who are working on the same arrangement.
I wouldn't think that this situation is unique to the industry.
Mind you, where I am is incredibly flexible with me. Last year I worked 1 d/w remotely for the summer (two mornings a week in fact, not even a whole day :-)).
It's probably easier to get this on a contract (and it'll probably help with the IR35 thing if that ever comes up)...
I spent 7 years working remotely part of the year while living in coastal South America, and I've been transitioning to a 3-day week now that I moved back to the States and married someone from my hometown.
I believe it results in better software.
(For contrast, I had a previous approach which was itself pretty good, if somewhat adventurous -- I took fewer projects per year, with a target of working only 1 day out of every 4 in a year. That way, when I worked on a project I was able to be unreasonably focused on it because I was craving collaboration).
A programmer should be able to checkout, build, run in minutes and then to start fixing bugs on day 1.
Welcome to the midsized, pre IPO startup.
I have never met a programmer who could do that. I'm sure some of them can, in specific domains. But I'd consider expecting that to be a huge red flag: I've worked at exactly one place that expected a day 1 hire to match their veteran coders, and I wouldn't work there again.
My main objection was that there shouldn't be 3 months of negative or near zero productivity. Or there should at least be a good reason for it.
i.e. If it takes someone 3 months to be productive, there's probably something wrong with the build system/documentation, or code organisation/structure (+ comments, or lack of), lots of knowledge in people's heads etc.
That ramp up period involves learning the subtleties of the business, inter-team dynamics and processes.
The first bug I ever fixed resulted in costs for the company. My mentor had left the company within a week of me starting and I waded into the code with good intentions, but put us out of compliance with regulations.
You wouldn't let them check out and run the code? The business processes etc all have to be learned of course, but the code is where most of the time should be spent.
> The first bug I ever fixed resulted in costs for the company. My mentor had left the company within a week of me starting and I waded into the code with good intentions, but put us out of compliance with regulations.
I would consider that a failure of the company, too many responsibilities are pushed down to the developer. If there are strict compliance regulations then there should have been some sort of QA process and/or a domain expert validating the results.
This is detached room reality. There arent many jobs (other than junior level programmer) where you just churn out code without actually having to think about the requirements, use cases, security, etc. Having responsibilities is a very common thing as a software engineer.
But expecting the developers to act as the domain experts is also detached from reality. I've never worked with anyone who I would consider a domain expert that also keeps up to date on a technical level.
If you also assume that people strengthen their own understanding of a topic if they teach it new engineers don't drain resources if they ask other developers questions. They might make your other workers more productive in the long run. At the very least I'd argue that the time other devs spend on onboarding isn't wasted 100%.
I suppose the dynamics change if you hire fairly bad people who make things worse with their early commits but that mostly means your hiring process (and most likely your code review or whatever measure you set up to prevent bad code) is broken.
Meanwhile some of my friends at large companies "train" for weeks. Pretty interesting difference.
In practice I've found this assumption is only true if you have very small growth/turnover. I.e. If you hire a new engineer once every couple of years it's probably the case, but if you hire a new engineer every few months it isn't.
On average I'd say we have our senior engineers spend 40-50 hours total in the first month teaching/helping a new senior dev. Probably a similar number of hours in the second month, and then it drops to maybe 10 hours/month for the next year.
From what I have seen a new senior dev is around 10% of the productivity of a existing senior dev for the first month, 20% for the second, and rapidly reaching 80% by the end of a year.
So they are at 1 unit/hour of productivity for the first month and add 160 units of productivity for the month. However, senior devs, at a cost of 10 units/hr, have spent 40-50 hours helping them at a cost of 400-500 units of productivity.
Second month they add 320 units but cost another 400-500. By the third month they add maybe 450 units and only cost 100 units. And at this point they have managed to pretty much break even.
Of course if you assume training costs are not a real cost but rather beneficial for your existing senior devs then the new senior dev looks productive from the first month. But then you are really just talking past each other.
In my experience, the real reasons are (in order of importance): 1. It would hurt morale (or so they fear) 2. It complicates booking meetings and such 3. They suspect that you're doing something creative on your "other time" and thus they don't have your "full attention"
* Payroll taxes: OF COURSE they're saving the same amount on taxes! It's not like they pre-pay taxes on an assumed amount. It's a % of what they pay you. If they pay you less, they pay less taxes on your behalf.
* Workers Comp: Firms play insanely low rates on workers comp for programmers, and workers comp is generally calculated at (RATE for job class) * ($100 payroll allocated to job class). If you pay the employee less, your workers comp premium decreases at the same rate.
* PTO: If the company wishes to offer full time PTO benefits to a part timer, they may, but many businesses have separate PTO policies for full and part time employees, including slower accrual for part timers.
Training time and management overhead are probably the real costs here.
> In fact, more people working fewer hours increases most of these costs.
More people working fewer hours could also increase productivity (that's the point of this discussion) thus could increase revenue and profit, as well.
If you pay 10% more and make 20% more revenue, that's a GOOD DEAL
> Payroll taxes: OF COURSE they're saving the same amount on taxes!
No, they aren't, in the US.
> It's a % of what they pay you.
Not a flat percentage; the social security portion of payroll tax has an income cap (the smaller Medicare portion does not), which is less than what most programmers make, so payroll taxes do not go down proportional to income for workers who are above the cap to start with.
1: http://www.payscale.com/research/US/Job=Software_Engineer/Sa...
2: https://www.glassdoor.com/Salaries/san-francisco-software-en...
San Francisco-Oakland-Hayward is a little lower, but both kinds of Software Developers still average over $120K. [1]
[0] http://www.bls.gov/oes/current/oes_41940.htm#15-0000
[1] http://www.bls.gov/oes/current/oes_41860.htm#15-0000
Using BLS data, which should be more reliable, for the San Francisco[1] and San Jose[2] metro areas, the average weighted by number of people in the job of annual mean wages for the job categories of "Computer Programmer", "Software Developer, Applications", "Software Developer, Systems" and "Web Developer" is $129,730.54.
[1] http://www.bls.gov/oes/current/oes_41860.htm#15-0000 [2] http://www.bls.gov/oes/current/oes_41940.htm#15-0000
To be fair, as well as regional there is also industry variation, and a lot of people here work in the "Other Information Services" sector -- most online services would seem to be in that category -- which is (at least nationally) significantly above average pay for programming occupations. If that industry-based trend is also true for the region, then $150K for a developer could well be a below-median salary for region/occupation/industry combination.
So if we're not talking about people with the job title "software engineer," but instead talking about people who are software engineers, including people who have a more advanced title, the average salary moves up.
True, though many people live on the coast specifically because of its tech industry. Sweeping that away is no better than pretending that it's the only game in town.
Yes, you can certainly find a company to pay you less than $100,000 to program computers for a living. That's not in dispute. But know that you (meaning you as well as anybody else anywhere in the US or the English speaking world) can also find a remote gig paying more than that.
Good developers are very valuable. Even in the sticks. Please don't sell yourself short.
Employers appear to want you to be in at least a somewhat similar time zone as their core team and have some prior experience working remotely.
Take this hypothetical person living in the sticks. 3.5 years of experience doing local development. No prior remote experience -> not given the time of day by remote shops -> can't get remote experience.
Exactly HOW does one get $100,000 working remotely? When no-one's ever heard of you?
"Yeah just get a six figures remote job......... if you have tons of experience/large network/expert on a niche/top open source projects".
In the Bay Area, if you don't make that kind of money, you better be living in company housing, or you will have trouble renting a closet by yourself.
So yes, enough programmers make more than 120k for the payroll tax to be the same regardless.
I see too many bay area people thinking that ubers and expensive meals out are the "bare minimum".
I am not saying they need more money, but I don't understand how we have gotten to the point of chiding people making six-figures like they work at McDonalds and want a BMW.
Much of the rest of the world does it, no reason North Americans cant.
On review of the data, no; I was actually thinking more narrowly of software developers rather than broadly to all programmers, and even then its a little high (though the median salary for application developers (Software Developers, Applications) in the Information sector is close to the cap. [0]
Still, a substantial minority of programmers (broadly speaking) will be making above the cap, so reducing programmer salary in exchange for reduced hours will reduce payroll taxes by a substantially lower percentage than the percentage reduction in salary.
I'm assuming the OP was expecting to keep this benefit since it's a critical thing for most people. The company could choose to pay for less of a share (and most companies reduce or eliminate this benefit for part-timers) but assuming it's left alone, it would not be reduced any with a reduction in the cost of salary.
You mentioned training time and management, but there's also "employee support costs" that increase by employee count regardless of salary such as HR and other support staff, state/local/federal compliance requirements that are based on the total number of people employed rather than salary (though many of these are limited to full-time staff) and others that I can't speak to since it's not my area of expertise, but his point is still valid in those areas.
On PTO - you're right in that I haven't encountered an employee that doesn't reduce the total allotment of PTO for part-timers. But even if they didn't, this would go down precisely with salary since it's paid as a full day's work not worked and that day would now be 25% cheaper.
Do the US ones not do that?
Ones health care costs arent going to be cut in half if hours are cut in half. Still need just as many annual checkups, may still have the same diabetes etc.
Read up on german health insurance for example.
That's what was causing the confusion and dissent.
(Also … don't ask what US health insurance costs are based on. It's too horrible to contemplate. They're based on, among other things, your employer's negotiating power vis-à-vis the health insurance industry.)
> Read up on german health insurance for example.
Which one, the one where middle income employees pay healthcare for all the poor and incapable, or the one where the wealthy and some happy civil servants don't?
The American system is terrible, but I really don't think that we are qualified to point fingers.
That about sums up the US system... I don't particularly like the idea of the federal government getting their grubby fingers into more than they are constitutionally mandated to, but a single-payer system could cut out the byzantine insurance coding and billing bureaucracy that causes medical costs to be completely arbitrary and opaque.
They still should have checkups, but not everyone needs them annually. Still might have diabetes, but with less stress and actually having time to cook proper meals, the diabetes might be better controlled and have cost savings in the long term (fewer complications) - and possibly short term if they have type 2 and go from insulin to pills. Sweden has been testing out 6 hour days - with nurses, they find overall absenteeism has dropped and folks are happier. Large scale, this would probably mean that folks are sick less often. Might not be cut by 25%, but improvement is still improvement.
The funding for health care still needs to come from somewhere, this optimally being a tax on income.
Is it actually, 'In a sane system healthcare is billed to everyone as a percentage tax on their income capped at some dollar amount'. Or perhaps you think it should be an uncapped percentage of income? I expect there is no country on Earth where the cost of healthcare literally has nothing to do with employment status, in-so-much as single-payer healthcare is always funded at least partially by income taxes.
But at any rate, if you ignore the "free" point of the original poster, that post was quite correct. America leans heavily on corporations to perform the management of health care, and I don't see that as particularly "sane" to be honest. To me, such is an unnecessary competitive advantage to large corporations that can better manage the bureaucracy and expense. Small business owners often cannot afford the time and expense to offer this (understandably, to be honest). Consequently, employees that are self-employed or working for small companies may have to forgo health insurance.
It is very possible that this leads to some talented employees resisting leaving a corporation purely for health insurance reasons, a phenomenon called "job lock" (https://www.jstor.org/stable/2118427?seq=1#page_scan_tab_con...).
Compare that to the US government, which isn't even legally allowed to negotiate on drug costs, and look where that has brought us [1,2]. So you could argue companies "waste" an enormous amount of resources having to procure health insurance for their employees year after year, but it also at least helps establish at least some competition in the market, which puts at least some pressure on prices. Companies health insurance budgets are not unlimited (unlike the Fed's) so we don't see quite the same run-away pricing as you do when the purchaser is literally printing the money to pay for it.
Obama's famous "you can keep your Doctor" lie is very telling. Different companies will elect for very different levels of coverage. The law requires that whatever level of coverage you chose to offer your employees is offered consistently from management down to your cheapest full-time employee, which is a really smart policy. Large corporations have better negotiating power in almost all respects of their operations, supply chain, and yes, employee benefits. We wouldn't imagine trying to 'level the playing field' in any other aspect of the operation of a company, so I don't think that's a compelling argument for single-payer health insurance?
When small businesses chose to forgo even offering health insurance (which is that even legal now?) that is actually a competitive advantage for them; they avoid a huge operating cost, and implicitly are selecting for the type of worker they are looking for -- single, young, and healthy.
[1] - https://www.cms.gov/Research-Statistics-Data-and-Systems/Sta...
[2] - http://www.nola.com/politics/index.ssf/2016/07/medicare_pric...
If there was no competition at all, I'm sure that there is some potential for rising costs. But a lot of "single payer" systems actually do offer a fair bit of wiggle room for private market competition. The mess that is the state of the United States government health care really isn't a compelling argument here against single payer (the statistics for most of the rest of the world's health care systems, which are more integrated, kind of show this). I would expect that any "Medicaid / Medicare for all" system emerge in the United States would be two-tiered, like is the case in several other countries.
To be honest, I would almost describe the situation in America as oligopoly-like in many cases (in insurance and hospital networks in particular) depending on where you are, and that would mute the effect of any corporate competition.
Fact: the system of private health insurance in the U.S makes it more expensive for everyone. Source: every other western country paying far less. It is possible for the free market to fail when the thing people are buying is something they would pay any amount of money for.
[1]http://gamapserver.who.int/gho/interactive_charts/health_fin...
To explain fully, I am advocating the system where a person who earns $0 per day can enter and leave a hospital treated for free. They don't work, don't contribute to society, but as a unit everyone just agrees to look after their basic health as a minimum. As well people with money can do the same without even a thought about what their health insurance does / doesn't cover or when it kicks in, they just pitch up to the hospital.
No. Almost nothing about the US healthcare system is sane, by any interpretation of the word.
Providers post prices publicly and compete on said prices while maintaining customer satisfaction.
The US does not do that.
We have 1000s of reviews for restaurants and how the server behaved but no site where you can type a zip code and a procedure and get a list of providers and their prices and reviews.
So while it seems like a 25% drop in hours would only mean a 25% increase in number of employees that later number will go up much more just to handle the increase in communication.
The current trend is to have a strategy/build/run model. The "run" people keep the lights on and run as lean as possible. Builders build stuff -- code and infrastructure. Code is high value, off the shelf stuff is going cloud. Strategy is architecture and mapping back to business needs and dollars.
You pay as little as possible to run. You pay whatever it takes to build. As cloud tools mature and standardize, costs will drop here. Strategy is the governance process -- light in a startup, heavy in a bank.
If that were the case people wouldn't be using 'the cloud'. For any non trivial size of compute load that isn't on demand, paying aws or gce is flushing money down the toilet.
Companies think short term, and will perceive savings if they can avoid making capital investments in datacenters or long term leases.
If they're paying for the hours you work and nothing else, it makes it a lot easier to quantify the value of "4 days of you" vs. "5 days of you each week".
And of course, the laws that caused all that trouble for Microsoft in the 90s around the distinction between contractor and employee help a bit, since it now needs to be the contractor rather than the employee who decides when and how the actual work takes place.
Contracting feels like you're only selling your time. With full-time work, you're also selling a big chunk of your freedom (which you don't get paid for unless you get % equity in the company).
Also, when working full time, if you take a sick day, your boss might look down on you and ask probing questions like "Are you feeling better?" to try to check that you were really sick (and to discourage you from taking more sick leave in the future).
If you're a contractor and you take a day off (for whatever reason), nobody will say anything - It's your business - You didn't get paid.
It feels a lot more natural and it eases a lot of tensions in the workplace.
I wrote a very long comment expanding on this : https://news.ycombinator.com/item?id=12168363
TL;DR I need a dedicated team, not low-investment part timers
One possible compromise I could imagine is something like three 9 hour days with an hour of emailing/communication/brainstorming the other two days. And maybe once every month or two they come to work an extra half day for an important meeting.
With a 30-50% pay cut, this setup will be positively affecting the burn rate/payroll expenses and it could easily be a better investment than the standard work arrangement. Obviously not every potential team member would be the right fit for this, but I think many would.
This is because those huge projects tend to require a high degree of coordination and planning, and that means the people involved need to be available to the rest of the team. And if they're not available, they aren't involved.
If a programmer is really good and want the lifestyle of 6 hrs work, she is better off freelancing.
Also, if you pay these people closer to full time employees, give them benefits, and make them want to stay they should turn over slower than a full time employee.
Also: fewer, not less for discrete quantities.
If "get the job done" were really taken seriously by employers, then the OP could offer to get his job done every day in 6 hours rather than 8, and take no salary cut. In reality, that employee would get laughed out of the office.
I'm not sure I follow here. You want 75% of the salary to do the same amount of work? That doesn't really make sense to me. You also have to take into account that companies have to manage the overhead of having more employees (more mouths to feed at events, more HR costs, at certain thresholds it triggers new legal requirements for the business). I doubt you're going to find a lot of takers from either employees or employers.
It sounds like you're dealing with a personal issue, which is that you feel like your company is "try[ing] to squeeze all the possible juice" from you. This sounds like you're burned out on your job. Maybe it's time to find a new company, a new position, a new work environment, something that will make you happier than you are now. I'm not sure that less hours and less pay is necessarily the problem here.
They want 75% of the salary to do the same amount of work... and then go home.
Auto mechanics have this figured out -- we (developers) should be able to as well. They get paid a certain amount for a certain job (say, 3 hours for a brake job on a certain model of car). If they can do it faster/more efficiently, they still get paid the same amount even if they work fewer hours.
This is far less applicable to an auto mechanic who simply has to replace a part with another stock part and let a customer walk away with it the same day.
That said in agile you have a definition of done so at least you can agree as a team when the job is done and then it's like the car mechanic example
Also if your still fucking around and not working super productively, your still available to answer questions quickly, meetings and other low energy tasks. While if you're not working and doing stuff at home, it's significantly harder to talk to you.
Nearly all necessary communication should easily take place in project/issue trackers and documentation. Developers should be able to operate without the constant need to bother others with questions - or being expected to drop everything and communicate with someone every time they are prodded without good reason. Office-dwelling employees need to train their discipline to work independently, and management needs to expect employees to learn that discipline.
If I have a burning question that absolutely needs a teammates' input, I can wait up to 24 hours for a response. If I can't independently work out an issue without assistance, and I also can't put that task on hold for a day to work on something else, I am failing at my job.
Managers should also operate under the assumption that every unnecessary meeting is detrimental to their business. Each block of 15 minutes spent in a meeting should be calculated as a loss of 2 man hours of productivity per attendee. Most meetings can be replaced by a single email or post in Slack or similar; so use those avenues instead. A meeting should only be considered as a last resort. The world would be a better place if everyone stopped and thought "Do I really need this meeting?" before clicking "Send".
Should be a Google Calendar mod that does this? Getting the people who need it most to install it could be... interesting, though.
I had a really clear example a number of years ago where I had been working full-time, but changed things up from salaried to strictly hourly and started coming in exactly six hours a day instead of eight to "however long it took" hours.
It made a remarkable difference -- I arrived rested and with most of the things that can be distractions (errands, paying bills, dealing with other personal issues) already taken care of. I was able to get down to work and focus hard for six hours, and my own productivity on the project increased. It was kind of surprising actually.
I doubt I'm the only programmer who ever experienced something like this.
Letting your devs goof off/work on the side while keeping the seat warm is easier for everyone.
1) inertia - that's how it's always done;
2) it's easier to make your good employees work harder than it is to recruit more of those difficult to recruit developers;
3) they would rather you work more hours than you already do - not fewer - after all they make money hiring you, they can make more money if you work more (in some twisted linear productivity logic);
4) some people wouldn't be interested, they don't want to work shorter hours and earn less money, and that reduces the opportunity for discussing this / rolling it out;
5) understanding how productive developers are is very difficult - did that bug take a week to fix because it was challenging or because you were slacking;
6) larger teams are less productive than smaller teams.
Once they're up to speed, you have to get as much work out of them as quickly as possible because smart, skilled, motivated, effective software developers don't sit still. Even if your company has enough internal career progression opportunities to keep these people around, your team will still be losing them before too long.
Another significant factor is that if you're doing something for more than a certain time per day (varies per person, for me it's 6-7 hours) then it gets permanent head-space and you'll find yourself mulling over algorithms in the shower, pondering your caching policies while you lie awake at night, etc. So if you let your devs only work 5 hours a day, you're not getting their shower thoughts for free.
I wish I didn't have to spend any time at all on contract work, but unfortunately I'm not yet able to pay the bills with my side projects. Hopefully one day.
I am more interested in what it does to your typical team in your something-like-typical corporate environment: I think it would tank team productivity. Instead of programmers getting up to maybe 6 hours' writing software done, programmers would get significantly less time doing that. And we would all hate it.
This effect would happen because a) there are interruptions, and communications overheads to being part of a team; and b) because you need a bigger team to cover the reduced productivity, all of your things that scale poorly with the size of a team mean you need an even bigger team, with each person therefore doing less development.
I think companies which are smart about this whole building software thing are more interested in teams and their capabilities than individuals and their capabilities, and I think many of those would look at this in the same way as I just did.
I mean, imagine the administrative overhead to create a system like you propose: you might want to work 25% less, but I really think a decent number of young and single software engineers could actually work something like 40% less and be OK at a 40% reduction in salary. Somewhere there is someone that is working on an interesting problem and, in spurts, wants to work 30% more. This variability increases as you look at, say, the sales team, the accounting team, etc, and all other positions that have different optimal working styles.
Now, imagine creating a system to make sure you pay people fairly in that world (remember, not even everyone with the same role/job title starts with the same "100%"). Or a way find out who your real best/most essential employees are... and so on. I honestly think that the workweek, as it is, exists mostly because as a company becomes sufficiently complex a few assumptions need to be made in order to keep it functioning properly, and '5 days, 8-10 hours a day' (or whatever) is an assumption that everyone can more or less stomach - even if they don't enjoy it.
It would take a powerful credo from above to preserve such a position amid such politics. Most management probably doesn't even have enough power to do it. They already have problems getting people to take vacation for the same reason.
And it's the same reason you're probably already working more than 8 hours once e-mail and Slack hours are included (if not outright spending more than 8 hours at the office).
I've been writing software since I was 13 years old and have been lucky to be writing software in the language I want to write in, and with code that is challenging enough to keep it interesting. Here's the thing: Since I got my first "real gig" (the one that can be called "a career"), I have averaged well over 40 hours/week.
During that time, except for one brief period[0], I had never been pressured to work an hour over 40 hours. In fact, the only time at my last job that I was actually had some moments where I was unhappy was during a year that I worked for a manager who gave me a hard time because this manager believed I was "working too much"[1]. If a job involved a "powerful credo from above to preserve such a position amid politics", it'd be a job I wouldn't make it at. Or I'd just work the extra time and shut up about it, giving the appearance that I'm some sort of super-hero with code.
I love what I do and work extra hours because I enjoy the challenge and the specific work I'm paid to do. And there are a lot of us like this out there. I have some side projects that keep me from spending all of my free time working on "work stuff" but my job is my hobby as much as it's my career.
[0] There was a period of time that I reported to a manager on a team that was entirely made up of operational support. The expectation was that the salary paid to the support guys included a stipulation to work at least 45 hours/week. He made it a point to mention this during every staff meeting. It pissed me right off, partly because I can't stand managers who hyper-focus on "hours worked" and ignore "work completed" but mostly because my salary was low for what I was doing and couldn't, objectively, be considered to be taking into account a 45 hour week. I mentioned it to this manager and was told to ignore the statement because it was meant for a couple of guys on the team who barely handled 40 hours and being the only developer on the team, he knew my job was very different.
[1] I'm not knocking this manager. This individual ran a very effective team, and part of that was their deep investment in staff. It was done out of the same caring nature that caused this person's team to be so effectively. I told my manager that I felt pressured to falsify my time sheets, which was something I would never do, because of the grief I was getting and that put an end to the grief since they were now aware that I knew there was no pressure to work the extra time and that being in control of the time I put in is important to me.
Red 5 standing by - I can easily work 80/week on an interesting project
I love what I do and directly sought a partner that would fit with my life and a job that is flexible. I work from my home for a team that is located entirely in the United Kingdom (I'm in the US). I don't regularly do "80 hour weeks" -- it happens and it's almost always by choice -- but there are ways to work more than 40 hours and not have it affect your family.
First, I eliminated the commute by working from home. This allows me to start work the instant I wake up, which I do every morning. A while back, I followed something I'd read on HN about 'how to wake up at 5:00 AM'[0] and have been doing it for so long now that I get up around that time every morning without effort and find it hard to sleep in at all. But I enforce an average 7 hours of sleep/day over a 5-day period[1].
When I work and where I work is flexible, but I'm always working until my team goes home. I also work entirely from my laptop, in the living room, all day. That means I'm basically with my family nearly all of the time in the summer (my wife usually sits next to me the entire day). I can close the lid when circumstances warrant. After that, it's a mix of day and night working (usually both). During downtime (which would otherwise be wasted by being dedicated to watching TV), my laptop is on my lap. My wife has her phone in her hands. She's always been like this and I've always been like this. I got lucky in that my wife and I share a brain on these sorts of things.
When there aren't plans on the weekend, I'll work during the downtime.
My wife is a full time mother, as well, so she handles the cooking (which I hate doing, anyway), grocery shopping and household related things. We both participate in homework, teaching, and enjoying our children. There are times when work is long and difficult and she's understanding that she needs to hold things together when those rare moments occur--I'm the only source of income for our family of four.
[0] The short version of the technique is "force yourself to go to bed when you're tired (even if it's at 6:00 PM) and force yourself to wake up by 5:00 AM". The former is easy, the latter isn't but I added another technique: I did several dry runs the night before where I set my alarm 5 minutes in the future, laid myself down and jumped out of bed when it went off. For the first several days, I physically got up out of bed and ran to wake myself. Now I can grab my laptop off of my side-table and sit in bed feeling perfectly awake. I drink a reasonable amount of coffee, as well but no alcohol (I gave it up a while ago because my sleep was affected negatively when I drank and I didn't enjoy it much, anyway).
[1] I've never been one of those people who can handle little/no sleep. I need 7 hours a night or I start to feel miserable and get crabby with my family, so I aim for 7.5 hours/night and enforce an average 7 over 5 days. I have bursts of creativity most often at night and if I'm having a particularly good time with code, I allow myself to stay up until productivity is affected by exhaustion. To make up for it, I will go to bed early the next day or grab a nap in the afternoon. As far as the whole "there's no way to make up sleep", that's not been my personal experience. I am right back to normal after a 4-hour evening if I put in a 10-hour night and I'm able to do it if I force myself to bed a few hours early. Because of "0", I haven't been able to reliably sleep in, so that's my only option left.
My wife and I both work full time (me from home with flexible hours, her with a ~1hr commute) and we have two young kids. We have a nanny who looks after the kids during weekdays.
What makes it hard is that one of the kids is almost always up multiple times during the night. My wife and I take turns doing the night shift, so every other night has me up at least 3 times (last night was a 'good' night, I was up at 11pm, 1am, 4am). Like you, I don't function well at all if I don't get enough sleep - I can crank out boilerplate code OK but if I have to think then even 4 productive hours is a battle. Combine that with the fact that, working from home, I'm the default person to handle any number of work-time shenanigans and I almost never make it to 40 hours of work.
The biggest factor here is the lack of sleep due to kids, so hopefully it'll be a whole different situation in a few years' time.
Alas, that's not a universal recipe for higher productivity, or even a long-term recipe: too many ifs and buts.
I, too, can easily work 80+ hours a week on an interesting project. But I generally discipline myself not to do it because my productivity, measured in actual results ($ or other project success metric) tends to be lower if I work super-long hours.
If you've got a pattern that works for you, then it works for you!
The fact that overtime is free also accounts for the number of useless meetings. The time wasted is free for the employer. When I worked in Germany the bosses were much more conscious about wasting time because they had to pay for overtime or the union simply wouldn't allow it.
The person I was talking to was like "they are trying to abuse this foreign worker with 60h work weeks" and I was like "no everyone gets abused like that"...
Here in Quebec we have a clear policy that any work over 40h/week is overtime (paid at 1.5x), but somehow this doesn't seem to apply to software jobs.
I also get a "I work long hours why don't you" feeling I approach the subject.
On the flip side, companies get access to a deeper talent pool at a cheaper price. My current position used to be based in the U.S., but they couldn't manage to get developers to stay. In my case, for the price of one U.S. junior developer, they got two senior developers.
I do believe some face to face communication would make things smoother (at least two or three times a year).
A lot of great articles have been written on how to manage a remote team. It's definitely not for every company, and tools are not yet there (and probably will never be 100%, but they'll get "good enough" for the normal use case).
Edit: some of the articles -
https://blog.stackoverflow.com/2013/02/why-we-still-believe-...
http://www.hanselman.com/blog/BeingARemoteWorkerSucksLongLiv...
After that I go home and do other things (piano, study languages, etc.), but I couldn't write another line of decent code if I tried.
Working a 30h workday with a typical salary is awesome, I have approximately the same output as I would working 60+ hours, leave the office during daylight and have time to explore other interests.