I was just perusing a forum about software jobs and the topic came up of companies expecting their software developers to work 80-100 hour work weeks as a W-2 employee (no overtime) in a right-to-work state (you can be laid off for any legal reason at any time) just to get software released "on time".
The comment was made that some software needs to "get done fast and get done yesterday".
I don't think that any software project ever needs to "get done fast and get done yesterday". In my experience, this is just the money-men pushing the workers as hard as they can to squeeze whatever profits they can out of the situation. If employees are willing to suffer for 40 extra hours in a work week for the same pay, why would management offer anything better?
If you knew that bridge engineers were cutting corners and working without sleeping to build a bridge before some arbitrary date came to pass, would you feel comfortable driving across it?
It all comes down to the fundamental question in software engineering: "How long is a piece of string?"