It's not uncommon for an engineer to get a boost of 10-25% when changing companies, and other than prepping for the grueling interview process, there really isn't a downside to feeling out what's out there.
Especially when your compensation isn't keeping up with the median due to lackluster annual increases.
Through working my ass off, and pretty great luck, (working on lots of side projects didn’t hurt either), I recently did some looking just to feel the market out and I’m making like $20k more than I “should” be.
Part of this is because my company is based out of Bethesda, MD and I live in Denver, CO - cost of living differences. My company pays really well which allows them to compete with Silicon Valley and everywhere else for the best engineers.
No complaints here. I’m making double what I thought I would be making at this point in my career.
Anyway, yes, anecdotally, it caps out, but I also like to think that if I really hustled, I could keep raising it. But I’m pretty happy where I’m at and would rather spend my free time doing stuff other than coding and hustling right now.
My first company switch literally doubled my total comp. My second one was a double digit increase as well. I expect any future jumps to be smaller. (Though, who knows where the market will be then, as I'm likely years away from any move.)
My observation is that the higher you are in the pay bracket, the easier you seem to be abel to get a new job as your skills/experience are also in high demand else where.
I've been in the market for almost a year now and have had offers, but nothing higher than what I'm currently making. So I stay put.
Where is this magic expectation that job offers instantly come with a salary bump? That may have been true before, but at full employment the indicators have all gone weird.
Some companies can get from interview to offer in a week or two, some take months. Everyone is a black box in the meantime. Getting 2 to line up at the same time is extremely hard, if not impossible unless you stretch one of them out way too long or simply lie about the situation.