Don't spend $10k on a bootcamp. Try our back-end career path first.
Back home

Is There a Case for Programmers to Unionize?

By Lane Wagner on Feb 15, 2021

I’ve seen a lot of buzz recently about software developers wanting to form unions. I’m particularly interested in this topic while I’m #indiehacking boot.dev, where my goal is to provide a free-to-audit university-quality CS education . I also want to point out that at the time of writing I’m a full-time software developer working for a separate company (not boot.dev). I’m not a manager and boot.dev is just a side-project. As of right now, I’m pretty sure I’m a member of the proletariat.

As I lay out my current thoughts on unions, I want to point out that I’m trying to keep an open mind about this subject as the experiences I’ve had in the job market don’t reflect the experiences of the average developer. Also being based in the USA will mean I have a different perspective than those in other locations. Feel free to reach out on Twitter to share your thoughts with me, especially if you think I’m missing something.

#1 Salaries aren’t keeping up with inflation and cost of living

One of the articles I’m responding to, Steve Belovarich’s Should We Form a Labor Union makes the claim:

The economy in 50s America enabled a sole breadwinner in the family to provide enough to pay the bills, put food on the table, and even take the family on a vacation… There are some of us in the technology sector who still have a difficult time making ends meet when housing prices are high, employer-provided insurance refuses to cover medical bills, [and] student loans prohibit some of us from obtaining credit.

It’s true that the ’50s were very different from today in terms of who worked, how much they worked, what they did at work, and how much they were compensated, but this take looks through some seriously rose-colored glasses.

In the ’50s, the median inflation-adjusted household income was around $30,000 in 2020 dollars. Today, we make significantly more money , around $60,000 (back of the envelope math from here and here ), and yet clearly many families still struggle to make ends meet. To me, it seems this is largely due to the certain “necessities” that simply didn’t exist in the mid-20th century. We have many bills they didn’t have back then; cell phones, prescription medications, internet connections, multiple cars, and much larger houses to name a just few.

While we’ve made advances in technology that make our lives better, they’ve simultaneously made our lives more expensive. You simply must pay an exorbitant hospital bill in order to have a child in 2021, anything less is irresponsible. Most people can’t walk to the grocery store or work these days with suburban sprawl, so multiple cars per family is a necessity. There were no cell phones in the ’50s, but it’s nearly impossible to function in society without one now.

I think this is a problem, but developers are some of the most highly-paid workers out there. The solution likely resides outside the domain of software specifically, seeing as people of other professions, even highly-unionized professions suffer more.

Pointing out that we need to earn more to live a more comfortable (yet necessary) lifestyle is interesting and may have some political ramifications, but I don’t think it’s a good case for unionizing in software in 2021.

For example, geographic tech hubs (San Francisco, we’re looking at you) have become extremely expensive over the last ten years. This hasn’t just made it harder for developers but has most adversely affected workers in other industries where their salaries have not skyrocketed while housing costs did. Some other potential solutions that more directly deal with the problem could include:

A simple path to your career in back-end development

The pace of Boot.dev's JavaScript, Python and Go courses has been perfect for me. The diverse community in Discord is a blast, and other members are quick to help out with detailed answers and explanations.

- Daniel Gerep from Cassia, Brasil

#2 Difficulty proving your worth without having a silver tongue

I’ll be the first to admit that this is a huge problem in the coding industry, and really in any knowledge-based industry where aptitude and impact are hard to measure. There are terrible engineers who make 4x more than seriously talented engineers, simply because they’re better at writing resumes, interviewing, building social profiles, or smooth-talking at the negotiating table.

This is a real problem.

Unions could actually help in this regard. Along with unions, we’d likely get some form of standardized testing, so that our ability to prove how much we should earn would be fairer. For example, level 1 front-end developers might make $50k-60k. Level 2’s make $60k-70k etc. In the current market, it feels like “junior developers” earn anywhere from $20/hr to $80/hour, and “senior developers” earn anywhere from 70k/year to 700k/year.

Standardization and official certifications would likely help those that aren’t good at selling themselves but would be unnecessary for those that already have those soft skills.

I have two main problems with this approach.

  1. Standardizing testing and certification systems likely wouldn’t be effective in a field as fast-paced as software engineering. Best practices in 2019 can be obsolete in 2020, and I just don’t trust union administrators to keep up.
  2. We can solve this problem without unions. I think there’s a growing market demand for developer-vetting. Right now this need is mostly filled by service-based recruiting companies, but I think there’s an opportunity for a kind of developer-profile industry to emerge. Ideally, it would make it easy for developers to showcase their knowledge and projects in an effective and streamlined way, and at a fraction of what union dues would cost.

#3 Discrimination

In addition to the fact that what should be low-impact soft-skills play a disproportionately large role in the salary of a technical person, there’s the ever-present problem of intentional and unintentional discrimination in hiring and compensation practices. For example, while the gap seems to be closing, it isn’t closing fast enough. Dice’s recent study shows that female software engineers still earn $8,559 less than their male counterparts on average.

