I should also add that you don’t just want to see the most expensive candidates that sit right at the top of your budget.
Why? Because someone more junior can he moulded to exactly what you want and will also stick around for longer as they have more to learn and the ceiling to progress is very far away from them which means paying them their due if they put in the effort is easy.
The top tier candidates at the very edge of your budgets are the quickest to move on to the next thing as they don’t have that much to learn and the ceiling is quite close before they move up or out usually.
It very much depends on your team dynamic and the exactly skills required and brought to the table as to where someone will slot in salary wise and seniority wise.
Doesn’t help I have someone with 20+ years experience who wants to earn a fortune but they only have 1-2 skills of the 4 I need.
How exactly does giving a range stop a junior from applying?
You should know if someone at the top of the band is going to move on soon / doesn't have room for growth, odd argument, and doesn't make sense saying salary band stops that.
You have a salary band for position that you make public, another that is internal for hiring manager can make an offer alone cap, and another chat with the hiring manager about other open positions and that if under this, can still get approval to accept.
Job I am in now, I met all the skills required, asked for more than the band, was accepted the next day after hiring manager brought to higher ups. I have potential for growth (both personal and position), and match the culture of the company, I count as senior, and have delivered enough value to offset my cost easily.
I would not have applied without a salary band (besides that it is against the law here). I do not know of a single decent dev that will go to an interview unless they know the general range of what is being offered in an interview, not worth wasting one's time for an offer that could be under what is currently being earned. Giving the salary band means both sides waste less time.
For any non-highly skilled job, not giving a salary band also doesn't make sense; call center makes x-y an hour, it's not really a growth opportunity job/done outside of income.
Any job has to first meet the requirement of enough income, then one starts checking off the rest, like is it interesting, does the work culture fit, etc., and you keep searching till that matches.
This is besides that e.g. in junior side, if give salary band, one can know where about you fit as a junior, and that upping skills increases salary. Or are you scared that people will assume you must give an increase correlating to salary band if skill/productivity is increased?
And in dev, I expect every company to lose money on juniors, senior time is lost, but it will be a net positive as those are your intermediate/senior devs later that know the business inside and out.
That you think someone who is specialized is useless is weird, shows either small company or one that cannot properly specialize (ends up agreeing to all client needs etc. and maintenance kills it over time, since devs will have to work overtime to keep it going, so you just cycle through people). And I mean specialize, not someone who refuses all non-dev that is e.g. ruby tasks (as in doesn't look at e.g. pipeline issue here and there, or looks and comments on tickets they're working on).