Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

>What makes you feel that Software developer salary is linked to computing power? In fact, even if we were to consider it a fair comparison, computing power, if measured by Moore's law has doubled every 2 years. Software Engineer salaries have lagged far far behind.

Honestly, I don't think there is any relation between developer salary and computational power. I was just reaching for a possible explanation for this[1] that fits with the theory that people are paid based on their productivity. It is my belief that people are paid based off the supply and demand for their labor. Productivity only serves as a ceiling for compensation and even then, that is only in the long term. Plenty of people are paid more than their production either over the short term or when productivity is difficult to measure. An employer's natural inclination is to pay people as far below their level of production as possible while still filling the job.

It is my belief that the reason that low skill wages have stagnated is not because their efficiency has stagnated. It is because their supply is outpacing their demand. The supply of software developers is not keeping up with demand so their wages are increasing. Neither has anything to do with productivity in my opinion.

[1] - https://lh6.googleusercontent.com/5n4R_Osks_fVsVmedxJKsp9zPu...



sort by: page size:

> massively inflated salaries

Is it really fair to say developer salaries around the $200k mark are being inflated?

Developers work can have an impact on millions of people, yet we keep expecting all of this work for a $60k salary.

I've found that only developers/programmers do this self flagellation, almost all other professions complain about $200k being too low, not too high, and expect more. (Lawyers, Doctors, and even some electrical/mechanical engineers)

It's just a shame, as I find it hard finding good work as a programmer as my peers fight for lower and lower salaries.

I had a naive hope that this industry would mature and fight for higher salaries, but whenever I see programmers getting paid half that of a Lawyer or Doctor, self flagellation start to come into play.

Such as shame for an industry with the most potential to change the world.


> The average Developer/Engineer/etc works about 60 hours a week, they work on things that generate millions of dollars.

Hardly anyone I know regularly works 60 hours a week..

Even if I generated a company millions of dollars, that doesn't give any indication of how much they should pay me because it doesn't count for much if a million other people can also generate them the same amount or more.

If you feel like you should get paid more then perhaps you should consider switching to a job where you would get paid more? If there are no takers then presumably you don't offer something which is valuable enough that companies are willing to pay the amount you think they should.

Of course, I suppose one of the big problems with programmers is that it's very difficult to measure job performance but either way, I have a very hard time complaining about my compensation.


> Given how poorly we understand this

> Summary: we don't understand why programmers are paid so well

Who's "we"?

> Programmers are paid surprisingly well given how much work it is to become one

It's a lot of work to become a good software engineer, and also requires certain talents and traits that not everyone has (just like doctors and lawyers).

> When I compare it to how I started programming right out of college, making more money for 40hr weeks and no on-call, I feel embarrassed.

I think this type of sentiment is toxic among engineers. You shouldn't feel embarrassed for charging market rates for the work you do, in fact you should be proud of yourself for making a good living with honest intellectual labor.

> I think we should treat collapse as a real possibility

I see exactly zero reasons in this text justifying this conclusion.

> Compensation appears to be proportional to the level of sacrifice

This is a simplistic and profoundly incorrect view of economics and world in general, this is not how the world works.


>Compensation should be based on output performance and the difficulties and complexity of the work being done.

The output monitoring and quantification necessary for this is practically impossible - the output of programmers is deeply creative and subjective work. At best you can rank-order programmer output and award promotions. This all leads to getting paid efficiency wages and incentives under tournament theory. In short, a good chunk of your pay is a reward above unemployment or your next-best option, so that you are incentivized to work hard and your competitors are incentivized to compete for your slot. It's as economically efficient as piece work if employees aren't risk-averse, so mostly which system to use is based off of whether it's easier to monitor and quantify output versus rank-order and pay to overcome employee risk aversion.

https://en.wikipedia.org/wiki/Efficiency_wage

https://en.wikipedia.org/wiki/Tournament_theory

>Why should my pay be less than that of a coworker that does the same exact same job as me simply because this is a remote company?

For better or worse, software developer pay is negotiated. Negotiation results are driven by BATNA - best alternative to negotiated agreement. For coworkers that are approximately as valuable to the company, they should get offered approximately the same efficiency wage above their BATNA. Workers in areas with fewer options available to them necessarily have a worse BATNA, so it remains fair that they get paid less.

Furthermore, although your entire salary gets paid by your current employer, they're only really enriching you by the difference between the pay and your BATNA. It's arguably less fair for remote companies to excessively enrich workers outside of competitive metro areas.


> What makes me nervous, though, is that we don't really understand why programmers are paid this well

