> The hard truth that many companies struggle to wrap their heads around is that they should be paying their long-tenured engineers above market rate.
From an ethical point of view, maybe. From a rational point of view, maybe not.
Jobs are "sticky" — it's a pain to apply for jobs, arrange interviews, deal with the possibility of getting rejected. And if you do get an offer and accept you will be leaving colleagues that may be friends, risk your position being less stimulating, have to move house and/or deal with a new commute.
There is a very real salary range between "low enough that I'll think about applying for other jobs" and "so low I'll actually start applying for jobs". Employers are aware of this and are paying salaries accordingly. It sucks for everyone in that salary band but — ethics and long-term viability aside — it's still the rational economic choice for employers. Every now and again someone will quit and get their deserved 40% increase, but many will delay leaving for years, or simply put up with it indefinitely, saving employers tons of money.
Of course this may not be the case forever. It seems like recently the cohort of people who find interviewing and changing jobs more tolerable (the so-called "job-hoppers") is increasing in size. If you happen to be a part of this cohort, then congratulations, you're winning the job-market pain-of-change-vs-salary arbitrage game and will enjoy above-average year-on-year salary increases for at least the near future.
> There is a very real salary range between "low enough that I'll think about applying for other jobs" and "so low I'll actually start applying for jobs". Employers are aware of this and are paying salaries accordingly.
This is the difference between employers who play the game at a low level and employers who play the game at a high level. If you play at a low level, then you view your workers as interreplaceable cogs in the machine. You charge for soda at vending machines and balk at shelling out a few hundred bucks for a ping pong table. Sure, it's "expensive" when people leave, since their replacements are more expensive (not to mention ramp-up costs), but your perspective on your employees is how much they cost you to employ, so you try to keep that number as low as possible for as long as possible.
Higher-level players order dinner to the office every night because they understand that the price of food is so ridiculously cheap compared to the additional productivity that the only way it doesn't make sense is if you manage your employees by what they cost and not by the value of their employment. Higher level players grant their employees large raises without being asked because they understand that defensive raises prevent your employees from searching for new work in the first place. Higher level players understand that loyalty has value, trust has value, and tenure has value.
Are lower-level players rational? Sure. They're also either stupid, or of low enough relative productivity that the market will subsume them soon enough.
You laid out the exact reasons I stayed as long as I did at my last job, even after it became clear I was not happy with my compensation. (except for the moving part - hurray living in a 'tech' town with lots of opportunities I guess.) Although I am really confident at this stage of my career in my abilities and reputation, interviewing is such a pain in the ass overcoming that inertia takes a bit, and you are right, companies count on that inertia.
I've found a different kind of stickiness. I've been in enough circumstances that I now value sane management and co-workers who I like. I'm not in a hurry to leave a situation like that, because I know that it can be rare. I don't need to maximize my money; I can get decent money while minimizing my misery.
People here on work visa (H1-B) have to go through renewal of their work visa application as it is tied to their employer. This step while being fairly straightforward can add to the inertia in switching jobs.
This is a big factor. If I switch I want a 10-20% raise not because that’s very important in itself but because I’m taking a massive risk and have to endure a horrible process when switching.
My experience has been the opposite, in that sticky jobs are jobs held by people who aren't in demand. There's a balancing act for employers ("brilliant but flighty" is less desirable than "good but sticky") so it's certainly possible to argue that jobs being sticky for less-than-brilliant people is a good thing... but in my experience, jobs aren't sticky because of inertia for brilliant people.
I mean, I won't claim the 'brilliant' label, but I am competent and in-demand, and my experience is just what the OP laid out. Once I started interviewing, opportunities came left and right. Getting starting interviewing was a hump though, and there IS always the fear of landing somewhere that seems good, but isn't, especially if your current job ONLY lacks for adequate compensation.
You might be right. As a counter-argument I can only offer my
anecdata of being a contractor who has met quite a few people deep in the bowels of large enterprises who I would class as brilliant, but who are coming up on five, ten and sometimes fifteen year anniversaries. Perhaps they do have good reasons for staying, but whatever they are those reasons are they are out of reach of my make-as-much-money-as-fast-as-you-can monkey brain :)
I think you'll find a fair number of people who like their work, are comfortable where they are, and feel like they make enough money. And don't really care that they could maybe make more somewhere else.
I also expect that the moving around every 2 years meme is pretty influenced by Silicon Valley. It certainly isn't the norm I've seen.
I think people who are "brilliant" at interviewing will job hop frequently, while people who are "brilliant" at actual job performance will tend to be promoted and incentivized to stay internally.
This just isn't true. Find me any data that any level of performance results in better compensation than changing jobs every 2-4 years and I'd be willing to at least consider the idea, but it just doesn't exist.
It's not sufficient to make 1% more money. If it's not a 20%+ increase, you might as well bide your time. This means the first, lower paying job, is sticky. Otherwise you could leave instantly at every better offer without penalty to long term prospects.
And even for those brilliant people who can get it on the first try, you're taking about 2 months minimum to go through the interview process. If you're someone who doesn't like taking risks, that's a tall order until you've become convinced there is no path to promotion within your company.
> There is a very real salary range between "low enough that I'll think about applying for other jobs" and "so low I'll actually start applying for jobs".
True, the other side is if you're trying to hire and pay the same industry salary, people aren't going to move because what's the point? If you're trying to hire a lot of people you have to pay more than average just to get people interested.
Seeking that band sounds to me like an optimization trap as it wrongfully assumes the cost of churn from gambling it is less than the cost of turnover and growing salaries. It sounds a bit like deciding where we really need to cut costs are deep sea oil rig gaskets.
Software engineers especially can take on side projects to supplement their income. Maybe a bit less focus on the day job to reflect the below market pay. Keeps things in balance.
The vast majority of companies ask for a 'we own everything you breathe' agreement as a prerequisite for employment. The vast majority of employed software engineers don't have the luxury to work on side projects, unless they relinquish the IP to their employer for no additional compenstation, which renders monetization moot.
I worked with someone who was working 2 full time 9-5 jobs simultaneously for a few months before being found out. When the company did realize what was going on, they quietly parted ways with him without any punishment, because they didn't want it to get around that he got away with it for so long. I think if you're not at a big organization with a proper legal department, that's the most likely outcome.
Even got promoted to management in one of the two jobs! They would sometimes have to take calls from both jobs with one earbud in each ear connected to each laptop.
The industry the companies were in are not known for employing the best and brightest programmers... so I can understand being able to output enough to keep everyone happy. But it still boggles my mind that they never slipped up and got caught.
Most countries I worked in, anything done after hours, not using company resources, and not in the competition space of the employer is simply allowed. No company would be able to enforce that.
In fact (I have had that happen) if the contract tries to over reach, in particular regarding IP, then that clause could just be made void in court.
I don't know. How much time do people put into side projects that make money? 15-20 hours/week?
I work 40 hours/week at a Big-N, but if I put another 15-20 hours per week into my current job I'd get promoted extremely quickly, and get a bigger raise from that promotion than any "side project" I could come up with.
I don't want to do any of that, and moving companies is still probably the easiest way to get a large raise, but my point stands.
At all companies I've been at or have intimately known about, there have been clear guidelines for promotions and examples to look at. These are medium to large companies. FAANG and non-FAANG.
I'm sure you're right in a lot of cases, but I feel like at most software companies I'm not too far off.
From an ethical point of view, maybe. From a rational point of view, maybe not.
Jobs are "sticky" — it's a pain to apply for jobs, arrange interviews, deal with the possibility of getting rejected. And if you do get an offer and accept you will be leaving colleagues that may be friends, risk your position being less stimulating, have to move house and/or deal with a new commute.
There is a very real salary range between "low enough that I'll think about applying for other jobs" and "so low I'll actually start applying for jobs". Employers are aware of this and are paying salaries accordingly. It sucks for everyone in that salary band but — ethics and long-term viability aside — it's still the rational economic choice for employers. Every now and again someone will quit and get their deserved 40% increase, but many will delay leaving for years, or simply put up with it indefinitely, saving employers tons of money.
Of course this may not be the case forever. It seems like recently the cohort of people who find interviewing and changing jobs more tolerable (the so-called "job-hoppers") is increasing in size. If you happen to be a part of this cohort, then congratulations, you're winning the job-market pain-of-change-vs-salary arbitrage game and will enjoy above-average year-on-year salary increases for at least the near future.