Why Software Development Doesn’t Need Unions – at Least Not Yet

worker union

The post Why Software Development Doesn’t Need Unions – at Least Not Yet first appeared on Qvault.

I’ve seen a lot of buzz recently about software developers wanting to form unions. I’m particularly interested in this topic as the founder of Qvault, where my goal is to provide a university-quality CS education at dinner-and-a-movie prices. As I go over some of my thoughts on the matter in this piece, I want to point out 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. Feel free to reach out on Twitter to share your thoughts with me.

The Problems

#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 50’s, 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 a manifestation of our society’s desire to have more. We have many bills they didn’t have back then; cable TV, cell phones, internet connections, and much larger houses to name a few. With that in mind, there’s also a reason we have those bills; we want that stuff and it makes our lives better (or at least more comfortable).

To sum up the problem, in order to keep up with the Joneses you have to make more money than you did back then. I believe an answer to the following question will help us understand what potential solutions could be:

Which is the more impactful variable in the higher cost of living equation, the fact that we want/need more products and services in 2020, or that external factors like larger populations, hoarding of generational wealth, or systemic inequality are keeping the working class working more?

I suspect its mostly the former, but I’d like to hear counter points.

I think this is a problem, but it’s likely more of a problem with consumerism than with the employment system.

#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. 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.

#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, and one that doesn’t just deal with gender inequality, but race, culture and perhaps religion as well.

#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.

#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 just worked as a developer at a single place for one year I felt liberated and had an easy time applying and getting interviews.

This isn’t a problem in the current market, except as how it duplicates problem #4.

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

This isn’t going to just be a shit-on-unions post. I think unions seriously helped a lot of workers in the 20th century, and there’s a time, place, and implementation that can 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.

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

Like I pointed out when raising this issue, I think it’s tangential to whether or not we have unions. Unions may be able to get some workers a higher salary or more vacation time, but I think other factors are even more impactful.

For example, tech hubs have become extremely expensive over the last ten years. This hasn’t just made it harder for developers, but think of the minimum-wage and non-tech workers in San Francisco, they’re the ones who really got hit by that change. Real estate and rent prices skyrocket and anyone not working in the booming tech industry gets left in the dust. Some things that will actually help here are:

  • More remote work. As we’ve seen, companies are doing this without being strong-armed by unions. It’s often in their best interest to do so. This means workers can move to lower cost-of-living situations.
  • With retail investment being accessible and cheap to everyone now, we can take part in the spoils of company ownership. That said, there’s clearly more work to be done here so that Wall Street doesn’t get an unfair advantage. Fuck you Robinhood. 💎🤲$GME.
  • Wealth inequality is a real problem, but I’d rather see a more elegant and simple solution like a small UBI as opposed to more bureaucracy and middle-men.
  • Stop consuming so damn much. Coffee machine > Starbucks. Easier said than done obviously, but seriously… we just demand a lot more from our wallets these days than people did in the past.

#2 Difficulty proving your worth without having a silver tongue

Unions could actually help in this regard. The idea would be that along with unions we may get some form of standardized testing/certifications so that how much you earn could be more… standard. For example, level 1 front-end developers might make $50k-60k. Level 2’s make 60-70 etc. In the current market, it feels like “junior developers make anywhere from $20/hr to 100k/year and senior devs make anywhere from 70k to 700k.

Basically, standardization would help those that aren’t good at selling themselves, but would obviously hurt those that are good negotiators.

Another problem with this approach is that it would add an overhead cost to the labor transaction. For example, if before each job you had to go through an independent agency to get retested and certified there’s obviously going to be a direct financial cost in terms of the service’s resources, and a time cost to you, the candidate. We complain about take-home coding assignments now but official testing and continuing education credits would likely be much more of a hassle.

#3 Discrimination

Huge problem. Hard to solve. Not sure how unions specifically would help.

Unions are basically the strong-arm approach to companies exploiting workers. As far as I can tell, almost all companies, especially tech companies, understand that diversity is in their best interest and don’t need to be strong-armed. The problem seems to mostly arise from the implicit or explicit biases or individual hiring managers or HR reps.

In other words, if we can find out what the “best-practices” are for diversity in the workplace, I suspect that most companies would just do it, after all, it seems to be in the companies best interest. Whether that’s quotas, anonymous resumes, better social education or something else entirely is a discussion for another time.

#4 Market-value discrepancy between junior and senior developers

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:

  • Improve education systems to help new engineers advance and progress more quickly and recognizably
  • Encourage new startups and research investment so that there’s more demand
  • If there are just too many engineers (doubtful) then let people know so new learners will know what they’re getting into

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 help 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

As I mentioned before, this just isn’t true in the current market. Investors are constantly looking for new projects to fund, and capital is cheap with interest rates at record lows. In the future this may no longer be the case, and I think the argument in favor of organized labor will be stronger in that environment.

tl;dr – The Tradeoffs of organizing into software development labor unions

Pros

  • Collective bargaining for salary, working conditions, and other benefits
  • More structured and standardized systems for compensation
  • Legal protections in case of lawsuits

Cons

  • Overhead cost of employing the union administrators (union dues)
  • Potential gatekeeping via official tests and certifications. In an industry as fast-paced as development, it’s likely those tests are outdated as soon as they’re written, potentially leading to a slower pace of innovation.
  • Depending on legislation surrounding the unions, could make it harder for workers to start their own companies.

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, their 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:

  • The company will be around when you retire to pay your pension
  • You won’t be fired or let go over the course of ~25 years working for that company
  • You won’t quit your job at the company for ~25 years

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.

Thanks For Reading!

If you’re interested in furthering your CS career, take our computer science courses

Follow and hit us up on Twitter @q_vault if you have any questions or comments, and if we’ve made a mistake be sure to let us know so we can get it corrected!

Subscribe to our newsletter for more programming articles



source https://qvault.io/2021/02/15/why-software-development-doesnt-need-unions-at-least-not-yet/

Comments

Popular posts from this blog

Why is Exclusive Or (XOR) Important in Cryptography?

What are UUIDs, and should you use them?

6 Things to Avoid When Contributing to Open-Source Projects