Do not tell your expected salary. Let a company make an offer first
twitter.com
twitter.com
I know I asked for more than they budgeted for my position cause they were a bit taken aback with my request. However, I justified it with data points and informed them of perks I had at my previous gig that they did not have. They came back with a slightly lower offer that my original request and I accepted in a heartbeat. My pay increase from my previous job to this one was a HUGE jump and I was happy.
If you make it to the negotiation phase, dont be afraid to ask for a lot. They clearly want you at this point. If they had a budget for the position they wanted to stay in, they should have come out first and said but IMO, gave me the upper hand to set the table stakes.
Im not looking for a company to come out with a salary so I know if they "value" me after me 5-6 interviews. I know what im worth and I prefer to drive to what I am happy with.
Also, don't be afraid to walk away from a position if they're under cutting you. My current role did that; I told them no. They called back a day later and brought me in at a higher position with higher pay (but oddly enough no real change in responsibilities)
Do the day of answering the same questions over and over, code your red-black tree balancing exercise, ace the interview.
After all that, get the offer and find out it's 25% less than you're making now.
Good luck.
Advice that is the equivalent to "wait and see" can be thought of as, not only wrong, but actively working against the candidate.
So you do all that upfront legwork, jump through a bunch fo hoops and only for offer is well below expectations. If you knew this number at the start you would have politely declined but now you find yourself in a sunk cost conundrum and say yes when you really should be saying no.
Technically, considering both a company and a candidate are in the same ballpark as to salary range, salary expectation is the only leverage a candidate has left for further negotiations. There is no reason to give away every single leverage. Everything else a candidate will provide during the interview process. Expected salary is the only thing left unknown to a recruiter.
There's certainly the risk of lowballing yourself if you don't understand your market worth but there's also the opportunity to anchor the starting point of the negotiation.
Learning the strategies for successful negotiations is a skill a recommend everyone to look into. Skills in this area can have a very high payoff in your professional and personal life.
Lets say you've done your research and you know the company pays $160k-$200k for this position and you've done interviews and they want to hire you.
They want a number from you of expectations.
Sure, saying $160k is dumb and you've lost out. Refusing to say anything might get you $180k.
But if you are confident in your knowledge of the ranges putting out $240k as your starting number may be a good strategy. Sure if you got it wrong they might have offered you more but unlikely. But more likely the recruiter is now in the position to try and negotiate you down to their salary range vs you having to negotiate them up.
All of this is somewhat situation dependent but my point is that absolutist advice on never be the first to name a number is not always correct.