I've spent a lot of time trying to convince IT people to start a voluntary union for their own benefit. In a word, they are too competitive and naieve to make it happen.
IT employees in general could double their average salaries without resorting to labour laws just by starting voluntary unions and doing a modicum of collective bargaining.
Instead they allow themselves to be divided and conquered and they even hide their salaries from co-workers which benefits no one aside from management.
Ideologically, I am against government-enforced unions.
However I am very much in favour of voluntary unions and there is lots of evidence that they can work especially when they behave in reasonable ways that don't threaten the existence of companies. Some corporations will prefer to hire from unions for a variety of reasons including less variability in work quality and higher morale.
Anyway collective bargaining does not have to be enforced in law to be effective.
The real issue is that the most talented and resourceful people in society tend to be the ones who become owners, and they use their talent and influence to convince IT employees that unions are bad.
The average programmer is stubbornly anti-union for no logical reason - the reason is that he's brainwashed by the strong opinions of industry leaders who don't want to pay him what he's worth.