Simple solution (from the software engineer's perspective): demand overtime pay. If you are officially expected to work 40h/week for certain amount of money, but in practise you're "expected" to work 50h/week, then your real wage is actually 20% lower than what your contract says. And that is pretty similar to theft.
It's time to start comparing wages instead of absolute income.
It's time to start comparing wages instead of absolute income.