12 ms·
Is Dev Compensation Bimodal? (2016)
- nicoburns 6y ago> Why are programmers so well paid? Because the companies paying have silly amounts of money and can afford to pay them silly amounts of money. See also: bankers.
- solosoyokaze 6y agoThe companies paying have silly amounts of money because programmers can create an enormous amount of value. An extreme example, but think of Linus who created both Linux and Git. A single person created billions of dollars in value. I don't know that there are other professions where an individual can create massive scale like that.
- isbvhodnvemrwvn 6y agoYou don't need to be Linus to deliver a lot of value quickly, either. - the cost to start delivering value is effectively nothing (a computer and access to the internet) - the cost of delivering value is small (you need to provision hardware your stuff runs on, sometimes) which gives you high margins - you are not limited to one geographical area nearly as much as other engineers are (since you don't make anything physical, and legislation is relatively light) - you don't need to wait a lot of time for dependencies like you do in manufacturing You can go on and on.
- xenadu02 6y agoThere is a field like that; movies. And we see this to an even greater degree there. A big name star can literally boost the number of people who will go see the movie. Studios are some of the most unethical money-grubbing cheats. They wouldn't be paying $10m to A-list stars if their bean counters weren't sure it would be a good return on investment. The dynamics in software are different obviously but the core truth is the same: good engineers make a difference and the return on investment justifies the cost.
- littlecranky67 6y agoWell, inventors did. There are so many single inventions (or discoveries) created by one or two persons, which have created value for hundreds of years and will continue to do so. Just think about Fritz Haber who (with Carl Bosch) created nitrogen fixation, which completely changed our agricultural landscape. That is actual, real value (=increased food production) we all benefit to this day. Or look at Alexander Fleming, Edison, Tesla, Nobel, etc. this list can go on forever. Yes, Linus did good on Git and Linux, but I think with RCS/CVS/SVN and Windows/macOS the world would not have lost that much value.
- robertk 6y agoI think the point is moreso that developers can be self-sufficient in the full value chain. Haber didn’t personally go to farms to create improvements in their agricultural process, the industry did that jointly by incorporating his invention in their manufacturing. Edison and Tesla never mass produced their inventions to get them into people’s homes, that required thousands of people working manual labor and many corollaries of factories. Whereas Linus can push changes and millions of people can pull them in to add value immediately without any extra steps. You can argue that Linus didn’t build the communications infrastructure and hardware surrounding that and that is true, but the salient difference is this was truly a one-time exercise. For “physical” inventors like you described, mass production is hard precisely because it is bespoke and requires so many physical resources. Until we have a general purpose self-configuring factory, their leverage is fundamentally lower compared to the world-tier software engineer. And even then if that did exist, it would require programming to operate it to usher the physical inventors into complete self-sufficiency in their value chain.
- adflux 6y agoMaybe billions is even understating it...
- Jyaif 6y agoGit's CLI is so bad (for example compared to Mercurial's) it could be argued it's destroying billions in productivity.
- jbob2000 6y agoDisagree, banks do not pay software devs a lot. Tends to be average or slightly above average. But nowhere near tech company salaries. Bankers see powerful staff as risks, they much prefer having subpar staff that are guarded by rigorous process and management, as that is viewed as less risky. A single staff member who knows a lot and controls a lot of systems means they have dangerous leverage over the business. Tech companies don’t view labour as a risk, they are part of the product.
- nicoburns 6y agoI wasn't talking about banks paying tech workers a lot. I was talking about banks paying bankers a lot. There are plenty of bankers of various sorts making $500k+ salaries.
- jldugger 6y agoSounds more like investment banking vs retail banking?
- kgwgk 6y agoHe meant bankers get paid a lot.
- deleted 6y ago[deleted]
- bidirectional 6y agoDepends entirely on the bank. Retail banking pay is about average, investment banking pay is generally slightly under FAANG but still relatively high.
- walshemj 6y agoUsing childish terms like "silly" does not help the debate its also the same sort of term like "gold plated" used to attack civil service pensions.
- TuringNYC 6y ago>> Appendix B: why are programmers well paid? I'm disappointed at this section, it is missing fairly obvious things. - Because programmers are disproportionately also living in the most expensive regions, so they may be paid well, but not as well once you consider the CoL. Imagine if you told 50% of plumbers/pilots/etc they would have to move to Palo Alto or SF to practice their career, those salaries would also jump. - Because volatility. Anyone who's lived thru 2001 or 2008 knows that feast-and-famine jobs have to pay well to compensate for the famine periods, otherwise people wise up and dont take the deal. (EDIT) - Because unlike with law/medicine/plumbing/piloting and practically most other fields, there are constantly new things introduced that dont really push the field forward much. Consider the 200 web frameworks. Some are great. Many are just rehashes of older stuff with slight tweaks. However, this has the effect of making experience moot -- because newcomers always have an incentive to create something new and level the playing field. Look at the Cravath salary scale on the site, and imagine if law vastly completely every 5 or 7 years. The salary curve wouldnt be as steep. - Because they are like athletes and many have a shelf life. There is ageism for many, and for those w/o that problem, there is often a shelf-life for their technology skills. You are being compensated for continuous improvement and the risk that your skills become stale. - Because scale. Like investment firms, one person in tech can have massive impact and collect some of the premium as salary.
- xwolfi 6y agoIt s very US centric as well. I disagree there s a shelf life for a known technology since the skillset you require as a programmer is more to adapt, work with a good speed/quality compromise and connect with your business/users beyond the minimum. I wouldnt know the real US wide situation, but I ve worked in continental Europe and Hong Kong, and we have nice salary but well far from 300k a year (I reached 100k this year with 7 years of XP, in an investment bank and I think Im paid at the average). Programmers, in my experience, are still paid less than profit-incentivized workers like sales traders or trading floor quants. But you could say a quant is a programmer and skew the pay up I guess. Just dont let them near your source code (as a Quant you dont get the variable pay part of your big salary if you do enough quality to have version control :D)
- ithkuil 6y ago
- wwww4all 6y agoSoftware engineering is extremely difficult and there are very few people that can deliver solutions. High performance software engineers are rare and valuable. That is the reason why some software engineers make tons more money than others.
- deleted 6y ago[deleted]
- mosdave 6y agoI just scrolled through the entirety of the comments waiting for someone to provide this most obvious answer of all. Of course it's downvoted, this is hn.
- angarg12 6y agoVery thorough analysis that could use an update. I feel sites like levels.fyi and Blind have given us a better look into the salaries of top (and not so top) paying companies. However they are missing the vast majority of companies paying modest salaries. I suspect these make up the bulk of the lower peak of a theoretical bimodal distribution.
- ghaff 6y agoIt's not obvious why it should be bimodal. For law, it's pretty obvious. There's the partners at white shoe law firms and then there's everyone else--many of whom are doing personal injury law or scraping by doing routine wills, real estate, etc. Sure you have in-house corporate counsel and the like who are somewhere in the middle, but it's not hard to imagine why it's generally bimodal. With programming/software engineering OTOH, yes you have outsized salaries at some big firms mostly in some high CoL areas, but it's a generally pretty well-paid field even if it does tail down for developers at non-tech companies in low CoL areas.
- 908B64B197 6y ago> It's not obvious why it should be bimodal. Software scales massively. Other industries do not. You are simply paying for the cost of innovation. Whole categories of products created overnight. If you can afford it, it's best to get the best possible engineers onboard. Else your competitor will. Anyone remembers BlackBerry?
- ghaff 6y agoThat's not really an argument for being bimodal though. A bimodal distribution suggests that you either win the tournament with a FAANG or the startup lottery or you'll be scraping by with a generally low-paying job. And that doesn't really describe programming that I've seen.
- ska 6y ago> or you'll be scraping by with a generally low-paying job. That's not what bimodal means, it just means there are two modes (i.e. peaks). It could equally well mean that the general case is pretty well paid, but there is a distinct peak of high earners (e.g. FAANG etc.)
- jldugger 6y agoThe question we have to answer though is why there's no middle ground. It seems like we have a ton of middle grounds between 'ML engineer at Netflix in SV' and 'Frontend developer for H&R Block in KC.' I see three possible gradients in those descriptions alone: specialization, company and location.
- cryptica 6y agoThere is a pay grade for ethical developers and there is a pay grade for fraudsters.
- Bostonian 6y agoA statistical test for whether dev compensation is bimodal is whether a mixture of two lognormal distributions fits the compensation data substantially better than a single lognormal. One can use an information criterion such as AIC to compare fits with different numbers of parameters.
- tejtm 6y ago> Why are programmers so well paid? Because for now, we are necessary tools in the enterprise of automating wealth concentration at scales never previously achieviable. I may be able to tell myself; Oh I don't do any of that directly, but I benefit from those that do none the less, through pay inflation of those who are bent the same way I happen to be.
- jeeyoungk 6y agobut on the article it's also pointed out that the compensation isn't the same in London, UK, so it's not just attributed to that.
- thewarrior 6y agoInteresting idea though it needs some refinement. What makes one job aid wealth concentration while another one is merely just increases returns on capital ? All jobs make capital owners wealthier. Returns on capital in the long term grow quicker than wages even though labor is an essential component.
- freeone3000 6y agoCapitalism inherently creates income inequality, as labor will forever be paid less than capital accumulation, while having less opportunity to accumulate capital themselves. There is an inherent inequality in allowing wealth to create more wealth, while labor cannot create the same wealth.
- ClumsyPilot 6y agoIf that were true, the system would be unstaible. As inequality tends towards infinity, something's gonna break.
- username90 6y agoOnly if the inequality isn't warranted. If it is backed by by armed autonomous drones or other ways to efficiently project power without needing lots of people then there is no reason it wouldn't be stable.
- endisneigh 6y agoI'd love to see an analysis like this based on how the company is monetized.
- kache_ 6y agohttps://en.wikipedia.org/wiki/Pareto_principle https://en.wikipedia.org/wiki/Pareto_principle When you select for the tails of the normal distribution, the following distribution will have a pereto-like-shape. Since it's such a high skill field (abstract symbol manipulation to create automatons that carry out work), it selects on the right end of conscientious & intelligence distributions, which are both normal. That has a long tail, and incomes follow that distribution. The more normal distributions you are cross selecting for, the more extreme the skew becomes. When you begin selecting for intelligence, conscientiousness, privilege of opportunities, sociability, creativeness, negotiation skill ... it gets more and more extreme. Practice :)
- sdevonoes 6y ago> Why are programmers so well paid? Why are programmers so well paid... in the USA? In the rest of the world that's not the case (programmers are paid a bit higher than other engineers but the difference is not that pronounced as it is in America). Edit: And I would add: programmers are paid very well in the USA at FAANG companies. I would love to know what's the percentage of programmers that work at American FAANG companies (my bet is less than 1% of the world's population of programmers... but I haven't done the math).
- lainga 6y agoI sure wish I had been paid 50,000 [USD exchange equivalent in my local currency] on graduating :)
- deleted 6y ago[deleted]
- franciscop 6y agoI thought the same 5-10 years back, but at least in Europe things seem to have taken quite a turn and now programming is definitely paid a lot higher than other Engineers (I studied Industrial Engineering in Spain but moved to programming). Same in Japan.
- sdevonoes 6y ago> paid a lot higher It's higher, but I wouldn't say "a lot higher". I have lived in France, but I think the situation is similar (if not worse) in Spain, Portugal and Italy: The majority of senior software engineers (more than 5 years of experience) get around 60K euros/year. It's more difficult to get around 80K euros/year but it's possible. Now, the average non-software senior engineer in those countries gets around 45K euros/year. So, yes, 60K euros/year > 45K euros/year... but it's not such a huge difference.
- 908B64B197 6y agoFor France, the portrait is very different if you compare "devs in France" with "French devs". It's not uncommon for guys from Polytechnique to go straight to SV, sometimes after multiple internships in the Bay.
- franciscop 6y agoSomething I'm unsure when discussing "total compensation" is how to include things like Stock Options to try to make an objective metric, because: - They vest in 4 years in most companies, so do you do Salary + 1/4 of stock options? - They are options and not even stock, so you are not getting much _at the moment_ you receive them. Is $1 of stock options === $1 of hard cash? - Do you even discount the stock options accounting for risk? I know I do in my head when evaluating an offer (0 < multiplier < 0.2 depending how generous I'm feeling based on certain metrics). - Refreshers make things messier, now you have salary + 1/4th * N_0 * val_0 + 1/4th * N_1 * val_1 + ... - What about bonuses or incentives for referrals or similar? - Transportation, food, etc. budgets?
- jldugger 6y agoFrom what I can see, people who want to compare TC use the formula: TC = base_salary + bonus + current_year_rsus_granted The argument in favor of using this metric is 'this is how management values you right now'. It has the bonus of making vesting schedules moot, and avoids concerns about stock valuation -- shares in GOOG granted 4 years ago are more valuable than shares granted today, leading to an almost unintentional increase in compensation. If you just want to budget your life, well, IMO just use base salary for that when looking at FAANG scale comp. The rest goes to retirement / brokerage investment / Tesla. If you need to proceed anyways, I recommend: - if paid in Restricted Stock Units in a publicly traded company, discount the value by 20 percent - if paid in non-public shares or options, mark to whatever you could get for them if you sold today (typically 0 dollars) - consider all shares vesting this year, regardless of when they were granted -- summing your refreshers is not that hard - plan on 2/3'rds of last year's bonus. - don't rely on referral bonuses unless your job is "recruiter" - don't bother calculating fringe benefits unless you know the money would be spent similarly if you spent a few months on unemployment.
- mattnewton 6y agoAt least for me I convert everything in the offer letter to cash as directly as possible. So the RSU’s I can sell after the year are included in my 1 year comp and the ones I can’t aren’t, those are easy. Bonuses, straight to cash as well at the expected value (and it’s in your contract, emails or verbal agreements I would value at $0 unless they made its way into the employment contract). Transportation or other perks I value at my BATNA- which, if I can walk to a competitor, the fact that they are offering a shuttle is worth $0 to me, but if I have to drive to the competitor it’s worth the car upkeep costs. Options are harder because you have to predict an expected value and may not be able to actually exercise them early for cash: in that case I usually default to valuing them near 0 for yearly comp.
- mattnewton 6y ago> 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.
- lordnacho 6y agoIt think it has to do with the pseudo-monopoly FAANGS. They make so much money that they reckon throwing a lot to the devs makes sense. They're less likely to leave if you pay them, but one should also emphasise the pseudo in that: these are firms that feel stuff needs to keep moving, and they want to foster a pro-dev culture to make that happen. By comparison you have Oracle, which is also entreched, but from what I can see are never mentioned as a dev-friendly place, and are not often lobbed into the FAANG salary debate. SV also has a load of startups that reckon they are gonna be a FAANG someday, so they figure they'll take on some of the business practices, such as paying devs a lot of money. The other lump is places that don't see devs as central to the business model, which is a lot of diverse places. About supply, I'm not sure even with that upward curve of CS grads, that there's enough. A fair few of the people who take CS during a bubble are not in there for the long run. How many people do you know who sat next to you in a coding course and now can't write a Hello World? Strip those out, and you still get an upward curve, but a few tens of thousands of grads doesn't seem like very many. I'm not so familiar with the other branches of engineering, but my impression is that many of them are in capital-intensive industries. If you need a chemical plant to be able to do your job, that will have an impact when you negotiate to get on the job ladder. You'll get more than your average wage slave, because the owner of the factory wants his capital utilized effectively, but he's also got a lot of leverage over the employees. So why don't the FAANGS think this? After all, you can't work in ML without a load of machines? Thoughts to ponder.
- falcolas 6y agoFWIW, Oracle is a great place to just do a 9-5. Their compensation is competitive with FAANG, their health package is ridiculously good, and you can pretty much do anything you want, so long as it doesn't cross division lines. You won't change the world there, but you will work on interesting projects, have good job security, and you can put your work down at the end of the day. Source: Acquired by Oracle, left shortly thereafter because I believed I still wanted to change the world.
- reasonabl_human 6y agoCongrats on the successful exit. What did you do next? What do you mean by ‘believed’ you still wanted to change the world?
- deleted 6y ago[deleted]
- analog31 6y agoOne thing that would be interesting to study is the relationship between the number of programmers on a project and its output. Why does version 2 require more 10x programmers and effort than version 1? (Fred Brooks wrote about this). A difference between programming and engineering is that you can't really use a team of 50000 electrical engineers. Also, the number of EE's in an organization can't grow to the point of controlling the business. There may be some kind of positive feedback cycle where programming takes on a life of its own within a given business, and demand for programmers expands exponentially. Also, I think the author underestimates how hard it is to learn programming. It seems easy to those of us who program, because we somehow got past the "wall" at some point. But for most people on the other side of the wall, it's prohibitively hard.
- zitterbewegung 6y agoMy theory that dev compensation is bimodal is that there are really two kinds of software engineering jobs. One is where you are a cost center where you get paid around $50k. Another is when you aren't as much which is the ~$100k.
- ghaff 6y agoI'd be surprised if there were a mode as low as $50K (which is less than median US household income)given that implies that salaries as low as $40K or even $30K aren't uncommon. And if you move that mode up to $70K or so, it's going to start to get hard to distinguish the two modes. I don't disagree with your basic point. I just think there's likely to be enough variance in both categories that they may not resolve themselves into clear modes such as seem to exist in law, for example.
- zitterbewegung 6y agoI think trimodal is possible but the classification gets any higher then you will get a more flat distribution
- mrwh 6y agoIs it normal in other industries to work on one product for a few years, then switch and work on something totally different, and then switch again a couple of years later? That's a normal pattern at a FAANG - Google explicitly tries to hire generalists for example. If I am working in one thing today, it's easy to jump ship and work on something else tomorrow. That's a lot of power that employees in other industries don't have, or don't have to the same extent. (The other answer to the problem is that looking outside of the upper-tech bubble programmers aren't particularly well paid at all. But the linked article does make a decent case that there's a real mystery here.)
- mrwh 6y agoJust to follow up on this: the problem is not Why is there so much money sloshing around in tech (that's obvious!), it's, Why are tech workers somehow getting a decent slice of it?
- mattnewton 6y agoMy guess? Because tech companies have small enough startup costs outside the employees that they can credibly leave to start their own company. (And there is enough market demand where they could succeed, unlike some field like Law where it’s true the fixed costs are all lawyers and what they know, but your case record and prestige sets the demand)
- mrwh 6y agoI think that's probably a big part of it - and certainly in Silicon Valley. Part of the whole idea of the place. It might not require that much extra power on the side of labor (which this is) to create a large effect.
- higerordermap 6y agoBecause C-suites end up getting most money in any industry.
- wilsynet 6y ago
- rcardo11 6y agoMy theory: The amount of leverage computers give to us as programmers is not seen in any other field.
- dang 6y ago(Threads about this article certainly are: https://hn.algolia.com/?query=danluu.com/bimodal-compensation/&sort=byDate&dateRange=all&type=story&storyText=none&prefix https://hn.algolia.com/?query=danluu.com/bimodal-compensatio...) If curious see also 2018 https://news.ycombinator.com/item?id=16337434 https://news.ycombinator.com/item?id=16337434 Discussed at the time: https://news.ycombinator.com/item?id=12588202 https://news.ycombinator.com/item?id=12588202
- ZephyrBlu 6y agoDid you bump the thread? I submitted it and saw it sitting on 1 point for a while, then saw my karma jump up overnight and was pleasantly surprised to find it like this.
- dang 6y agoYes - a moderator put it in the second-chance pool (https://news.ycombinator.com/item?id=11662380 https://news.ycombinator.com/item?id=11662380), so it got a random placement on HN's front page.
- suyash 6y agoArticle fails the define salary, which is a big thing..is it just cash compensation or does the numbers include stocks as well?
- batmaniam 6y agoSomeone once told me that programmers should not complain about their "already high wages", because they have it good. They're well paid, have benefits, and they sit at an air conditioned desk. While I don't disagree with that statement, it's always bugged me because in the bigger picture I feel like this is not true, and especially the part where devs should not be able to raise grievances due to the claim their wages are high. If you look at it from the business perspective, devs are part of company that built the product, which they then go to market and make profits from. Profits that can be in the hundreds of millions. Why shouldn't the devs and the other workers (both engineers and the other company employees that helped make the profit happen), be paid well for it? And in certain companies where profits are in the billions, shouldn't those employees be making a lot more then? A lot more than what they're making now, that is, which means devs are not so well paid relative to the profit margin. The same goes for any profession too, waiter and line cooks at restaurants should be making more; their work directly contributed to the restaurant's profits, and should be better compensated than they are now, instead of this 12$/hr across the board without regard to profits. If you look at it from the economic perspective, we can go with the claim that programmers usually make more than the average job, sure. But 'so well paid' is kinda relative at that point. We're 'so well paid' relative to professions that are not so well paid, and keep in mind that the other professions have been around a lot longer than software (ie waiters). Wages themselves have not really increased on its own for the working class over the years, a lot of it has been artificially forced in the form of minimum wage by LAW. So if everyone else is making terrible money, and we as devs are considered to be 'so well paid', then maybe we aren't really 'so well paid'? Basically the other professions are artificially being kept lowly paid, so in comparison of course we make a lot. But if we factor in appropriate wage gains over the years for them, devs should be making a lot more than what we have now. Haven't thought of it much more than that, but the thought always comes when someone mentions that devs make a lot. Anyone else have these kind of thoughts?
- eyelidlessness 6y agoFar as I can tell you’ve expressed a view I’ve held through my career: those of us working for income are working class, right alongside all the other people working for income with us. We’re all entitled to the fruits of our labor. We’re all more aligned with the janitors and office assistants than with the executives. And we should organize as such. We won’t get a bigger share of the value we produce by treating our white collars differently. We’ll get it by recognizing we’re workers (high paid often overworked) and find commonality with our peers, not our bosses.
- benibela 6y agoOr is it trimodal? As open-source developer I earn nothing for developing