In my experience the normal dynamics of employer-employee relationships are broken in the tech sector.
In most cases where employees have a grief with an employer it's usually due to a lack of something, be it wages, safety, job security etc.
In the tech sector that doesn't apply. Wages are good, normal health and safety issues are non-existent and you have no problem finding a job if you need one - if you have the skills.
The problem is that the environment can be very, very toxic. My experience has been of employers offering me a big salary, but then expecting me to work very long hours. Couple this with an obsession with being the first to market and rushing to get the product out of the door and you end up with an unpleasant and stressful work environment.
There are health and safety issues, but they don't manifest in broken bones or bruises, but in stress, anxiety and nervous breakdowns.
And you can't opt-out. I've asked to have my contract changed so that the overtime clause has limits applied to it in exchange for a salary reduction - in three attempts every employer has said no. It's like overtime is expected as a normal thing and that you can't complain because your salary is so good.
But of course if you are putting in just an extra hour each day and you are contracted for a 37.5 hour week, you are actually reducing your salary by around 13%.
And if you are perceived as a troublemaker by your employer for standing up for yourself you;ll find that news gets around other employers faster than you'd expect.
Its that broken dynamic, combined with a lack of ethics that means tech employees need to unionize in order to reign in bad employers.