We don't need unions - we need developers who strongly refuse to work in open offices. Since there is a shortage of developers, this should suffice. The large problem is that too many developers are willing to compromise.
...but we don't need unions?
The ethical, nonviolent way to reject bad pay or working conditions is to quit, accepting that the employer might find someone else. That's not what unions do.
Your adversary is not going to be ethical and nonviolent.
Unions resolve the prisoner's dilemma in favor of the prisoners. The game is set up like this:
In each trial, 3 players distribute $300.
A and B vote on whether E gets $100 or $150.
E can cast a tie-breaking vote.
E decides how to distribute the remainder to A and B.
| A gets | B gets | E gets |
| $100 | $100 | $100 | A $100, B $100
| $150 | $ 0 | $150 | A $150, B $100
| $ 0 | $150 | $150 | A $100, B $150
| $ 75 | $ 75 | $150 | A $150, B $150
I mean, I get why some people don't like them, but let's not pretend that the sentiment is universal.