Misapplied Abstractions: The Labor Union

Feb. 28, 2024, 9:13 p.m.

Hannah Arendt famously said that “Every generation, civilization is invaded by barbarians. We call them ‘children.’” Because of this invasion of people who just don’t know the score, bad ideas never really die. Sometimes, that means ideas that are not bad become bad because children don’t understand how they are supposed to be applied.

Today’s misapplied abstraction is: The Labor Union, specifically towards the field of software development.

This was a question asked on Reddit:

Was the initial reasoning in software dev/programming not becoming unionized due to high salary?

If that’s the case, with how salaries across all levels from entry level dev positions to senior manager dev positions have dropped or “stabilized”, as in no longer seeing bootcamp grads career pivoting coming in at 110k roles.

Wouldn’t it make sense to unionize now as a career field?

Or I’m totally missing the point and it’s other factors.

I feel like there’s a clear political divide on this topic between my generation(zillenial 1995 era/ and gen z era) and older gen x workers, who many are opposed to the concept of unionizing.

I answered this question. I reproduce the answer below and expand on it.

No, it makes no sense for software development to unionize as a field. It did not before the job market cooled, and it makes even less sense now.

If the main problem of the software field today is the lack of employment opportunities, then the labor union is the wrong solution to that problem. Labor unions create job security and benefits for existing employees at the expense of people who would otherwise be employed if the union didn’t exist, because said benefits and security effectively increase the cost of labor. Which is the last thing anyone needs right now.

My interlocutor identified a clear political divide between his generation and people who are older. He identified himself as being Gen. Z; a casual inspection of publicly shared information confirms he was born in the year 1995.

One of the distinguishing features of his generation is that they grew up in a time in which labor union membership in America is at its all time low. People these days don’t really know what a labor union is and when it actually makes sense, because none of them have ever worked in an environment where a labor union exists, let alone is useful. The labor union is an abstraction in young people’s minds that they think will counter the malicious forces in the economy with no detrimental effects to you whatsoever.

150 years ago, labor unions prevented workers from dying in factory fires and mine shaft collapses in batches of hundreds at a time. Labor unions prevented workers from getting fired and having no other means of support because there were no other employers of any kind in the company town. Collective bargaining makes sense in this kind of hostile environment where workers aren’t terribly skilled, have no alternatives at all, and the workplace is deadly.

None of these conditions apply in software jobs. Nobody is at risk of dismemberment in their cube farm or working from the comfort of their home. Nobody is going to be permanently unemployable if Google decides to close a data center. Even in today’s employment environment, which isn’t as bad as other downturns in people’s living memory (e.g. the dot com bust), you can still find another job in software, or another job doing anything else in the economy.

So, given that collective bargaining isn’t really necessary to secure key benefits that software engineers want, why would anyone sacrifice their ability to bargain individually? Answer: They wouldn’t.


This pattern of young people applying an abstraction they don’t understand to a modern problem in a modern setting is something I might turn into a series here on the blog.