Hacker News new | ask | show | jobs
by devoply 2708 days ago
As I said good programmers are underpaid. They should figure out how much they are making their companies and ask for more. The market can often afford to pay more, if you just negotiate better. You can also unionize to get your employers closer to what you are worth to them rather than what they are worth to you.
2 comments

> just negotiate better

In every other aspect of computers, the industry has finally embraced usability as a desirable goal, and not just for end-users.

On my first computer, you had to read a 100-page user manual and learn exactly what commands to type. In my first programming language, you had to manually allocate (and worse, deallocate) memory. With my first database, we used to have to go type VACUUM regularly. None of these is true today.

Yet even though some of the highest paid people in the world are members of unions and have agents to do their negotiating, programmers seem to have latched onto this idea that if you're not making top dollar or have your ideal working conditions, you should "just negotiate better".

Why stop there? Tell programmers they should "just program better", too.

> You can also unionize

Have you ever organized? I don't think you realize how difficult this is, especially without strong support from an existing union. There's a reason unions heap rewards on people who do it.

Existing unions also have great labor lawyers. A common response to even thinking about unionization is getting fired. (That was in the news recently because it happened 4 weeks ago here in Seattle.) Labor laws aren't what they once were, and there's usually no consequence to the company for firing organizers.

> On my first computer, you had to read a 100-page user manual and learn exactly what commands to type.

Flipside: I can still write software for my first computer without looking anything up, over 30 years after reading those 100 pages. I still know the memory layout, opcodes, assembly etc by heart and it is still the best way today to program that particular computer (which still works in my man cave) today. Yes, today it is all simpler, but the 100 page example I find a plus, not a negative. Maybe you were referring to something but my 100+ page manual was usage and at the same time programming (using was programming beyond the basics) as that was the only way to use the system.

People who make enough to have agents negotiating their salary (famous actors, professional athletes, other celebrity types) are usually looking at an order of magnitude higher compensation than even the best software developers get. At the lower end of the spectrum (lesser-known actors, musicians, etc.) agents are known for enriching themselves as much as helping their clients. They are just sort of accepted parasites on the way compensation is handled.
Suppose I’m working on pulling out some functionality from a large, monolithic application. How much am I making my company?
Depends on what the outcome is. If it makes the site 50% more performant on 25% less hardware, pretty easy to swag it. Same if the outcome makes developers on the team able to ship new functionality 20% faster with 33% fewer bugs.
This seems awfully contrived.

Issue 1: It's very difficult to tell if your contribution got 50% improvement in performance because there were 10 other devs pushing in features and bug fixes. This is the attribution problem

Issue 2: This happens over time. It's very unlikely that your 50% improvement happens every year or month. Because, think for your self, this is compounding with large rates. It grows quickly. 1.5x improvement in 6 cycles (months or years) is 10x. This essentially is the time problem

Issue 3: even if you deliver the results you did, in a large company there's a large bureaucracy and no one person has the ability to increase your salary by that much. This is the control problem.

The problem with this argument is that programmers don’t work alone in a vacuum. How do you account for the support staff? The recruiter that hired you? The cleaning lady? The DevOps people? And so on.

It’s avtually fairly non-trivial to be able to say with even a modicum of certainty how much value a given developer brings to their company.

This is precisely my point! Thank you for getting it and explaining it.

I currently write software used by millions of people. Partly because I’m a backend engineer, I have no real idea how much more the company is making due to my direct efforts. Since they keep paying me, I’m assuming it’s a decent multiple of my carrying cost, but I have no way to measure it.