32

In software engineering it is common knowledge that you can expect a more significant raise when changing jobs than when getting a raise at your current job. This has been confirmed in my own personal experience.

However, from an economics perspective this seems backwards to me for several reasons:

  • Your value to the company you work for today increases over time relative to your value at other companies. The 5 year tenured engineer has deep knowledge of the internal systems and practices and is more capable of teaching his knowledge to his colleagues.
  • It is more expensive to replace an experienced engineer than it is to retain one. In addition to a typical recruiting fee of 20% the engineer's annual salary, there is the cost of time spent interviewing and training as well as the value-add that the engineer who left would have created had she not left.
  • New engineers can take years to come up to the experience level of a current tenured engineer.
  • To the hiring company, a new engineer carries a lot of unknowns; only so much information can be extracted from the interview process. You may get lucky and hire someone who is very capable, or you may be unlucky and hire the candidate who is a drain on resources and just happened to research similar topics to your interview questions and/or has a likeable personality.

To add to this, I have worked at several companies that I absolutely loved and would have preferred to stay at them. Culture was great, I was just beginning to be very productive due to my knowledge accrual, I had developed great relationships with my colleagues. But I just could not turn down the 25% salary increase a new company offered compared to the miserly 5% my current company would give.

So what gives? There must be some pervasive in-built market incentive going on here that causes this dynamic to take place year after year, company after company. Why do companies give higher raises to engineers that switch instead of engineers that stay?

I have a suspicion it could be associated with the related pre-coronavirus phenomonon where unemployment was very low and yet wages remained stagnant, but I'm not sure.

4
  • 1
    "Culture was great, I was just beginning to be very productive due to my knowledge accrual, I had developed great relationships with my colleagues. But I just could not turn down the 25% salary increase a new company offered compared to the miserly 5% my current company would give." - Is money your sole (or main) motivation to switch or stay at a job? – DarkCygnus May 6 '20 at 18:09
  • 1
    Certainly not sole, but often it's the main reason when I do decide to switch. I receive more value from my job by staying at the same place longer, but this is still something that I'm willing to assign a dollar value to, and it's hard to leave $$$ on the table merely because I'm reluctant to start anew. Many "untangibles" like company culture or benefits can be readily matched by other companies. – Cory Klein May 6 '20 at 18:12
  • 2
    Some interesting, related reading I found (not dupe, but another angle to this perhaps): Why is it so acceptable for software engineers to job hop? I'm tired of constantly recruiting them – DarkCygnus May 6 '20 at 18:13
  • One thing to mention is that, while every company is different, often if you approach your current employer with the fact that you've received an outside offer they may make a counter-offer. I've seen this work at both enormous multi-nationals and small businesses, and used it myself once as well for a 33% boost. In one case, for someone who was extremely valuable, had executive visibility, and was then considerably under-paid, I even saw them offer him a 50% rise and substantial perks if he would stay. He actually left anyway because he was so annoyed at having been poorly treated for years. – Phueal Jul 15 '20 at 12:41
27

Companies have lousy internal pricing systems that make turnover seem a lot cheaper than it is.

TL;DR: Raises are very obvious in terms of higher costs. Changes in productivity can often be completely missed or just assigned no value at all.

The 5-year tenured engineer has deep knowledge of the internal systems and practices and is more capable of teaching his knowledge to his colleagues.

The challenge with this is that its value can only be measured in terms of productivity and the value of productivity needs to be measured in dollars. Companies don't even try to measure productivity except with agile points and those usually don't incorporate most of the work involved in development. They also rarely attach productivity to dollars.

Consider something a friend's co-worker had to do these past two weeks. He had to go through and bold all sorts of things and remove various colons from others and change the radius of various borders. That's $3000 of work. If it were put in those terms to the product owner, I doubt it would have been done. But nowhere in the project is anything costed because it is all internal. Internal projects are interesting because price is no longer even considered, so anything gets ordered.

I work on an internal project where the pace is slowing, perhaps by 1/2 in the past few months with no clear path back to normal. If the price of a product doubled, alarm bells would be going off everywhere. Our slowness hasn't been discussed. The price has effectively doubled, but because nobody has put it into dollars, nobody really thinks of it.

Also, the co-worker is a solid mostly backend engineer with many years experience. That task really should have gone to my friend as he is a junior, mostly Angular, engineer. Instead he is implementing an SQL database.

It goes the other way as well. How many complaints do we hear about on here because a company won't spend $50 on a development tool or an issue tracker? For a cheap junior like myself, it needs to save an hour and a half of my time to make sense. For more senior devs, that can be well under an hour. But even if it would give you an extra week a year, in many companies it is difficult to get that tool.

It is more expensive to replace an experienced engineer than it is to retain one.

This is true, but who's budget does it come out of? In my government agency, a retention raise is paid for by the department budget. Hiring costs come out of the HR budget, most in terms of their salaries. Sure, the department might have to pay for someone to sit down and interview these people, but that gets lost in general salary costs and productivity losses. Most companies don't even track what it costs to hire someone or how effective their hiring is.

Same with my friend at a big bank (as well as when I worked at another bank). Hiring is centralized and handled by HR up until the final interview, so much of the cost of high turnover is not carried by the department with it. That manager can also blame "the job market" for not easily letting him fill the post. Because that reason is highly accepted, it makes it cheap for the manager to use.

Most companies have these unaccounted for externalities and ways for departments to pass costs off to other departments without it being traced. They aren't deliberately thinking in this way, but on their departmental balance sheet, a raise costs money and a replacement doesn't.

