This is why we have different types of skill levels. If you can't hire the person as a medior but you have a junior position open, surely you can tell them with the associated benefits. If its a problem, surely you can justify given the requirements.
Hiding information only to waste people's time upfront isn't helpful when society expects job searching to a part-time job on the side of another job. Maybe this is too aggressive a measure, but getting "competitive" as an answer sure isn't helpful either.
>And stronger candidates who are perfect fits and world-class performers might be lost for a lot of companies because the company has the excuse of a pre-defined salary range.
I doubt you're going to pass a great candidate because they exceed your mentioned range when internal budget can still be stretched. At worst you could argue the high earners aren't going to pick your job because your range is too low, which can be solved by simply adjusting your range. If budget can't be stretched, odds are you weren't going to hire them anyway.
There are potential solutions. There are so many job levels at big companies like Microsoft. A candidate who is weaker could interview for software engineer 3 (made up title for example) and be offered a software engineer 2 position with the understanding that the company sees potential, but wants to start the person at what they see as an appropriate level.
The high performing candidate may ignore a job listing for a position which doesn't have a high enough top end to the range, but perhaps if they are being recruited rather than approaching the company, the recruiter could recognize the value of the candidate and find a higher role which would have a more competitive salary range.
Some companies can only hire specific advertised roles, but in many cases they advertise for one role/level and end up hiring candidates for others. Big companies could also have open reqs for more levels than they think they need, and then slot the candidates in to the level which makes sense.
Another approach they could take is to make the published salary ranges more broad than the are in practice. Hotels in many places have to publish the room rate, but typically this is an insanely high number which only happens when there's a special event or something.
Because that is pretty much what happens now, except now the applicant doesn't know the range.
The only thing that can happen with this is that people who think they're worth outside the range won't apply. And this isn't that much of a problem.
If the employer finds they aren't getting the quality of applicant they desire, they have an option: increase or change the range.
There is a lot of information asymmetry in hiring and most of it benefits employers.
At some places I've worked, level was determined after the decision to hire. A position would be open to levels I, II, & III, and a panel of people would determine which level they felt the candidate would come it at.
For instance, whereas before when salaries weren't explicit, a weaker candidate with some good qualities who was on the bubble for consideration might be able to get a job if the salary was more favorable than the company was initially planning. With explicit salary ranges, if the candidate isn't deemed good enough to warrant hitting that predefined range, they might be unemployable in that field and not gain the experience needed to progress. In the past, a weaker candidate might have been able to go for a lesser salary range, get the job and gain more experience, and maybe make it up down the line. Maybe that's no longer a path forward for a lot of people on the bubble.
And stronger candidates who are perfect fits and world-class performers might be lost for a lot of companies because the company has the excuse of a pre-defined salary range. So maybe firms miss out on some genius, perfect fits, because the bean counters can't be bothered to assess everybody's merits individually.