The upper-middle class, in America and parts of Europe at least, is the highest anyone can rise by working for other people. It is surely a rat-race to get there, although a fairly meritocratic rat race. The result is that "upper-middle class" jobs are very highly competitive, and tend to remain at a highly competitive equilibrium level of salaries and working conditions even if there's an apparent skill shortage within the particular industry itself. Because after all, there might be a shortage of programmers, but if you don't want to work long hours, what're you going to do, get a fast-food job?
Thus we get ourselves an entire class of people who, by most standards, are rampantly overworked, but at the same time quite sufficiently paid. If only they were to stop competing with each other for status (inside and outside the workplace), they might be able to put an end to the poisonous equilibrium of the 50-hour workweek, simply by agreeing that the last $20k/year of salary isn't that important.