I'm a developer and I work 37.5 hours a week. Never in my professional life in the past 8 years have I been coerced to overwork (although, due to flexible worktime, I occassionally work on a few days a bit more, and on some, a bit less).
I would never describe my work environment as a "cage" of any sort.
Please, if you are overworked, do not expect it to be a good thing or an universal rule. Rather, I would suggest you approach it from an engineers perspective - "Ok, this time allocation thing is broken, I cannot seriously work this much, I want to have a life, how can I fix this".
This rule is often quite true in the workplace: You get what you are willing to accept. It is surprising how many things you can change (within limits) if you stop accepting things because they are, make up your mind about your limits (within agreed boundaries) and politely but firmly stick to them. Usually, if you explain your point of view politely, calmly and with confidence you can get pretty good results out of negotiations if you set realistic goals.
Of course, some people enjoy working long hours but in this case I would not describe their status as 'caged'.
Was it a cage, gilded or otherwise? It was certainly unfair and unpleasant.
At some point in one of the companies I worked for, when the hours became truly insane, I just decided not to do it anymore. I was still working a lot, but just chose not to work 60+ hours a week. I would say this choice led to some discomfort at that company, and I might eventually have been fired if I had not moved on.
The point is you can't negotiate your way out of everything. Some places are just bad news, and your best option is to leave, if you can. My experience tells me this is fairly common, especially in a bad economy when employers think you have limited alternatives.
The reality, however, for the vast majority of programmers, is that like in every other industry there is a huge imbalance of power and more often than not employers (e.g., Google) are all too happy to exploit that imbalance, along with individual programmers' enthusiasm, to their own benefit.
Personal opinion, likely to be unpopular here: one of the reasons wages in our industry aren't higher is because of people who merely accept the "cage" as the status quo--but people who proudly enter the "gilded cage" of certain employers are the worst offenders. One need but look to the video game industry for a prime example of the above mentioned exploitation and depression of wages as an extreme example.
Nope. I'm at a SF startup now, and work/life balance is extremely important in company culture. No one is squeezed for productivity.
If someone will pay you (say) $80k to work 40 hours a week, probably someone will pay you $40k to work 20 hours a week, or $75k to work 40 but have more vacation. You just need to make your desires clear during the job search process.
There is no reason that someone with high-vlue skills should be overworked and miserable. It's a choice.
I don't know any developers who work more than 50 hours a week. Most of them work 40 hours or less, and a lot of them don't even have their work hours tracked.