For a big enough company, you can collect a few data points via Glassdoor[0], levels.fyi, etc to make sure that they pay in the range you're looking for before you even begin the interview process. For smaller companies, you're absolutely right, although I personally tend to give a very broad range[0] at the beginning of the process, and only narrow that down at the offer stage. That's worked well for me in the past.
The nice thing about the explosion of remote work due to COVID is that engineering salaries are beginning to normalize across the US, and there is now a lot more salary data available online, so it's easier than ever to see what you're "worth" on the market on average. This at least gives you an anchor when having these conversations, so you're not going in blind, and gives you a lot more leverage if they low-ball you.
[0]: Yes, I'm aware of the drawbacks of self-reported data, but it's still broadly useful in aggregate.
[1]: I'm making up numbers, but something like $120k - $200k, with the lower number being the minimum you'd realistically take. Usually recruiters are honest up front if they can't even afford your absolute minimum, but it still leaves you with a lot of negotiation room once the offer comes in.
"I'm making up numbers, but something like $120k - $200k, with the lower number being the minimum you'd realistically take. Usually recruiters are honest up front if they can't even afford your absolute minimum, but it still leaves you with a lot of negotiation room once the offer comes in."
Why even give an upper limit? It's not like you'd refuse $400k if it was offered to you, would you?
Most companies will naturally start negotiation near the lower end of your range, even if they would have started way higher had you let them make the offer first. I really don't see an upside to this strategy.
Because if you just give one number, even if that's your absolute minimum, the entire salary conversation is going to be anchored around that one number, and you're going to have a harder time asking for 50+% more than that. If you give a broad range, it's easier to justify countering with something closer to the top of that range.
> It's not like you'd refuse $400k if it was offered to you, would you?
Of course not, but nobody has ever offered me that. :) In all seriousness, yes, you run the risk of your range coming in below what the company would be willing to pay, but in my experience (and those of friends and acquaintances), outside of FAANG, I have found that to be extremely rare if your range is wide enough. The companies that pay super well are generally big, and thus well-known to pay that much, and I wouldn't give them any salary numbers at all because I'll have a pretty good idea of what they'll pay me with a bit of research prior to interviewing.
Of course, anecdote != data, so YMMV and all that. This is just my experience interviewing at mostly smaller companies.
They uniformly underestimate big tech compensation by 50%+, because they've never clearly delineated salary from total compensation (and stock grants are a majority of comp for a lot of senior FAANG employees).
Luckily levels.fyi has fairly accurate data for those same companies.
> For a big enough company, you can collect a few data points via Glassdoor[0], levels.fyi, etc to make sure that they pay in the range you're looking for before you even begin the interview process.
Agreed though in practice that just moves the pre-interview conversation from a comp discussion to a leveling discussion.
The nice thing about the explosion of remote work due to COVID is that engineering salaries are beginning to normalize across the US, and there is now a lot more salary data available online, so it's easier than ever to see what you're "worth" on the market on average. This at least gives you an anchor when having these conversations, so you're not going in blind, and gives you a lot more leverage if they low-ball you.
[0]: Yes, I'm aware of the drawbacks of self-reported data, but it's still broadly useful in aggregate.
[1]: I'm making up numbers, but something like $120k - $200k, with the lower number being the minimum you'd realistically take. Usually recruiters are honest up front if they can't even afford your absolute minimum, but it still leaves you with a lot of negotiation room once the offer comes in.