The underlying problem is still that it is very hard to accurately measure someone's worth as a developer (or manager for that matter) and that there are many who are "experienced" who have not improved in any meaningful way over time and that's why they might not get a rise or a promotion. Pay grades are quite arbitrary and personally, I don't think that a lot of these "super coders" are worth as much as they think unless they also do management (except perhaps for really niche skillsets).
Differences arise for many reasons. The most common in my experience is people who negotiate a higher starting salary. You don’t want to just give them more money forever so every year they get their salary tweaked back a bit toward the average for their level. There are also some bonuses that operate outside the normal system.
This is not true. At FAANG companies and Microsoft, the total compensation bands for levels at or above "Senior SWE", "Senior SDE" are really wide. This is by design, and its widely communicated that this is the case. Most of the variation is in equity grants and bonus, rather than salary - if your management chain recognizes that you made a huge impact last year, you'll probably get huge equity refreshes and a giant bonus, although your salary might not rise by much.
Promotions are a separate thing, because promotion beyond "Senior" implies a change to your role and expectations (more leadership, more "people coordination" even if you're not a people manager, etc.) It's totally possible that you're making an amazing impact in your current role in a way that merits additional compensation, but you're not meeting all the criteria for the next step on the ladder. That's fine - you're still going to get paid a huge amount more than the average for your level.
Ehh, not really. Up to the director level (well above senior), if you give me someone's level and last two performance evals, I can probably tell you their TC to within 5%. There's certainly a wide variance within senior and above levels, but it's not as bonus based as you suggest, and sustained high performance will often (although not always) lead to promotions.
It's not like there are two senior SWEs with one making 2x what the other does. At least not at Amazon, M, or G. Since netflix doesn't have levels, that's possible, and my understanding is facebook has huge bonuses on occasion, but I'm also pretty sure you'll just end up getting promoted if you get too many of those.
*for Googlers, you can find this at go/salarycomp or something like that, I can't remember
and generally that's what this is about: creating a job real job market, where both parties can have knowledge of the environment beyond a "you are not good at salary negotiation"-point.
probably we should just have laws that every interview invitation has to include the salary they are offering (better yet: write it into the ad)
People on HN say all kinds of crazy nonsense about it being hard to measure software engineer productivity. It’s nonsense that helps suppress wages and keeps the situation set up as a fight between engineers who should be cooperating for mutual betterment.
Companies don’t approach measuring the worth of any employee with any sort of fine-grained metrics except in highly commoditized jobs.
Also, as a software engineer your value is not all (or even mostly) from writing software. There’s reviewing resumes, attending recruiting events, evaluating new technology the company might adopt, filling out forms, sitting in meetings, sitting in diversity training, etc., etc.
You might even be adding value just by being a name on a sheet of paper. Your headcount tells a small portion of a story that wins the next funding round or puts the company in a better position with an acquirer or gets the company a high rating from a regulating agency or brings hope that causes other key employees to stay at the company or whatever.
These are reasons why some people make 100% bonuses and millions in equity while others get 15% of a low-ball base salary in options they end never able to exercise.
The reason pay is wildly unequal is not because it’s hard to measure productivity. Companies aren’t doing that anyway. Even if they were, they’ll do anything to avoid paying what you’re truly worth.
Pay is unequal because developers don’t know their worth or what forms of compensation are negotiable, because it’s all kept very secretive. Developers don’t develop good negotiation skills and they let themselves often very foolishly believe less tangible and less enforceable properties of a job (like “interesting”) are worth a big pay trade-off.
It all boils down to the same thing. We have crappy pay (compared to the real value we add) and we get stuck in open-plan hell hole offices and on and on because developers won’t say “no” to these jobs and seriously negotiate under the willingness to walk away if conditions and pay don’t improve.
Ironically it also leads to an increase in C level compensations.
That is not a given, you have to show proof that there exists a discrepancy in the first place.
I personally know of surveys that have proven this both by gender and disability.
Obciously you might be over- (or under!) estimating your ability, but that's something you need to resolve regardless, and a rough sense of where you fit in the salary distribution is independently useful.
If you succeed in getting a better offer, you can take it to your management chain and ask them to match it. In my colleagues' experience, they frequently will match it, but not always. In particular, if there are certain firms that have a reputation for "overpaying" for engineers (e.g. Uber in 2016-2017), there might be a blanket policy of "we don't match offers from firm X".
If your offer gets matched, all is well - enjoy the money, but don't expect big raises through the normal review process for a while, since you're probably at or above the expected pay band for your level.
If it doesn't get matched, you're in a tough spot, because your manager may view you as a "lame duck" who is interviewing elsewhere and liable to leave. If you choose to decline the offer and stay and your company, then handling this perception will be very important.
A side benefit to interviewing around and receiving offers - you may realize that your aren't as underpaid as you may have thought. I've had a few colleagues who were unhappy about their pay and chose to interview around, but were surprised to find that the only higher offers they could get were at firms with a much more difficult work/life balance. They realized that their current arrangement was actually pretty good!
Anyway, all this is to say that exercises like this don't have any effect unless people are actually willing to walk. Microsoft already pays for compensation survey data from across the industry - they know how much people are paid, and have set salary bands where they think they're competitive. Unless you're willing to take another offer somewhere else, complaining about comp just hurts morale on your team and makes people less happy.
But it's a bit flawed, as you can't see things like tax deductions, so the number you see is just a ballpark figure, as much information is hidden.
And besides, a lot of entrepreneurs, rich people, etc. will almost guaranteed have a holding company, and get dividends at lower tax rates.
This true of almost all of the Nordics. For example, you can perform the same request from Skatteverket in Sweden.
>IMHO that kind of transparency is actually a good thing to have and helps prevent unfair practices where (e.g.: men get more than women or nepotism gets you access to better salaries).
This isn't implicitly true. If it were, Iceland wouldn't have had to pass a law to make unfair salaries (based on gender) illegal.
 - https://www.businessinsider.com/iceland-gender-pay-gap-law-2...
Otherwise what would you do with your discoveries? Vote with your wallet?
This of course presumes that any discrepancy in pay among genders is based solely on discrimination.
What was historical reason for this? I see it as a privacy invasion. Is it a case for GDPR?
That all your income and assets are automatically sent into the tax office by your employers, estate agents, banks make fraud even harder. But it does make your self-assessment super easy, just mostly log in and approve the pre-calculated assessment.
The digital transformation 15-20 years ago did have some issues initially when it became super easy to find out the income for all your neighbours, family and friends. It was open to all for a few years in Norway.
I have to admit I could not resist the temptation then as well. They have subsequently tightened access. You can request to see someone' details, but you have to be logged in and they will be notified who viewed it. I think journalists still do that to view celebrities details every year as there are always articles in April about their earnings.
Thankfully all the anonymised statistics are still public knowledge so you can easily compare how your earnings are with other people in your age group in your area etc.
You think you can still see a top 10 of whom paid the most tax in your area, had the largest income, or have the most assets. Handy for some more dubious people, probably.
My view is that public tax information is a good thing, on the whole. It creates greater transparency and harder to hide discrimination. It works in a society that is quite egalitarian, low crime and the public mostly trusts the government. It may not work as well in many other places.
Things can still be made secret if there are actual reasons to do that, like privacy reasons or security reasons etc. Taxes have traditionally not been counted into the things that require privacy here in Sweden.
Privacy in the Nordics is a bit weird. Everybody is issued a person number when they are born which typically starts with their date of birth. This person number is routinely asked for on all sorts of administrative forms and would also be on the tax declaration along with an address.
Before Finland, I also lived in Sweden briefly. When I turned 25 there, I received a letter from a local news paper (The Blekinge Länstidningen) asking me if I wanted to pay extra for printing a photo along with the happy birth day advertisement they were going to publish for free. They obviously got my name, address, and birthdate from the tax office and they did actually publish the ad (without the photo). Databases with addresses and person numbers were widely distributed. When renting a video tape, you'd simply give your person number and then they'd be able to look up your address. This was in 1999.
So, yes, I imagine there are some GDPR issues with that :-).
What a weird way for the author to end the article. Does there need to be a reason beyond pay equality? I benefit by having an understanding of the bands at a company. That only works if many people see value in this data and share theirs.
For example, let's say you are just starting out, or are a couple of years in. You don't really understand how the business and hiring side works, you just want a programming job at a well known company. You might settle for 80%, 75%, 50% of what the market truly values you, because you don't really know what you can get. That's the important piece. It's hard to know your market value when you are a single data point while the hiring companies have entire teams analyzing the market for them.
This also compounds. All your raises over your entire tenure at a company are based on your existing salary. They typically won't think, "wow, we're only paying him $50k, we'd better bring it up to market rates." Managers don't get bonuses for thinking that way; they'll just give you a set percentage based on your current salary. You can start to see how important initial salary negotiation is; it affects your compensation for your entire tenure at that company. When hiring companies ask how much you make at your current company, they're trying to extend that discount to their company. All based on what you agreed to because you didn't have the pertinent data.
That visibility is so important, it's enshrined into US labor law (back when politicians gave a hoot about labor):
>Under the National Labor Relations Act, enacted in 1935, private-sector employees have the right to engage in "concerted activities for the purpose of collective bargaining or other mutual aid or protection."
Edit: Looks like even London don't offer good enough salary for a good software engineer when compared to cost of living.
The biggest problem with India is that talent migration doesn’t really work the other way (same with China), so you have to build companies solely with local talent. That works for lower end software services, but for higher end R&D generally requires some amount of draw from a world-wide labor pool.
120k £ (equivalent of $150k at current exchange rate) becomes net 71135 £ which is 61.8%
In the state of New York:
$150k gets you a take home that is 68% of gross. NYC imposes an additional local tax between 3 and 3.8% so in the worst case you’re still taking home more than 64% of gross.
Maybe the last time you checked $150k was a lot less in £ and therefore taxed at lower rates in the UK?
That's not how salaries in a career path work -- you want to have the largest base to start. In a worst case scenario ( no job hopping for massive increases ) the salaries increase based on percentage of the salary, not a percentage of what is left.
It's become really hard to hire good engineers in India at Indian salaries. It's actually good thing in the longer run if the overall salary levels rise. On the other hand the talent drain out of India continues to be quite high.
Stop rolling this lie about "only the best", there is a place for less skilled people. There is also no measure of "the best developers". Because of this lie, hiring in IT is broken, because people who belive that and are recruiting, shit on people who want to find a job.
No, there is something more complicated going on. India has a space programme and nuclear weapons. They have the talented engineers to make that happen. I guarantee those engineers are not all “we are facing an issue” and “please do the needful” like everyone who has dealt with Indian IT has heard when they lack the basic competence to do the job. So where is the disconnect?
It's like when people write entire programming languages for free. The job is so enjoyable that it lowers the salary to zero.
Dang, I thing you nailed it!
(I'd work on rocket engines for free, too!)
A vicious self-reinforcing cycle that drains underdeveloped countries of the best and brightest - the very people most suited to lead and improve the countries they leave.
The US has also been historically the biggest benefactor.
Just because of your interactions with few Indians and had a bad experience from those working in mega service companies like Infosys, Wipro doesn't mean everyone's a worthless engineer
Would love feedback and suggestions to help make this a better resource. Our next feature is regionalization. Look out for it in next few weeks!
- Time at level
- External hire vs internal (promotion, role change, etc)
- As others have said, number of stocks.
As it is currently, it can be very hard to tell if a salary is representative of a new offer, someone at the end of a 4 year compensation “hump” due to vesting schedule, someone approaching their next promotion/high end of salary bands. To a certain degree the current version of the site suggests overall salary bands, but it’s hard to make it actionable for a specific case.
OTOH, I totally get that more data means more identifying, so tough balance. Love the site though!
However, that same opacity gave me some peace of mind at a previous employer. I had very cutthroat coworkers. I was targeted, in part, for just the suspicion that I made more than other people. Didn’t matter if it was less than a quarter per hour. Didn’t matter when they all eventually were promoted above me and made more, either.
I don’t know how to square those two. On one side, market regulation ala talking to employees in search of abuses and mistreatment may have helped me. On the other is the persistent pressure to have the least government possible.
Also, the graph from the Medium post showing comp vs years at company would be really helpful. In the OP, there's a 2nd year near $300k and 9.5 year employee at $150k.
Have companies every asked to be removed from levels.fyi? I see at least one company missing from there now.
Re YoE Graph: Noted. We’re hoping to build dashboard functionality of sorts where you can choose what you want plotted and we'll dynamically generate graph.
No one has ever asked us to be removed. In fact, many companies have reached out to get their levels added. Which company is missing? We realize we need to add many more companies and are slowly adding more as we get data for it.
Facebook was going for $40-45 during the months before their IPO (at $38), and 6 months later they fell to $20. Microsoft today might have a similar boom and bust. In these sorts of cases there will be lots of employees compensated unfairly one way or another.
When total comp offers are all similar, a major differentiator can be how much hubris a company shows valuing their own stock.
If you want to compare what you are given to what someone else is given, isn't grant price better than number of shares? Grant price is what the company gives people.
>If a company drops the number of shares much faster than the stock appreciates, then that can signal they over-value their stock.
Maybe. Or maybe the company is simply paying employees less. Or maybe they're migrating to provide more compensation via salary or bonus instead of stock.
Why would a company cut down on the number of shares granted if they overvalue their stock? Another thing is that a company could do a simultaneous stock buyback, which wouldn't cause the number of shares in existence to increase, and would only cost the company market price for the stock.
If you are given the average number of shares that an employee has vest per year, how can you determine if a company is dropping the number of shares? Really what you would want is data on every single grant event each employee has been given. If you know the date of each grant event, it's then equivalent whether you know the number of stocks of each grant event or the dollar value at grant time of each grant event.
Also, if you do want to try to predict future stock moves via past stock moves, simply look at the stock charts. You can predict how much stock you will be granted via levels.fyi then adjust that based on how you predict the stock will move. I don't see how knowing how many stocks employees are granted will help you predict anything.
On the other hand, we get healthcare paid for out of our taxes and accomodation is not too bad in most places so I guess it all works out in the end!
Also, businesses like Google and MS are poor calibrators anyway since they have massive profits compared to 99% of other businesses in the world and ironically, despite their crazy salaries, I don't think either are the best model of amazing software (has anyone used Outlook or GMail recently!?).
Why do you think that is?
Example: https://www.indeed.com/cmp/Google/salaries vs https://www.levels.fyi/salary/Google/
- Manual review - we review all data to filter extreme outliers and spam.
- By-Level info - we collect much more info per data point meaning we can hone in on title / role deeply.
- No Incentive - Not specific to Indeed but there is not incentive to submit your data. Everyone has access to data whether you submit or not. This along with the form being long leads to less spam.
- Staleness - we age out old data aggressively
- Total Comp - we're centered around total compensation. Most sites focus on salary which for tech jobs can sometimes be smallest portion of comp.
- Userbase - we're quite popular with tech demographic and have been able to field much wider range of data from folks at all levels due to it.
...there may be other reasons but these are the largest I can think of off hand
What does the estimated salary bill for each of these companies come out as and how does that stack up vs. their public declarations?
My hypothesis at the time was that Google had deliberately introduced changes to GA that made it far too convenient for sites to depend on on ga.js for providing [something in the path of] actual page rendering logic. And so for a number of years any URL pointing to blogspot was as good as dead to me.
The asinine behaviour has since been fixed. I can only assume the pageview numbers with intentionally parasitic ga.js were going down and couldn't be misattributed any longer.
Therefore no real conclusive arguments can be drawn from this
I've actually gotten grudgingly bored of technical implementation/testing as at this point, I can look at a set of specifications, and generally have the code that underlies it it be almost immediately apparent. Migrations are a bit more interesting, however, at the end of the day, I get the most out of untangling or unobstructing human communication pipelines.
The work is irregular, generally novel, completely underappreciated, and nigh impossible to get anyone to agree to let you do regardless of the throughput increase you can enable. Especially if politics/an imagined threat to someone's budget becomes a sticking point somewhere in the chain.
So often times a job degenerates to the work an office will allow you to do.
It is one of the things I miss about startup culture sometimes. It's amazing how much a couple of people can get done with a process based on the right abstractions and a tailored vernacular/set of efficient protocols.
Then solve those problems. At higher levels, solving organizational problems is a job expectation for engineers. "Process is preventing me from having impact" is not an excuse.
From personal experience, the principal/staff band now pays significantly better at FAANG than it does at MS (considering total comp, because above a certain level salary isn't a useful comparison)
I know of many good developers in India who earn less than this figure but are generally very content in their life. Stop trying to look at everything through the lens of silicon valley.
Especially, if the quality is the same in both places?
As an employer the ideal is to pay at or slightly above the market. Enough to make money a non-issue, but not so much that people who secretly hate you still work for you.
MS could afford to pay more as you said... but why should they? Does your friend seriously consider leaving MS in India? If so, use that as leverage to negotiate. If not, then clearly MS should not offer more money
Also, to push the analogy forward, how about the flour quality? One employee could be more valuable for the business due to stuff like his willingness to help in tough, boring but critical moments. Or learning more outside of work to be able to apply that knowledge in new and innovative ways inside the company.
And so on... Are all those factors sufficiently captured by a single number like "level"?!