All companies (and employees) know that the market is super hot now. It’s a part of a regular cycle.
When the market is hot, companies need to compete for talent, and this competition increases the compensation. However, an interesting phenomenon is that the compensation is increased more for people who change jobs (vs. those who stay at the same company).
It goes approximately like that. The company needs to hire a software engineer. They try to find a good one and make an offer that is competitive with other companies. As a result, they often have to go beyond what they pay to current employees. Companies pretty much don’t even have a choice. They either go beyond current employee compensation or won’t be able to hire anybody.
The problems come later when employees who were with a company for a longer time find out about new employee compensation. And they always do find out about it. (BTW. It’s funny how this little secret goes through a company like a wildfire).
Some companies are a little bit better at adjusting compensation for longtimers. However, even these companies usually take time (until the next cycle to make adjustments), which creates some internal tension.
A lot of companies are pretty bad with such adjustments. It’s much easier to carve out money for several people you fought to get vs. making adjustments for the whole company (or at least engineering). Additionally, it’s also a guessing game. Nobody knows what this particular employee who was with the company for three years will get if he gets several offers.
Also, as a rule of thumb, I saw that most companies are gradually falling behind the market. So, for example, a new hire was in the top 20% compensation when they were hired, and in a year, they slide down just a bit, maybe they will become in the top 30%, and in another year, they will get a median salary. These changes are gradual and almost impossible to see. However, they tend to accumulate over several years.
Some bigger companies with a lot of cash keep the salaries above the market so that even if a market raises, they have time to react instead of seeing rapid attrition.
It’s not trivial to do any summary for this. It’s like observing icebergs collide. Just a force of nature that is impossible to avert.
For employees, if you feel like you are gradually falling behind (below the market), talk to your managers. I would recommend being prepared with factual, current, and non-anecdotal information.
I would not recommend getting an offer just to show what you can get. It’s infrequent that counteroffers will make you happy (you will still be bitter that you were undervalued, your manager will be pretty sure that you will jump the ship soon).
For companies (managers), I would recommend keeping a careful eye on compensation for your best people. It may be ok if compensation drops a bit below the market rate for somebody easily replaceable. However, compensation falling behind for your best engineers will backfire big time.