We're not "too important." All a union would do is create extra problems for us.

There are two possibilities:

a) This is a large scale administrative coordination problem

b) We don't need as many software engineers.

Under (a) unionizing just adds more administrators and exacerbates the problem, under (b) unions are ineffective and just shaft new grads or if they manage to be effective, kills your employer (and then no one has a job.)

You can't just administrate away reality. The reason SWEs don't have unions is because most of us (unlike blue collar labor) are intelligent enough to understand this. I think additionally there was something to be said about factory work where the workers really were fungible and it was capital intensive, software development is almost the polar opposite where there's no capital and the value is the theory the programmers have in their head making them a lot less fungible.

Finally we do have legal tools like the GPL which do actually give us a lot of negotiating power. If you work on GPL software you can actually just tell your employer "behave or we'll take our ball and leave" if they do something stupid.

You said: All a union would do is create extra problems for us.

Then you said:

a) This is a large scale administrative coordination problem

Pray tell: what is it a union does other than the latter?

Or is your position that “union” is some narrowly defined, undifferentiated structural artifact of a specific legal system?