Can't upvote that enough! I've been doing this for years. I don't have time to waste and if they won't talk the numbers there is no point in having the conversation. Statements like "we are competitive" or my other favorite "can you send us proof of your current salary" are hilarious. The proof is my favorite. What is the point of that? If I won't talk to you for less than x dollars there is no value in proving what I currently make.
If a company is willing to pay $100K and you throw out a number, say $80K for example, then how much are you out?
If your first thought is $20K, then you'd probably be wrong. You would be correct if you stayed only one year with the company. However, every year you're with the company you're out another $20K not to mention any salary bumps or profit share that is a percentage of your salary, etc... After 5 years, you're out $100K.
You never give out your number.
When you are asked, "what's it going to take", you should always answer with something like: you're most competitive offer. I don't feel this is rude at all.
I usually recap how key points from the interview. Come back with how you believe you would add value to X and would love to work on Y and that your best competitive offer would get the ball rolling.
Your job is to find out the maximum a prospective employer is willing to pay. Likewise, a prospective employer is attempting to get the best bang for their buck.
Never show your hand. I've interviewed probably 15-20 times in my career and have never strayed from this course. Now I'm a business owner. I've interviewed 100s of people over the years and it never ceases to amaze me how many candidates flat out give me a number when I ask.
Head hunters are pain in the ass to deal with. They insist on knowing where you're at because they don't want you wasting their time. Well, tough shit! Head hunters need to figure out what the going rates are for whatever it is they are seeking candidates for. A good head hunter will let you negotiate for yourself.
The thing I've never understood about this approach is the reason it's suggested not to give your number first is, presumably, it can anchor your salary negotiations lower than what the company was originally prepared to offer.
I've switched jobs a few times for no other reason than to get a huge salary jump, and I've always given my salary requirements to a recruiter or during the interview process based on the high, high end of industry salary surveys in my field based on my years of experience. Sometimes the conversation will stop then and there, but a few times they've bitten and I've gotten the huge raise. Not to be smug or anything, but I'm fairly sure I'm making quite a bit more than most of the co-workers I've had in similar roles, even if they have more experience than me.
From my perspective, I'm anchoring the salary negotiations on the high end, as opposed to letting the recruiter spit out a number first and anchor the negotiation on the low end. What would I gain from letting them make an offer first?
Most people can look at payscale or glassdoor though. If I'm putting out a Junior req for a front end position for a CRUD product, then I know pretty well what I'm looking for, and the salary range is pretty set. When someone comes in the game they're playing is "let me convince you why I'm worth the upper end of the range (or even a bit more)", and my game is "let me get you down to the lower end of the range by convincing you how awesome we are, etc." The underlying assumption is that our mental ranges overlap somewhat. If someone comes in and their range doesn't overlap with mine, even if they are supremely talented and worth it, it still won't work out, because I'm not looking for a Senior person, remember? People, most often, hire for best fit not let's get the best person possible. If someone comes in and their expectations are grossly out of sync with my own, it's better to just have it out. If I'm out of sync with reality then the market will correct me or I'll perish, either way it's no skin off the back of the candidates who said, "way too low, see ya later!"
If you expect $X and only 5% of employers out there are willing to pay >=$X, it might very well be worth your time to state $X at the start to avoiding wasting countless hours in an interviewing process.
Recruiters already have a massive advantage: they have much better knowledge of the market (many more datapoints), why give them for free an additional advantage they can only use against you?
As a headhunter, I wholeheartedly agree that you should never give out a number in negotiations. By doing so, you either sell yourself short or price yourself out. These days, especially, technical talent has the leverage and should use it to their advantage. When the market cycle shifts and employers have more strong applicants than necessary, it will be different. That's why, like you said, the $20K difference today will pay huge dividends over the long-term.
I disagree on "going rates." That lumps candidates into an average, which is unfair to them. Salary negotiations are complex and presumptions on the part of a headhunter will backfire.
Above all, I want transparency upfront. My ideal situation is when I know that the candidate's and employer's approximate compensation ranges are aligned. Granted, it's rare, but there's nothing worse than a positive interview process followed by the surprise reveal that both parties were way off in their expectations. The time wasted for the headhunter is negligible compared to that of both the employer and candidate. This is why I want to know the rough ranges at the onset. However, I agree that headhunters are trained to place undue pressure on candidates for specific numbers and it's a poor practice.
Taking on a fuck you pay me attitude is the best thing that ever happened to my life.
I took a decent cut in pay just to be able to work for a company I actually really like. And while I can't afford to buy a new computer nearly as often I do get to work with really fun people and on projects that I really care about.