While you can certainly try to negotiate increases in compensation outside of this, I've never seen it happen successfully.
While you can certainly try to negotiate increases in compensation outside of this, I've never seen it happen successfully.
I've done it at least half a dozen times in my career. I was told "the maximum we can give is a $7k raise since there is a fixed pool for raises in the department."
I said if I quit and you have to replace me, not only will you have to hire 2 devs to replace me (as I pulled dev and sysops duty) and pay them market salaries, you will have to pay a recruiter 20-30%. They still wouldn't budge, so I got a counteroffer for $30k more than I was making, plus some other perks. They not only matched, they also matched for other devs on the team.
Do not fall for that fixed budget BS...the pie can always get bigger.
Getting a counteroffer is not the same as what the OP is suggesting. Using another job offer as a leverage for a raise is not recommended by most experts. Just google "Should i accept a counteroffer?". Mainly because you create bad blood at your current employer and you have to be ready to follow through on your threat. Also, that employer you just pushed right to the edge of hiring you is going to be mad you were just using them. There are entire top 10 lists about why it is a bad idea!
I have pleaded the entire "it would cost you thousands to train a new guy, and you will have to pay him to start what i'm asking for right now!" line to bosses before. They are unmoved by financial arguments. It's as if management just decided to take a hard line against "persuasive" raises across the board, nevermind the damage it costs to lose talent.
The notion that accepting counteroffers is always hurtful to your career is contested to say the least: See this [1] HN discussion from about a month ago.
Nothing personal, just business is the attitude you want when handling something as trivial as a salary negotiation.
If you can bring in more than you make they will pay - management doesn't care about another 10k. They know what the replacement cost is.
It worked out well for all parties, depending on how you look at it.
Management was a little out of touch with market rate salaries, since they weren't tech guys (once the CEO referred to engineering as "black magic" since he didn't understand it). So while they were shocked at an offer I was able to get in a few days, they understood that engineers are in an enviable position in the job market.
This was 2013 and I was making $110k in Los Angeles, and they were offering $117k. The counteroffer was for $130k plus perks valued at about $10k (401k plus match, extra week of vacation, etc). So they matched at $140k.
I stayed there and after a year I got a promotion to director of engineering and a raise to $155k + up to $25k bonus. A few months later I renegotiated to have the bonus removed and the base salary increased to $175k.
During the time after I pulled my stunt I expanded on a pet project using sentiment analysis and that became the core of a new product that is now 40% of their revenue.
In December 2015 I left to work as a remote freelancer, which would have happened eventually regardless.
"During the time after I pulled my stunt I expanded on a pet project using sentiment analysis and that became the core of a new product that is now 40% of their revenue."
This is the most important number you give! Very important to understand the need to point to concrete revenue generated (or costs cut) when negotiating a raise. Otherwise, management will probably just call your bluff.
You don't need some enormous revenue or productivity win on the board to ask for a raise (although it helps). It just needs to be less hassle for them to pay you a raise than to replace you. In most cases it's really that simple.
What was your negotiating strategy here? Did you just say "I'm going to make the bonus anyway, please let's just write it in now", or was it more "I might leave if we can't work this out"?
The new developer needs to familiarise himself with everything and what happens if he's actually worse than you?
Of course no sane boss will ever tell you this. Just nag them and don't accept "no" for an answer.
Anecdote: We had a guy show up, he claimed that we had to do a rewrite. We spent 2 years catching up to the base product. Complete waste of time, had to fire him 1 year into the rewrite. Gained no value from it. He was simply too arrogant, vain, and/or unskilled to bother to read other people's code.
There are two problems there, from what I can ascertain:
1. The guy wanting to rewrite your product.
2. Management that allowed him to do so without proper motivation and/or cost-benefit analysis.
They decided to rewrite the code from scratch."
From the employer point of view, keeping someone aboard who is willing to jump on every opportunity for leverage is also a risk. You might want to have the fiercest of negotiators in sales, but the same thing is not a trait you want to see in developers. Bad for their earnings, but that's how it is. The most capable developer in the world would not be a someone you want as an employee if you suspect that he could use his powers for extortion tactics. (It's bad enough already that the worst developers become "irreplaceable" without even trying)