Dictating salary reqs up front does two things:
1. Reduces time wasted on folks or orgs that don't want to pay your rate.
2. Immediately moves discussion away from a dance around salary to salary _negotiation_. Any good HR org that can't meet your salary reqs and still wants you will try to compensate in other ways (stocks, RSUs, benefits, bonuses, etc).
At some terrible companies even, it's harder to hire someone outside of their defined salary band. Even if you don't care about being nice or paying fairly, your life is just made easier by paying them the bottom of the range rather than dealing with HR about salary bands.
(I also agree with many of the parents: you don't really want to be the first mover — it isn't advantageous — but recruiters are very rarely going to give you that, and will force your hand in naming a number first.)
Queue up yourself asking for 150 coz you make 100 right now and you did your research. The recruiter might just begrudgingly give you the 150 they were prepared to go to anyway coz you seem to know your stuff. Of maybe he's gonna haggle you down to 140. Big deal. But you set the tone of the conversation. This is not gonna work if you don't know your worth but either way either you are gonna lowball yourself and they will just accept or they are gonna lowball it.
Episode 10 here but the rest are awesome too:
I would imagine (perhaps unreasonably) that a relatively seasoned person on the job market would have a reasonable understanding of their market value within a few percentage points - so the recruiter might be willing to pay up to $105/hour, while you low balled it at $100/hour.
Just to have concrete numbers to work with, suppose initial offers exactly correspond to final pay and that you're currently making toward the lower end of that range (e.g. because raises haven't kept up with your increased skill and increased market demand).
If you're currently making $X/yr (total comp), you think you _might_ be worth $X+$50k to somebody, and you spit out $X+$50k as your target range, a prospective employer could generously offer $X+$60k and you'd be happy as a clam and none the wiser while missing out on a new Tesla per year in extra pay.
There's a separate argument that if you'd be happy with $X+$60k then you shouldn't try to squeeze your employer for more, but I'll let somebody else make it if they'd like. Regardless, that big of a spread really does exist, and I imagine it grows further into one's career.
Specially in small/medium companies, a lot of the times businesses don’t know what they are looking for.
I know of a place that was looking for a “hardware engineer with 10y experience”. The average salary for this kind of job posting is not that high, they offered way more, but that’s because the actual position was “we’re looking for someone to become COO, and we need him to understand hardware development because the rest of the team doesn’t”.
To my layman understanding, the larger the difference between expectations, the lower the value in this tactic of not revealing your expectations.
Negotiation is an adversarial game played between humans. Therefore there can't be any simple advice except to get better at the things that make you more competitive at negotiation itself. Instead of subscribing to basic rules like, "never give the first number!", put yourself in a position of being well networked, well informed and experienced. Then you can decide how to negotiate well on the fly according to the context. You will probably earn vastly more by focusing on those areas than you will by diligently following simple rules of thumb.
For example: I received an offer from Stripe and got them to add a $100k sign on bonus to it even though I previously gave the first number. Which party gives the first number doesn't matter.
To me that feels more complicated in Silicon Valley with equity. Once a minimum salary is met, I'll care about total compensation, not just the base salary. I'd be nervous that mentioning a low salary could lower an offer, and I don't a have reasonable number for salary I would accept if the company doesn't give much equity.
From my experience recruiters prefer to be told the salary ranges you are looking for to no waste their time neither yours.