This is a real problem that doesn’t just deal with gender inequality, but race, age, culture and perhaps religion as well.

Huge problem. Hard to solve. Unions might help, but to be honest I’m not sure.

Unions are basically the strong-arm approach to companies exploiting workers. As far as I can tell, most tech companies nowadays understand that diversity is in their best interest. The problem seems to primarily arise from the implicit or explicit biases of individuals within the organization, and often those near the top. It’s a hard problem to solve, and I’ve there are several ideas that could potentially help, including:

I’m not sure which practices could prove to be most effective, but my point is that if the problem truly is bigoted or biased individuals at companies, how will unions make it better? Those unions will be just as prone to having bigoted and biased administrators and members. No, I think the answer here more likely lies in each of us standing up for diversity and making sure that the companies we work for do the same.

I can see unionization being the correct choice if bigoted executives are explicitly refusing to take action, and are blocking managers from doing the same. If this is the case where you work, it may be time to start organizing. Extra care will need to be taken to ensure the union organizers have the worker’s diversity goals in mind.

Get a back-end job without spending $10k on a bootcamp

I was a field service engineer and I wanted to become a backend developer, but work and family limited my options. Since completing the back-end career path on Boot.dev, I now have a job offer in hand and I'm starting my career as a software developer!

- Özgür Yildirim from Germany

#4 Market-value discrepancy between junior and senior developers

Spend a few minutes in /r/learnprogramming or /r/programmerhumor and it will become readily apparent that entry-level developers have a really hard time finding their first job. Who would hire someone with no previous experience? On the flip side, senior developers are constantly complaining about all the recruiters that won’t leave them alone, and they’re among some of the most well-compensated people in the workforce.

1 / 1 – programmer humor meme recruiter

This is a real problem.

The junior/senior problem seems to mostly be a supply and demand problem, with perhaps a residual effect of problem #2, junior developers have a harder time proving their worth since they lack experience. If there’s truly a supply/demand problem there are only a couple of potential solutions:

In regards to junior developers not being able to prove their skills, I think there are potential cultural improvements and product innovations that have a lot of potential. For example, inexpensive access to online courses and certificates helps students that didn’t go to college prove that they understand certain concepts. The open-source community seems to me to be more inclusive and collaborative, and if you maintain a project you can help by flagging issues with good first issue or help wanted which encourages newer devs to get their hands dirty and fill out their open-source portfolio.

#5 Employees are at the mercy of employers

I think a lot of people assume this to be the case, but software development is one of the fields that has the least of these worries currently. In a fairly free labor market, the employers hold the cards when unemployment is high and there isn’t much investment capital to go around. When capital is cheap (lower interest rates and investors dying for projects to fund) the employees tend to be able to make better demands.

I do think there is a perception problem here that relates to problem #4. Junior developers, and particularly devs with zero experience, and perhaps no formal degree will feel completely at the mercy of potential employers and recruiters. That said after I worked as a developer at a single place for one year I felt liberated and had an easy time applying and getting interviews.

I do want to make a special mention here for workers who require sponsorship via an employment visa. I’ve spoken with several friends and have met others online who have had to deal with being at the complete mercy of their employer due to visa sponsorship.

This is mostly a problem for foreign workers and entry-level developers.

Regarding domestic experienced workers, employers are at their mercy in the current market, not the other way around. Investors are constantly looking for new projects to fund, and capital is cheap with interest rates at record lows. In the future, if the industry takes a turn for the worse we may need to reassess the situation.

Regarding domestic entry-level workers, I think the problem is mitigated by the solutions I discussed for problems #4 and #2.

Regarding foreigners looking for sponsorship, I would much rather fix the immigration situation if possible. Workers shouldn’t need to be sponsored to come here in my opinion, though I understand that’s a controversial idea. Assuming we’re unable to empower foreign employees by fixing the laws, unions might certainly help in this regard.

Can unions solve our problems, and what’s the cost?

I think unions seriously helped a lot of workers in the 20th century, and there are a time, place, and series of implementation details that can set them up to hugely beneficial to everyone involved. That said, many look at unions as being “for the proletariat” and anti-unioners being “for the bourgeoisie”. I don’t think it’s that simple. Unions provide benefits, but they don’t come for free.

Pros of unionizing

Cons of unionizing

In the end, I tend to think that the majority of us in the development world are better off without unions currently. This might change, and there may be a place for specific sub-industries or geographic areas to band together.

Special Mention - Pension Benefits

This has come up enough that I want to address it here - pensions are fucking stupid. We have a new solution, they’re called IRAs and they work better for everyone. Pensions assume a few things that I personally don’t want to be the case, or that I don’t trust to be the case:

Dumb. So dumb. The idea of working for a single company until you die is the dangerous thinking that makes us need the collective bargaining that unions offer. It’s precisely because tech workers move around so much that companies have to pay such a premium to keep us around.

Don’t ask for pensions, you don’t want them.

Learn back-end without spending $10,000+ on a bootcamp

Related Reading