This is exactly my point. I honestly don't know how anything would ever get done with this kind of attitude. I'm not saying that we should overwork our labor force but what we have now seems fairly optimal.
Based on what? The 40 hour work week is entirely artificial and came around at a time when people had shorter commutes and could afford to feed, cloth and educate a family on a single income.
Now people are churning out 40 hours a week, mostly in dual income homes, and a vast amount of people are struggling to put food on the table, clothes on themselves and their kids and a roof over their heads even here in the developed West.
What is optimal about it is that we've all been coerced to do the same amount of hours, give or take, and therefore your competition will be putting in the same amount of hours, give or take.
Meanwhile people are taking far longer to get to their place of work, often sacrificing lunches or eating in isolation, and then dragging themselves home to do the basic chores required of keeping a home for themselves. Add in kids and most are exhausted.
So what, except for the benefit of business owners, is optimal about this situation?
I'm no socialist looking for a handout here, but as times changes and the circumstances with them, society should change and adapt with it and not cling to relics of a by-gone era that were created to optimize life in a time we can barely relate to now.
I've been a laborer too so I'm not arguing against laborers' rights. Labor and capital are symbiotic; one without the other would not function as efficiently as they do now.
We're doing okay with what we have is all I'm saying. Perpetually being in a state of revolution doesn't help anyone especially when things are going great. 40 hours seems fair to me; 24 hours doesn't.
I'm hard pressed to believe work would get completed in such a short time. We'd all be poorer for it.
Based on experience I would rather have a happy, well-rested developer working for me who is aching to get to work in the morning and who has the brains to leave for home as soon as he or she feels tired or unfocused. If that happens at 2pm or 4pm, I don't actually care. If people are still at the office at 6pm, or if I see people are tired, unfocused or are only goofing off, I ask them to go home.
To the degree that I care about the hours they work I only care if they spend too long doing something (they're stuck and need help perhaps?) or if they work too many hours (they'll write shit code we have to fix later so I get to pay for it 2-4 times over).
Makes total sense to have a worker well rested and happy (40 hours does that sufficiently well). Your submission works if it is a task such as programming. A programmer can finish their week's tasks in 3 days or less and you'd be fine with that. That's not most programmers though.
Moreover, I have had other businesses where the time you pay for as an employer totally matters if you're to get an ROI.
If I need you for 8 hours a day and there's an amount we've agreed on as compensation, then that's exactly what I need.
It doesn't really work if for instance it is a restaurant and you need to have waiters, dishwashers and cooks round the clock as patrons visit your establishment.
If they'd rather work fewer hours and get less money, who am I to argue? I'm just saying they'll be poorer for it and contrary to what you posited, they won't be too happy about it either.
I think the reason most programmers are relatively unproductive is that they don't step away when they are not being productive. Stepping away from work when you are not performing well has (at least) two positive effects. One is that you get some rest. The other is that the change of context is good for problem solving. It helps to go home and do something else while at the back of your mind you are still trying to solve problems. I try to avoid just hanging around the office when I'm kind of half stuck or fully stuck. Because I'm not really all that productive.
Programming really isn't about hours but about the quality of those hours.
For manual labor things are of course entirely different. But I'm not talking about manual labor.
(Of course, in some companies, programming is seen as a kind of manual labor where people naively assume that hours spent working translates in some linear fashion. To quote something an executive at a large company said in a meeting: "I don't understand how there can be more productive programmers and less productive...they're just writing code, right? So any developer is interchangeable with any other, right?".)