The defense industry in the US is like this. It is illegal for a company to have employees work more that 40 hours a week without overtime pay. The rationale is:
If Company A has a company culture of all employees working 60 hours a week and Company B has a corporate culture of working 40 hours a week, Company A could charge the government less for the same amount of work and thus would win more contracts. The government recognized this would create an customer incentive for companies to "encourage" their employees to work longer hours. So the government made a law that Defense contractor employees must be paid overtime for any hours more than 40 per week. And in my experience, no manager will pay overtime so most non-manager level people really don't work any more than that.
This prevents the problem you mention, but it still isn't good for the employee. It does create an incentive for the company to encourage their employees to work more. If they charge for 80 hours in one week, but only pay the employee for 40 the company just made a bunch of extra profit at the employee's expense.
37.115-2 General policy.
(a) Use of uncompensated overtime is not encouraged.
(b) When professional or technical services are acquired on the basis of the number of hours to be provided, rather than on the task to be performed, the solicitation shall require offerors to identify uncompensated overtime hours and the uncompensated overtime rate for direct charge Fair Labor Standards Act—exempt personnel included in their proposals and subcontractor proposals. This includes uncompensated overtime hours that are in indirect cost pools for personnel whose regular hours are normally charged direct.
(c) Contracting officers must ensure that the use of uncompensated overtime in contracts to acquire services on the basis of the number of hours provided will not degrade the level of technical expertise required to fulfill the Government’s requirements (see 15.305 for competitive negotiations and 15.404-1(d) for cost realism analysis). When acquiring these services, contracting officers must conduct a risk assessment and evaluate, for award on that basis, any proposals received that reflect factors such as—
(1) Unrealistically low labor rates or other costs that may result in quality or service shortfalls; and
(2) Unbalanced distribution of uncompensated overtime among skill levels and its use in key technical positions.
-https://www.acquisition.gov/far/current/html/Subpart%2037_1....
Fair enough it isn't legally required. However it is formally discouraged by the government. Also, my particular employer explicitly discourages unpaid overtime and thus it doesn't happen often.
You ask, "is being stuck in a mortgage with a sick spouse license for an employer to demand 70 hours a week?". Well, at 70 hours a week, our protagonist is effectively being paid $19.78 per hour. That's almost $2 higher than the average income of employees in Grand Rapids, MI.
What you're effectively asking is, should it be lawful for employers to pay people less based on their situation?
On the one hand, there are plenty of circumstances where it clearly isn't lawful to do that. For instance, you can't pay people less because they're of Indian origin, or because they practice Judaism, or because they're female.
On the other hand, the circumstances of individual employees play into compensation decisions all the time in every job. You are effectively being paid less because of circumstances mostly out of your control any time you take a job outside of San Francisco or New York; the premium earned by technology workers in San Francisco exceeds cost-of-living adjustments significantly.
So where do you draw the line? Is the line "you can't be paid less because of illnesses in your immediate family?" I'd agree with that rule, but how often does it really come into play?
For what it's worth, speaking on behalf of an employer: we don't like 70 hour weeks. We work hard to keep them from happening and, for the most part, people get out the door here in time for dinner (it's hard to say, because some people stroll in the door just in time for lunch). Making people work overtime here, paid or not, is a bad idea because it makes it hard to retain talent. I'd like to think that if there was an economic rationale for overtaxing our team, we still wouldn't do that because it's immoral... but my morals haven't been tested on this issue, because it would be irrational of us to coerce people into working overtime.
Perhaps if the pot of gold at the end of the rainbow was a buyout in the tens of millions you'd be tempted as a part owner. Even then the front-line employees being whipped would be unlikely to get a significant piece of that pie, no?
"From a business point of view, long hours by programmers are a key to profitability. A programmer probably needs to spend 25 hours per week...Thus a programmer who works 55 hours per week is twice as productive as one who works 40 hours per week.... A product is going to get out the door much faster if it is built by 4 people working 70-hour weeks (180 productive programmer-hours per week, after subtracting for 25 hours of coordination and structure comprehension time) than if by 12 people working 40-hour weeks (the same net of 180 hours per week)."
"If you see one of your best people walking out the door at 6:00 pm, try to think why you haven't challenged that person with an interesting project. If you see one of your average programmers walking out the door at 6:00 pm, recognize that this person is not developing into a good programmer."
There is plenty of studies done on this that shows that you can get an increase in productivity by working more hours for a short time, but that if you go over ~35h/week for a longer period of time, the productivity drops and some overtime might actually result in negative productivity.
Anyways, it's undeniable that there's a pervasive culture of 60-80 hour work weeks in tech companies. I think it's bullshit; I think it's bad for the employers, who get substandard burnout work and become a revolving door that spins even faster for more talented team members; I think it's bad for employees for obvious reasons.
But I also think (a) a slice of cheese shouldn't cost $200 and have an end-user licensing agreement attached, and (b) we don't need to outlaw that practice.
When you read articles about unfair labor practices at tech companies, I'd like you to keep in mind that software developers are the. worst. at reasoning about the valuation of their own work. Software developers think Stack Overflow is worth maybe a weekend's worth of programmer time because it's just a big message board. The world probably does look a lot more unjust when you look at it through a prism of discounting your own value by 50%-150%.
1.) Developers don't understand what they are worth 2.) The culture of 50+ h/week working is pervasive
I think the point where we disagree is about the optimal behavior from the companies POV. Based on the exclusivity of existing condition eligible health care and collaboration by major tech firms to illegally collude to prevent competition for work, I don't conclude that it is a system which will fix itself. However, the only viable solutions I can imagine would be unpalatable to too many programmers to be enacted.
Having said all that (and established some of my statist liberal bona fides), I do not think abuses of at-will employment or overtime exemption demand legislative fixes; in particular, I think that it's far more likely that it would harm startups (and the employment market in general, for employees and employers) to regulate overtime for salaried employees or, worse, termination requirements for employees.
My business strives for a mix of long and light weeks to compensate.
Wow! What a horribly shitty attitude. If your "average programmer" isn't spending their every waking moment at work they're not a good programmer?!? Employers with attitudes like that deserve a serious atomic kick in the balls.