Suppose that I, an average software developer with a satisfactory record and an average skill-set, employed for a few years in a company with a healthy development budget, approach my manager and ask for a raise. I state that I notice that job advertisements for my skill-set are offering 20% more than what I'm currently earning and that I'd like a 20% increase in my salary.

I don't state that I'm considering leaving for one of these jobs or that I'm dissatisfied with my current role.

Given my experience in the world and on this website I know that it's unlikely that my manager will agree to this. But why? To me it feels like a rational question based on rational logic. Surely my manager would know that I can leave, and that if I do they're going to have to pay the 20% extra to someone else, plus the recruitment fees and overheads while training the new employee.

So what is the rationale in denying a raise when the budget can allow for it and there's a risk that it'll cost more down the road?

  • @JoeStrazzere in a hypothetical 'all else being equal' scenario they would be finding a replacement in the same market I'm viewing open positions in, wouldn't they?
    – DaveDev
    Commented Mar 22, 2022 at 1:33
  • 2
    Why do you believe the small sampling of positions you are viewing are actually representative of all the positions for that type and level of role?
    – mxyzplk
    Commented Mar 22, 2022 at 2:35
  • 1
    You can leave. Sure. But out of 10 underpaid employees, how many of them do you think just leave? I know that rationally, everybody who's underpaid should leave, but the reality is more complicated than that. As human beings, we're emotional beings too. Some may be too anxious, or too insecure, to look for another job. Some want to accumulate a certain amount of experience/seniority before leaving. There could be a thousand and one reasons why not everyone leaves. Commented Mar 22, 2022 at 7:58
  • You're effectively asking why people who barter ask more or offer less than they're willing to ask/give. That's what bartering is.
    – Flater
    Commented Mar 23, 2022 at 12:12

3 Answers 3


There are many reasons that a manager can not or will not give you a raise in this situation. Keep in mind that a rational actor does what is best for them, not for you.

  1. In many organizations raises are not at the discretion of a line manager. This means they have to spend their political capital with their boss, and/or their boss, and/or HR, to make a raise happen. And you’re average in this scenario.
  2. Many organizations have process rules about raises. Salary bands, limits on how many can be in what percentile, certain times raises are given. When this is the case a raise may still be possible but requires expenditure of double or more the political capital and effort.
  3. Similarly, there may be an overall headcount budget, or percentage of revenue, or other metric that they “can not” exceed.
  4. If you get a raise, others may want a raise. So it’s not just your 20%, it could turn into much more. And then new hires may need to get paid more as well.
  5. Your data is weak. There’s some job postings advertising 20% more. Is that really the median? Will you, an average dev, get that job? There’s always some job posting that promises more, and, less frequently, real jobs you can get that pay more. If you are average, then it’s a good bet for them to pay you the median salary for that role in your area.
  6. Other things matter more than salary. In tech people are pretty well paid. Research shows that once you get past the “comfort line” (about 100k now IIRC) the call of additional money tends to influence work decisions less than other attributes of the work, the team, the opportunity… So the manager knows the impact of that 20% on keeping you or having you leave is not necessarily a determining factor. My experience is that if someone is looking for new jobs a raise does not, in general, keep them.

As a pretty rational tech manager, if an employee says to me “look, jobs that pay more!” I’ll assume they might be a flight risk, do a little market research, look at where they are compensated relative to their peers and level band, and then I will act on a raise if a) I think it’s likely to have a salutary effect in terms of really reducing their chance of leaving and b) if it doesn’t make more hassle for me than I get from their loss and hiring a new person. It is much, much more likely I will do this if you are above average, because if you are below average I may come out better by replacing you.

  • 1
    "Job postings" really have little bearing on the matter. The relevant postings are those which would actually attract and retain staff of equal caliber. The market is always awash with postings that don't reflect reality.
    – Steve
    Commented Mar 22, 2022 at 7:37
  • 1
    What I've seen a lot in my job-hunting is that they often advertise much higher than one might expect. Based on an impossibly specific skillset requirement. So when someone comes along that has 90% of what they want, the actual paycheck they offer is somewhat lower than the advert. That 20% extra might actually translate to the same paycheck as the employee is already on after that. Commented Mar 22, 2022 at 8:45
  • 2
    The comfort line is probably more location dependent. Pretty sure the comfort line for someone working in, for example, Omaha Nebraska is lower than someone working in New York City or San Francisco
    – cdkMoose
    Commented Mar 22, 2022 at 12:46
  • Departmental budgets play an overwhelming factor as well: annual raises coincide with annual budget increases — a 20% bump for one person also means a potential 1% bump to the annual budget or pulling budget from somewhere else. In my previous role I was given insight that the overall salary budget was only increased 3% and I was receiving only a 1% so peers could receive a 5% increase. Commented Mar 22, 2022 at 14:05