I understand why developers are paid this well. The marginal cost of software is (close enough to) zero [0]. This means that once you make software once, you can sell it infinitely - minus some scaling costs, hence being close enough.

We don't pay people based on how hard they work. If we did, stay at home parents would be filthy rich.

Sure the very very top end pay will fluctuate depending on stock market conditions since those include a significant portion of equity, but the reality is programmers deliver expensive products that businesses can sell easily that pretty much everyone wants. Trends will come and go, but making high quality tech products will continue to be profitable in my lifetime (barring WW3) and thus programmer salaries will stay high.

[0] https://ckluis.com/the-marginal-cost-of-software-approaches-...


> Willing to work at the salary that employers want to ideally pay? No.

I am not quite so sure my immigrant coworkers make noticeably less than I do, although I cannot really validate this claim either as I don't ask people who much they are paid.

> Employers see engineering as a cost sink and want to do everything possible to reduce budgetary pressures.

Yes and no. Employers see developers as a debt pool, because they are a cost factor unlike people in sales who actually generate revenue, but typically they see hiring, recruiting, and retention as even more expensive and riskier endeavors.

That drives all kinds of counter-intuitive behaviors regarding expenses and developers. Companies are typically willing to hire more developers than they need, because hiring is expensive and isn't always quick. Companies are also willing to prioritize slower more expensive technologies that require more developers so long as it means a reduction in recruitment and hiring risks.

I find that process horribly broken. Why is it so hard and deceptively untrustworthy to hire people generally in software? I don't believe it is the hiring process that is to blame, but rather the candidate pool in consideration for the required skills or experience.


> I believe that every programmer is overpaid relative to the difficulty of the work they do -- or, more accurately, that The Market doesn't pay based on difficulty of work. Software pays so well because the product scales so well.

If that is the case then why not hire cheaper individuals to do the same job?


> I think any attempt to standardize or to make it another engineering discipline would mean the end of high programmer salaries.

I think you might live in a tech city bubble.

Outside of a few tech cities developer salaries are well below engineering salaries.

If development was treated more like engineering then developer salaries would go up. A lot.


> You get paid next year a rate based on how productive you are today.

Not particularly. While highly paid developers like to pretend the industry is some platonic ideal meritocracy, no one has any real ability to measure individual productivity, or to predict it with any precision in hiring, so, no, that's not a particularly good approximation of reality, certainly not where a 1% improvement would would even be noticeable in the noise of assessment.

Realistically, you might be justified in saying that my pay 5 years from now will be affected by the aggregate productivity in the past of developers generally and the broad, easily observed factors that conventional industry wisdom assesses as individual predictors of productivity within those broad aggregates. But, with that in mind, investing time in promoting online the idea that things I already have on my resume are predictors of productivity, while unlikely to have noticeable real impact, is probably a better cost/benefit trade-off than paying for dev tools, even if my employer was going to let me use personally purchased tools, which they aren't.

Outside of corporate work, in the personal development time I spend which does have impacts on bit actual productivity and my ability to have indicia of productivity that the market values and where I do have the choice of tools, assessing and paying for dev tools is more friction than benefit. I did it more when the gap between paid tools and free tools in quality was much higher and (because the internet as an easy discovery/distribution medium was not what it is today) the friction between the two was closer. Even though at the time the financial cost compared to my means was much greater.


> Why are programmers so well paid?

My pet theory that I don’t know how to rigorously test in data is that programmers are very well paid so they don’t go to the competitor or start their own competitor.

Programming software requires very few fixed costs outside of the programmers themselves; electrical engineers aren’t going to be able to make fabs (or get contracts with fabs), file patents and compete with intel the way software engineers can rent out a garage and make a social network with some novel twist and capture enough attention to get significant advertising revenue.


> Exactly, I thought the reason that US developers are so highly paid compared to everywhere else in the world was to offset the high cost of living in silicon valley.

Cost of living is one input into cost of labor, but far from the only one. E.g. Canadian salaries are much lower for programmers than American ones, looking at comparably expensive areas.

A huge part of the reason Silicon Valley coders are expensive is that the ecosystem there has made for phenomenally successful tech companies. They have both the money and the motive to engage in a bidding war for talented developers.


> Programmers make a lot more money now than they did 20 years ago. Not because of unions (which are extremely rare for programmers), but because of productivity improvements. A single programmer can accomplish vastly more now than was possible in the past.

That is complete nonsense. If your hypothesized productivity increase were true, it would be reflected in a decreased demand for programming labor (just like the advent of combines and tractors made farm workers more productive and decreased the demand for farm labor). The only reason programmers are paid more now than 20 years ago is because of an increase in demand for their labor.

