This might work fine for contractors, but it's nonsense for permanent employees.
5 years covers a range from my first graduate job to my current reasonably good mid-level salary. If I gave that range to a recruiter I'd end up at a bunch of interviews with companies all trying to offer me close to a graduate salary.
The context here is that a recruiter calls you and says, "Y Combinator is looking for an Arc programmer to work on new versions of the language as well as maintain the HN site. Please give me your resumé and your current salary."
You say, "Here's my resumé." The recruiter demands the salary, saying that Paul won't interview anyone without it. My first advice is that you can just say no. The sun will still shine, you'll find work elsewhere that you enjoy.
But if you really, really want to interview for the Arc job, the thesis of this post is that giving the range is better than giving the salary at your current job.
If the recruiter then tries to jam you into a job paying Ramen noodles because five years ago that's what you were making working for a startup... I agree that's annoying. Only you can decide whether that downside is unbearable.
Like you say though, with the range idea I suppose you have to balance the likelihood of getting low offers. Personally, giving a range like this just gives them a range to make their offers in, which will result in a lower offer than my current salary every time (as my salary has always increased, so the current is always the peak).
If I'm going to give a range, I'd rather give a range from current+x% - current+y%
Of course, that suffers from the same problem as most other ideas, which is they may have been prepared to offer far more, but reduce because they know you'll accept current+x%.
b/c) My point is that if you give a range, companies will tend to offer towards the lower end of that range. It doesn't matter how many years experience you have or what you change the range dates to. If you are going to give a range, you are essentially giving a low end that you will accept. Many companies will take advantage of that.
It is not my experience that given a range and a time period that most companies will offer towards the low end. When an employer makes you an offer, they want you to accept. They go to a lot of work to approve that piece of paper, they want to save money but they don't want to have you decline. They ESPECIALLY don't want to give you a low offer and lose you to another employer who outbids them.
If you say that in the past five years your compensation has ranged from $50,000 to $150,000, most people will assume that it was $50,000 five years ago and $150,000 today.
If they offer you $55,000 or even $75,000, they are essentially asking you to move backwards in life. They know full well that most people do not wish to move backwards, so they are wasting your time and theirs.
Worse, if they can afford $125,000 or $150,000 and they offer you $100,000, they risk losing you to OtherCo, who are prepared to pay $125,000. This is not good business.
But the question here isn't whether giving"X" is harmful, it's how does it help? Well, many times they think their budget is $50,000. if you tell them $150,000, you don't even get a call.
But what if the hiring manager actually meets you and looks at your Github and takes you to lunch with the team, and loves you? Then he can take your resumé "upstairs" to the board of directors or wherever and plead for more money.
If you give X and Y, you may get to meet that manager. If you only give Y, you may not.
It's entirely up to you. Given my experience, I believe that saying "no" is the best option if you can still get the interview, but giving X and Y is optimal if (a) you can't get the interview without it, and (b) you actually want to work for that employer if they pony up the lettuce you want.
If your experience differs, I can appreciate choosing a different strategy. That's all these things are, strategies for playing a game with incomplete information.
I can see your point here. Perhaps, giving the historical range you are more likely to get the first foot in the door than if you just give a value, or a desired range. So if that first foot is important, then yeah, maybe it's worth a try.
5 years covers a range from my first graduate job to my current reasonably good mid-level salary. If I gave that range to a recruiter I'd end up at a bunch of interviews with companies all trying to offer me close to a graduate salary.