The problem with unions is that they tend to average out pay and conditions. For many jobs that's fine, but white collar jobs, especially tech, has enormous variability in the performance and preferrences of different employees in the same nominal role. The result is that high achievers often don't want to be in a unionised workforce, and low achievers do. Companies obviously aren't going to reward low achievers at the expense of high achievers, so they won't agree to bargain.