The productivity improvements come from the product of this labor: software. This explains the growth in demand for programmers - telecommunications infrastructure improvements and ubiquitous computers mean that companies now have many more opportunities for automating processes with software than they did 20 years ago, and are trying to take advantage of these opportunities to increase profits.


> I can't really agree that incentivizing raw labor

I read history books, I'm not that stupid.

The reason I bring this up is a couple of comments up you said software creates tremendous value, I guess this is true for many other types of innovations too. You proceeded to say software developers need to be paid proportionate to that value and I disagree there.

If we look at salary as incentive I would say that software engineers get enough incentive to do our job. As long as we get paid better than most other professions, society/the economy don't need to pay us more.

While pay should not be based on labour, it should be capped, probably based on the labour. Otherwise every cog in the machine earns some royalty (infinitely, if the machine scales infinitely) and there is no money left for "non-machine".

The bad thing in this industry is work/life balance, we just need to fix that. Although the pay in some countries are atrocious, I'd say that software engineers in most western countries are fine.


> I sometimes wonder what would happen if some company simply offered to pay 3X the market rate and mercilessly filter the results.

I've always heard this is the Netflix model.

> difference between developer salaries at any company varies by maybe 50%, whereas the productivity varies by at least a full order of magnitude.

I like your thought process but do you really believe this is possible? There are few fields where you can observe order of magnitude differences in salary. As you said, human nature seems to reject this, likely because it does not really occur in the wild. Even in sports it is rare for a particular position to have pay disparity to that degree.


> seriously undermine wages for software devs here

Not really.

Competent devs are not cheap anywhere. In order to noticeably lower wages in the US you need to bring a lot of software developers from other countries.

But the supply of software developers is quite limited.

Besides, as soon as wages start to move downwards, software development products start going down in cost (or go up in quality). That increases sales of software and increases demand for more software developers.


> That's when you pay more. A highly skilled programmer can easily make a million dollars a year for a company, so if demand is really that high and supply that low, there would be far more companies willing to pay $500k salaries.

A programmer can easily make a million per year for a company and still find himself with almost no leverage within the firm, compared to someone on the business side of things doing the same. I'm in that situation myself, having made the company my salary for the next decade or so within my first year there, and yet you would not know that from looking at the work I'm doing here now or my career prospects here going forward.

The fact is it is difficult for non-programmers to properly assess the skill of other programmers, and at the same time existing programmers within just about any company you can name, are low-status enough that their recommendations for salary will go ignored. And so it is easy to see how most of the players on the supply side of the job market for software development, will behave very irrationally.


> but I think software engineers are overpaid.

I'm curious why you would think this. In some ways software is a trade, but what makes it unique to nearly any other profession is its multiplicative effect. One software engineer can write a program that improves the productivity of thousands or more people.

What would you pay the person who invented the lever? Now, what you would the pay the person who invents the lever every couple weeks?

If anything, many software engineers are still underpaid.


> I would guess the one big difference is respect. For some reason, there is no respect for tech workers.

Perhaps OP meant as a trend over time? That has truth to it if you compare going back to the early 90s (my frame of reference).

In the 90s programming was not that well-paid, but was a very respected role in the companies I and my circle of programmer friends inhabited. A programmer/sysadmin was a wizard and treated as such. It was a vastly more fun industry to be in even if salaries were just regular white-collar professional level.

Slowly in the 00s after the dot com crash that seems to have vanished even as salaries started to climb. An in the 2010s programming became a low-level job where all the decision making power was removed from programmers and handed over to PMs. Now programmers are seens as replaceable worker units to be micromanaged to death via agile and daily status reports. In other words, not respected professionals anymore. The insane salaries kind of make up for the loss of respect, but not fully.

For the first couple decades of my career I always felt this was the best field of work ever, and it was. These days though, as I look at my high school peers who went into medicine, law, accounting I have to wonder. They all get ever more respected in their fields as they gain more experience, very much not the case in software anymore.


> Many professions have professional certifications that artificially limits the supply and drives up their prices.

We're literally in a profession where companies hire teams of recruiters to get developers. Majority of companies are looking for developers constantly. Whereas with the other professions, there are no supply problems, in fact, there are too many people becoming qualified that people have trouble getting jobs. Also, we have the barrier to entry the y don't have, the serious lack of junior positions, a massive demand for mid/senior positions.

Supply and demand, says we should be getting paid more. In realitiy, I get paid pretty well compared to my friends in other fields, but I am aware of the serious discrepancy in salaries.

But mainly my main gripe is there is no real support provided for major parts of my toolchain because we just give it away. Companies are literally struggling to come up with good software because everyone expects it for free.

next

Legal | privacy