• Skip to main content
  • Skip to primary sidebar

John Champaign Writes

Adventures in Self Publishing

Many Software Developers Are Underpaid

August 15, 2021 by John Champaign 1 Comment

Young people are flooding into computer science programs. Working as a software developer, or tech worker generally, is seen as an easy path to a high salary. In spite of this, it’s clear that above-average software developers are underpaid compared to the value they bring to organizations.

The range in productivity of developers is HUGE. If we consider the productivity of an average developer, it’s easy to find a good developer who is ten times more productive. Superstar developers can be 100 times more productive. Mediocre or poor developers have a negative value, where they drag down the team more than any value they contribute. In spite of this, good developers are not paid ten times more than the average salary. This provides a huge opportunity for anyone who needs tech work done.

Software developers are about as far from a commodity as it’s possible to be.

Beyond the productivity of individual members, as a development team gets larger, productivity gets sucked into communication between members, lowering the value of each additional developer and making it more important that each is highly skilled. For large organizations, it is essential that the average ability level of their software developers be as high as possible. A good developer can be overwhelmed by a group of mediocre co-workers. The Mythical Man-Month details software development projects that came to a halt – it became impossible to make progress, mainly due to additional programmers being added to the project.

One big consequence of this is that any organization that “bargain hunts” when hiring developers is almost guaranteed to have a mess. Some developers don’t know their value, but if you’re hiring the cheapest worker you interview, you’re likely to get mediocre or poor developers. You’ll often see this in university IT departments, where there’s a culture of incompetence that results from hiring a bunch of inexpensive system administrators. The only place I’ve worked where this wasn’t true was at a world-class tech school where the IT department was made up entirely of former students who liked the work they were doing while they were students well enough that they never left.

If, during an interview, you get questions about how cheaply you’ll work (even “What’s your expected salary?”), that’s not a job you want to take. The organization is focused on hiring inexpensively, rather than doing everything possible to get good developers.

If we have two candidates who want to work for us, one is a 1x developer who will work for $80k and the other is a 10x developer who will work for $120k, many managers would push to hire the cheaper dev at $80k. Viewed on a productivity basis, the 10x developer is actually FAR cheaper ($80k per productivity unit versus $12k per productivity unit, ignoring any costs for coordinating a larger group). If you had a superstar (100x) willing to work for you for $160k, they’d be an even better deal at $1.6k per productivity unit.

Working backwards, you might reasonably ask if I’m claiming that a superstar is worth an eight million dollar annual salary ($80k * 100). Yes, this is closer to the ballpark of what they’re worth. Very few developers, unless they have stock options that pay off, are earning anything close to this salary. In his classic essay “How to Make Wealth”, Paul Graham convincingly claims that a great programmer can add a million dollars of value in a couple of weeks. Paying them eight million dollars a year is a good value from this perspective.

The FAANG companies pay about double the market rate to get the best developers, which is a STEAL for them. They could be paying FAR more than this and still come out way ahead, which is why they have anti-poaching agreements with one another and collude against their workers. This has created the environment where software developers who know they’re worth more have to start their own companies to capture this value, which is exactly what they’re increasingly doing.

Some organizations might be confused by this. Am I really suggesting that the 8 person IT department at the college be replaced with 2 better people at a higher salary (but overall lower cost)? Yes, that’s exactly what I’m suggesting. And the outcome would be a far better run IT department offering better service to the community they take care of.

But does this mean the average developers would never get hired? Should only the highly skilled software developers find work? No. First of all, if the world understood this, wages would shoot up for the more skilled developers. Eventually, it would hit a point where hiring lower-skilled workers would make sense. Also, some technical work isn’t challenging, and mediocre tech workers can do that. I had friends who would build out websites for clients that were all very similar and based on the same technology. You don’t need a superstar to do that.

Interestingly, often the superstars can reimagine how to do boring work such that it’s fully automated. If someone could do that for you, that could completely transform a business – well worth paying a premium for.

So why isn’t everyone already taking advantage of this? Non-programmers don’t believe it. The non-programmers who run companies and manage groups want “good developers”, but they want them cheap. In the end, it’s easy for them to hire someone cheaper who they find to be equally “nice” without being able to compare their performance. Standard interviews and hiring are TERRIBLE, they’re more a test of politeness, conscientiousness, and patience than technical ability. People who have actually done software development understand and believe there’s a massive difference in performance. Any member of a technical team, if they were being honest, would be able to categorize which programmers were better than them and which were worse. It’s hard to do this in an interview, but very easy to do after you’ve worked with someone.

If an organization wanted to take advantage of this, the first step would be to ruthlessly cut dead wood – poor developers who were hired cheap. Use those savings to get the best developers you can, paying what you have to to convince them to work for you. Referrals from existing developers (ask them who was the best programmer they’ve ever worked with) would be a good place to start. Since good software developers are seldom on the job market, I wouldn’t even try to test or evaluate them in an interview. You want to remove every barrier possible to convince them to work for you. If you trust the recommendations from your current employees, focus on convincing them to come work for you instead of putting them through a humiliating dog-and-pony show demonstration.

If you HAD to interview someone and couldn’t just hire based on a referral, I would structure the interview to be as close to doing the job as possible. Bring them in for a day and work on the current projects the team is working on. Alternatively, hire them on a (highly paid) short-term contract leading to (highly paid) full-time work.

After writing this post, I published a short (9k word) book on Amazon about how to negotiate a job offer. It isn’t specific to software developer job offers but is an easy, fast read that should have some helpful information and is an excellent starting point for someone who wants to negotiate but doesn’t know where to start.

Related

Filed Under: Business

Reader Interactions

Trackbacks

  1. Fighting the Great Developer Resignation says:
    October 19, 2022 at 5:12 am

    […] can be demoralizing and embarrassing for developers to earn less than what they deserve, especially when they’re aware of how much value they bring to the […]

    Loading...
    Reply

Leave a Reply to Fighting the Great Developer ResignationCancel reply

Primary Sidebar

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 498 other subscribers

RECENT BLOG POSTS

  • An Idea For George R. R. Martin and Patrick Rothfuss On How They Can Finish Their Series
  • Traveler’s Legacy Released
  • Shattered Dimensions Released
  • Expecting Friends And Family To Be Your Audience
  • Other Writers Are Our Colleagues, Not Competition Or Customers

Categories

  • Academic Advice
  • Board games
  • Business
  • Chickens
  • Game Development
  • Real Estate
  • Role Playing
  • Self Publishing
  • Uncategorized
  • Writing Ideas

Archives

  • May 2025
  • March 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • October 2020
  • August 2020
  • June 2020
  • May 2020

Recent Comments

  • Intelligent Human Being. on The Problem With Online Discussion Forums
  • John Champaign on GameMaker Snakes and Ladders Tutorial
  • ZorgAlmighty on GameMaker Snakes and Ladders Tutorial
  • John Champaign on Other Writers Are Our Colleagues, Not Competition Or Customers
  • John Champaign on Block Fast, Mute Often

Copyright © 2025 · News Pro on Genesis Framework · WordPress · Log in

%d