Hi, Mark. If you end up outside of an originally stated range (for the same, originally posted job/experience level), the company was misleading you or wasn't being honest with themselves. But the reality is that in the vast majority of cases, budgets are formed for hires in advance of posting them, having gone through an approval process, and so companies know what they expect to pay. Many companies have well-defined ranges/bands for particular salary grades that inform how much they "can" pay for a budgeted hire.
So they can say that range. In the "worst" case, they know their max, and they can say "up to NNN, depending on experience." Depending on the maturity of the company, that upper bound may be negotiable for the "right" person, but on average, it's not. And if a company isn't able to do this, I question the stability of the business itself. This is pretty basic accounting/fiduciary responsibility.
The truth is that it is and has been a candidates' market for a long time, with no end in sight. This means companies need to be more willing to waste time than candidates. Not sharing these real numbers up front is part of what is broken with current practices.
yeah, most of companies wouldn't give out their number yet many of them ask candidate's expected salary.
I think candidates should never ever tell a company their expected salary. Let them tell first.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.