This nuance is missing from most discussions about unions in tech; People have a high-level idea that unions have increased wages and improved working conditions in other industries and they’ve made a crude extrapolation that a tech union would therefore give them them more money and fewer working hours. All with no downsides or strings attached!
A more accurate mental model is to understand a union as trading some (or most) of your individual negotiating leverage and advancement opportunity out for a collective negotiating structure through the union. You have less opportunity to negotiate and advance on your own, but you would, in theory, get various protections in return.
This does not mean wages go up! In fact, companies are now incentivized to withhold as much compensation as they can get away with so they have room to negotiate in the next round of union talks. You also have to be prepared to strike to force those negotiations, which means giving up your compensation for that period.
Job hopping is huge in the software industry. It’s well known that job hopping is an easy way to get a pay increase when you’re in bad conditions. I would be surprised if software engineers as a whole would accept long strikes and strict compensation structures when they realize they can actually earn more by jumping out of a hypothetical union job where they’re not getting paid due to strikes and the recruiters come calling with job offers that are conveniently for 5-10% more than their union’s demands anyway.
At least here in (highly unionized) Finland unions set only the floor on the wages and other working conditions, and especially in white collar jobs practically everyone is paid above the floor.
Some, mostly public sector, contracts have union negotiated "wage tables" suggesting pay based on position and individual performance, but similar exist in almost all large organizations. And the unions don't care if someone is paid more than this, and at the moment they wouldn't even know, because individual pay isn't public information.
Many tech workers already effectively have made the salary compromises required by collective bargaining. That’s what salary bands are. Those who think they’re worth more than that become contractors, while the FTEs mistakenly think they’re getting paid the same as everybody else and sleep well at night imagining they have more job security than the contractors do. Creating actual unions won’t change much. The suckers will still self-select into getting paid less, and will be very happy to do so.
A more accurate mental model is to understand a union as trading some (or most) of your individual negotiating leverage and advancement opportunity out for a collective negotiating structure through the union. You have less opportunity to negotiate and advance on your own, but you would, in theory, get various protections in return.
This does not mean wages go up! In fact, companies are now incentivized to withhold as much compensation as they can get away with so they have room to negotiate in the next round of union talks. You also have to be prepared to strike to force those negotiations, which means giving up your compensation for that period.
Job hopping is huge in the software industry. It’s well known that job hopping is an easy way to get a pay increase when you’re in bad conditions. I would be surprised if software engineers as a whole would accept long strikes and strict compensation structures when they realize they can actually earn more by jumping out of a hypothetical union job where they’re not getting paid due to strikes and the recruiters come calling with job offers that are conveniently for 5-10% more than their union’s demands anyway.