How, exactly, are you supposed to know their "zone of comfort" if they don't even post a salary range?
But the easy answer is $200k/year is what most people should be aiming to make professionally (even if they don't currently). And so every job switch you make should be a jump in salary. If you're making $120k, there should be nothing wrong with saying you want $160k.
The big issue is just getting yourself psyched up to utter what you want to a recruiter. If you've been paid around $80k for five years with 3% annual raises, it's hard to say to a recruiter, "I want $140k". People tend to internalize that their worth is what that paycheck is, not what the market is willing to pay them. In that sense, it's just a leap of faith you need to make on your part.
However, I only agree with the last of your bullet points, as that's basically what I'm suggesting, just expressed in a more straight-talking manner.
Regarding the other points. The first bullet-point is not something I'd do. I mean, for the right position at the right place I might be willing to go for a salary reduction as well. The second bullet point is not really workable, as another commenter says, you can't know their comfort zone. Moreover, they will note it down that this candidate wants more than we are willing to offer, and therefore might soon start to look for other opportunities. Unless you go for a hyperbole, in which case this is pointless, and may be even worse than just not giving an amount. Depending on delivery.
So, basically, there is nothing to gain if you are the first one to state an amount.
Edited to add:
I think the issue is that if you're trying to "win" the one interview you're in currently, then yeah, odds are you're going to lose typically with this strategy. If you're desperate you're gonna take a lower offer.
But if you see the world as bunch of potential interviews, and start interviewing with a bunch of companies you'll figure out pretty quick what the salary range is gonna be, and you'll know that a startup is gonna pay less on average, and a fortune 500 company has more room to absorb labor costs.
You don't try to win every interview. You're winning the game of interviewing. Because if you try to win one particular interview, you might only be able to get an offer below your market worth, and waste a lot of time doing it just to get that offer. Instead you want to go after the jobs that are going to pay what you're worth.
It's not really that hard to figure out your own market worth.
Can you? I'm currently looking for a mid-senior level software job and don't feel confident at all I know salary ranges at any of these companies, except the huge ones on levels.fyi and Blind.
Yeah, you might work as a high paid prostitute at a shitty company for a while, but when you leave you'll leave richer than being paid half at a friendly mom and pop shop. But generally I've found the higher paying jobs are usually better anyway.
Today in 2021, $175k-ish seems like a fair number for a mid-senior software job. If you're really good, you should consider $200-220k or higher.
This doesn't work if you have several years of experience and senior responsibilities, but are paid significantly less than entry level employees.
It's a catch-22, because getting paid more means being severely demoted.
And this has nothing to do with small companies, there are lots more people working as low paid prostitutes at big, shitty, but obscure companies.
In fact it's your job to get the salary you want, not your company's. The best way to do that is to negotiate up front or leave for a job that will.
Sorry I wasn't clear enough. You shouldn't assume random strangers are in fact passive whiners. My comment was based on my experience demanding an decent salary and then leaving for an even larger raise. I've changed jobs four times since getting my degree.
The problem is your BATNA. You can't get a better deal than what someone thinks yours is. Flat out lying or even misleading someone is bound to come back to bite you in the job market, more than say, buying a car.
There's lots of approaches to this, but I usually go along these lines at the very start of negotiations:
* "I'm well respected and well-paid at my current job. I'd need to see a good salary bump though before I accepted any offer. Moving jobs during a pandemic is, well, risky..."
Honest and straightforward. You give them something to work with, and also what you're expecting.
* "I would like to see $X" where $X is just outside their zone of comfort.
Ideally they should be feeling pain or discomfort because your number is 10% outside their salary window. Usually you can make an educated guess about where $X is, and if you were way outside, you probably didn't want to work for that company anyway.
* "I don't want to waste anyone's time here. What's the range you're looking for?"
A lot of people in HR will give up the range if they're having trouble filling the position -- which many people are these days. And if the top is acceptable, be honest about it. If it's not, be honest about it with the expectation the call will end after that.
If you detect a dodge or resistance (1) to give any detail whatsoever, it's easy just to end the conversation at that point. There's no reason to get angry, frustrated, or to argue your case, you're just turning down a number at that point in time -- or in some cases a lack of a number.
(1) I would expect an investment bank (e.g.) to not give up their total compensation package. But they should still be able to say whether it's acceptable or not.