New engineers can take years to come up to the experience level of a current tenured engineer.

See point 1. Also, a lot of the time, nobody is considering experience beyond the point where they hire the employee. This is evident on my project. We never really consider who actually knows what when assigning work. We had this expensive Java consultant for a while who kept being asked to do React work. It means I get to learn a heck of a lot by doing tons of different things, but it does hurt my productivity.

You may get lucky and hire someone who is very capable, or you may be unlucky and hire the candidate who is a drain on resources and just happened to research similar topics to your interview questions and/or has a likeable personality.

Can anyone but their technical co-workers point out who that is anyway? I keep seeing management get this absurdly wrong simply because they can't really assess software quality beyond the front-end and end-user usage.

There must be some pervasive in-built market incentive going on here that causes this dynamic to take place year after year, company after company. Why do companies give higher raises to engineers that switch instead of engineers that stay?

The incentive is that they cannot price it effectively without a lot of effort so they often do not price it at all. The metrics used are the metrics that are easy to get like net budget, revenue/salary ratio, and how low expenses are kept. None of those value experience.

If you spent $140,000 a year on a project and it took 18 months or spent $170,000 a year on a project and it took a year, plenty of companies would see the former as cheaper simply because they would never do the multiplication of this calculation or even consider time as a factor in cost.

1
  • 1
    "Internal projects are interesting because price is no longer even considered, so anything gets ordered." - although this is obviously true in one sense, it may be less that price is no longer considered, but that the company is more concerned with the price of assigning prices to everything. $3k to change commas and colons sounds like a lot, but only when using a domestic frame of reference, and only until you factor that assigning such prices systematically (and the ensuing battles to get things done against so-called bean counters) would cost more than the $3k cost of just doing it. – Steve Dec 29 '20 at 18:04
10

Why do companies give higher raises to engineers that switch instead of engineers that stay?

I'm going to quote a part of your post to make my point:

Culture was great, I was just beginning to be very productive due to my knowledge accrual, I had developed great relationships with my colleagues. But I just could not turn down the 25% salary increase a new company offered compared to the miserly 5% my current company would give.

Aha! So, if they hadn't offered you such considerable raise you most likely would have stayed.

This suggests that the reason why higher raises are given to switching engineers is precisely to convince or motivate them to do the switch.

If they offered you the same raise, well, why change jobs if you are already building a good relationship with your colleagues and you are getting more productive, etc.? But, with a juicy 20% extra, one would surely give it a thought now...

Another possibility is that, as the company is (most likely) in urgent need to fill the vacant, they are willing to pay more with the hopes to attract more candidates and fill the vacant ASAP (which we can see is also done to "motivate" the candidate).

6

All the reasons you give are good reasons why companies should spend more effort retaining their current staff in preference to recruiting from outside. However, some degree of loss is inevitable, if only through retirement and promotion, so companies will always need to hire. Given that:

  • The 5 year tenured engineer has deep knowledge of the internal systems and practices. But that may make him less innovative and more resistant to change compared to an outsider who brings fresh ideas and experiences. Some of that five-year-old knowledge is probably obsolete, anyway.

  • To the engineer, the hiring company also carries a lot of unknowns. They may be great to work for, or they may have dysfunctional management, boring work, financial instability. So to tempt away a good engineer you need to compensate her for that risk with a healthy salary bump (or better perks, which still costs $$$)

  • Making generous offers reduces the amount of interviewing by attracting good candidates into the process early, and reduces the cost by getting the proactive ones who apply directly rather than the duds that the agency spams to every hiring company. Interviewing time is doubly wasted if your candidates decide not to join you for avoidable reasons - and making a weak offer is definitely avoidable.

  • Making generous offers creates the impression of a company that's growing and profitable.

2
  • "But that may make him less innovative and more resistant to change compared to an outsider who brings fresh ideas and experiences. Some of that five-year-old knowledge is probably obsolete, anyway." Exactly. The question only highlights the positive aspects of tenure. For instance, a manager that has done the same job for 10+ years will likely have a very serious case of "this is how it has always been done here" syndrome. When a company hires a 5-year employee from their competitors, the "tenure knowledge" might carry through to them. – Bernardo Sulzbach May 14 '20 at 6:52
  • "Some of that five-year-old knowledge is probably obsolete, anyway." Very few businesses move so fast that significant parts of their core systems go out of date in 5 years. Engineers with deep knowledge of them can be very productive, far more so than new hires who continually need to orient themselves. Each company's internal systems tend to be their own unique accretion, different from their competitors', so carrying over "tenure knowledge" is not really possible -- the best you can get is engineers who are quicker to pick it up because they've seen similar accretions elsewhere. – B. Ithica Jan 4 at 15:06
5

The simple truth is that salaries are about negotiating ability/power more than actual value. The company's negotiating position is much stronger with current employees than with a prospective new employee. Simple as that.

0

Under American law, companies are strictly limited in how they are permitted to do most things with regards to employee compensation. This has the practical effect of "homogenizing" everything. So, if you want to get a step-up in position and salary, usually the best way to do that is to change jobs. Now, you are competing with other people for a new position, in a company that doesn't have to balance your ambitions against those of "your co-workers right now."

Unfortunately, the "HR Department" at any company spends a lot of its time simply trying to make sure that the company doesn't get sued for something – by employees, ex-employees, or by the various governments. It's truly a rat's-nest of meaningless laws.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .