Why is it that software engineers tend to get substantial raises by changing companies while receiving only small raises when they stay at the same company?
Why is it that software engineers tend to get substantial raises by changing companies while receiving only small raises when they stay at the same company?
1. Because companies are often run by financial types who have a hard time imagining that one SWE could be a multiple more valuable than another (either inherently or because of company-specific domain experience). Why pay this current, good SWE 1.5x what they were making, when the salary study that I have in my inbox says...?
2. An employee seeking a raise at their current company is negotiating with one company. An employee seeking a raise at all possible companies has more flexibility.
They don't need all companies (or one specific company) to be willing to pay them more, just one out of all of them.
B told me one day that when A left, the company foolishly failed to offer him a counter offer to stay. The way B put it was "they literally could have paid A one million dollars per year and dumped the rest of the team but they couldn't wrap their heads around that and of course didn't. When A left, the team went right down the toilet and they closed that whole branch of their product line"
A bit of an extreme example, but yes as you pointed out, not one that "the suits" can really grok, or HR for that matter.
I had an experience where I refused to extend a contract because one engineer left the project.... The whole team left within three days of that engineer announcing his departure.
My current hypothesis is that the technology industry hasn't been around for as long as other industries, so people that go to business school, for instance, don't understand the value that SWE's offer to businesses.
When the tech industry was small, this was probably ok. But today, those assumptions no longer hold.
Because in construction industry structural engineers and architects are paid way better. (Structural engineers and architects are the closest professions to software engineers/programmers/etc)
I worked in a small SaaS company that had only a few million in revenue. The amount of value that I brought that company in terms of its revenue wasn't that great compared to other companies.
And while I didn't switch to tech (I joined the public sector instead), if I had gone back to a big tech company, the revenue per employee would have likely been an order of magnitude or more... and they could pay more too.
While working at a company, the additional value that is brought to the company after a year or two or ten isn't as much as bringing value to a company that is able to translate technical skills to even more value because it is in a different sector.
This contrasts with other careers where a given job won't change significantly from company to company.
The difference between software developer and those other careers is the flexibility and demand for the skills across a wide range of companies.
Company doesn't know which of their employees fall in to that group. So they could either regularly offer everyone raises that are competitive with job switching to keep the few people who would otherwise leave; or offer everyone token try not to piss them off too much raises and accept that they're going to lose some people who they otherwise would have been willing to pay more money to keep.
Those with very ambitious workforces that are largely made up of people who will job hop tend to go with the first option. Plenty of people at FANG are getting 30%+ raises in their earlier years, you see it whenever people discuss salary.
Other companies go with the latter.
As long as the wage gap is less than the required "risk/laziness incentive", rational employees will not leave (=> small raises are presumably enough to achieve that).
(personal perspective)
20%: @ 100k --> 120k. @ 200k --> 240k. @ 300k --> 360k. 30%: @ 100k --> 130k. @ 200k --> 260k. @ 300k --> 390k
Also, while some people will move to a good new opportunity for less money, I imagine it isn't super-common until you get into money is mostly about keeping score level. Many/most people have a lifestyle that's somewhat aligned with their salary do dropping it by 20% is probably fairly significant.
It's not always about the money. However, most people would leave if made aware of a relatively large gap in their salary vs the market.
I left for a $2k annual raise, but that wasn't because I wanted a raise.
If a companies didn’t pay more than people are currently making at their current job, they wouldn’t be able to hire experienced talent in meaningful numbers. So virtually all companies are forced to pony up a premium to obtain talent.
Another employer knows they have to offer you a strong incentive to switch jobs. You are taking the risk that will go form a job you like to one you don't. Or they won't like you, which is a still a risk to the employee switching jobs.
I don't think it is so much that employers don't appreciate existing employees, or that they worry raises beget future raises. It's mostly that if you have been a job for awhile they think you are somewhat happy.
For example, a company decides to move to the opposite part of the city, despite the fact that many employees chose it because it was conveniently close to their homes. Or, there is a team where the colleagues have great synergy (their personalities are compatible, their strenghts balance each other's weaknesses), and when they finish a project, instead of giving a new project to the same team, they are randomly assigned to different teams.
If the company is aware that they are paying the below market rate and their employees are staying there for non-financial reasons, why would they destroy those reasons?
Therefore, it seems to me more likely that the employers mostly just don't have a clue... either about market rates, or the things that make their employees happy. They pay existing employees less, because they can; and they pay new employees more, because they must; but there is no grand strategy like "make them happy and then they will be willing to stay here for less", only short-sighted paying everyone as little as possible.
On getting a new hire, the 20% raise to get them to join is much easier because that extra cost is only going to a few people, one time (and they don't necessarily know it's a 20% increase in the person's previous pay).
I don’t get this - how would the other employees know about the raise ?