In my experience the most important factor in justifying why you should be compensated better is to show that what you are currently being paid is below your value to the company. It's also best to do this within the normal review/compensation cycle at your company. "Out-of-band" raises are difficult to arrange and may actually cost you more in the long run.

Things like "I need more money" or "the cost of living is up" don't really hold much weight at all. The company is not a "charity" but rather in the business of making a profit. Overpaying for human talent is not a good way to do that.

Put monetary values on your accomplishments over that last review period and focus on those areas where you went above and beyond. That's what provide that convincing evidence for those above your manager who are allocating the usually scarce merit increase money. If you have big impact you will be able to justify a bigger increase. If you have a low impact, you will not have a good case.

Your problem is stated in your question:

Suppose that I, an average software developer with a satisfactory record and an average skill-set...

Why would ANY company give you anything but an "average" increase if anything at all? You've defined yourself as AVERAGE! You're a commodity!

Change your outlook and the way you work and be exceptional instead of average. If you don't know how to do that, look around you at your coworkers. Who among them do you consider exceptional? Start there, watch what they do and how they do it. Ask for advice and even mentoring. Make it a point to practice being exceptional consistently. Be the first one to take on a new challenge. Develop a reputation for solving problems. Get known by manager other than your own. Be a "go to" person who is looked at as an expert in something important to the company across multiple teams.

Yes, that takes some time and a lot of work, perhaps even more than one review cycle, but it's worth it if you want to be more than "average". Average is easy, exceptional is hard.

I'll note that some people are satisfied to be average and that's fine for them. They are the ones who don't get the raise or the promotion and are often the first ones to go when staff reductions are needed. Nobody knows who they are and often don't really know what they bring to the table.

  • "Why would ANY company give an average developer anything but an "average" increase "? Well, when they're paying below average, it takes an above-average increase to raise the salary to a market average.
    – MSalters
    Commented Mar 28, 2022 at 11:24

...software developer...

Given my experience in the world and on this website I know that it's unlikely that my manager will agree to this. But why?

Having been in the business for 25 years, it defies all logic that you would allow someone to walk away for sometimes things that are trivial. You mention a 20% raise, but sometimes it is other issues like tech stack, work hours, or part time work from home. Even the raise may be trivial as, like you said, they will have to pay that out to the next candidate anyway. Recruiting fees probably don't come out of the managers budget so probably do not change the decision making process.

Even an average software engineer is something special as they have product and process knowledge. It cost real money and time to gain such knowledge. Even if you get an improvement with developer skill, with the new hire, the loss in product knowledge will take years to recuperate.

Given that most tech managers come from tech, I feel they objectify their people, treating them like cogs in the machine. Similarly if you had a function or method that demanded more CPU cycles to do the same job yesterday, you might just rewrite it for something new. On some level managers see you as an object or collection of procedures that work with others to produce a product.

Just as we get excited when a new release to our favorite game or we get a new computer, managers probably feel similarly about a new hire. This despite the work one must put in to make that "item" useful.

It is a real hole in the tech world and the most successful employers have to plug that hole. My current employer plugs this hole by offering extra vacation to those with longevity (every 5 years you earn more), a great 401K match, and the ability to move laterally and upwards.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .