My "How to Get a Raise" comment became one of the most popular I've ever made at Hacker News - obviously this topic is important to people. I'll repeat the short version here, and I'll also give more detailed analysis for people who like to know why things work. Here we go -
The question was, "Why do business analysts and project managers get higher salaries than programmers?"
My reply -
Because programmers don't ask for more money often enough.
Here's the three minute version of doing it:
1. Work hard on tangible stuff, document and claim credit for doing it, and notify people with what benefit the work provides. This sounds maybe stupidly obvious, but a lot of non-technical people don't understand the value in something. So, "Upgraded XYZ so our website loads faster, which is proven to make customers more likely to buy according to ZYX paper" - I know, what a waste of time, right? Wrong! It's going to make you a lot of money. Tell people what you did.
2. Before you go to ask for more money, prepare a BATNA (Best Alternative to Negotiated Agreement) - if they say no, what will you do? You need to know this. Having other offers is obviously good. Savings are good. You don't even have to mention your BATNA, but you need a Plan B. Most people don't make one of these, so if their first attempt doesn't go swimmingly, they're in trouble.
3. Go in and stress how much more you'd like to do going forwards. This is huge. Do not mention what you've done in the past, except in the context of how it proves how much more you can do going forwards. So go in and say, "Hi boss, as I mentioned in all my various weekly reports, I've been learning new stuff and kicking massive ass. [that was step one] Recently I've picked up some new skills, and I've been getting recruited for a bunch of projects [step 2], but I really like working here. Actually, I think I can deliver even more value here, if I take on new responsibilities. I'd like to train a successor to gradually take over my current role, while I do ABC-stimulating-enjoyable-task that will bring the business new money. I don't even want to be compensated much more for it - I'm going to be bringing in lots more value/assets/sales/cash/whatever, but a moderately small raise is enough for me because I like working here so much." Then lay out what you're asking for.
Business people learn how to do this. You're leaving lots of money on the table and not getting a chance to work on cooler stuff that you'd like to do if you don't do this.
1. Regularly update with the work you completed, and the benefit it provides.
2. Decide what you want, and what you'll do as Plan B if your current company won't give it to you.
3. Go stress that you'd be able to produce more value if you transition your role to a more highly paid and enjoyable one.
Be friendly and complimentary. Whenever possible, try not to ask for more money for the same role from the same company - people hate price increases, so it's better to expand your role to something that's also more enjoyable and produces more in their eyes. If you want a raise for doing the same exact work, it's probably good to start looking outside the current company as well for other offers.
The above is probably all you need to get started. But for people who like to know the details behind everything...
Before we continue - I've pretty much never been salaried, so my views here are from being taught by successful people and reading lots. I generally look to back up my friends and help them when I can, and I've helped around a half dozen people do this process with a 100% success rate. I'll email a couple people I know to ask if they're cool with me sharing the back-and-forth of revising letters they've written to their bosses. That'll be up in the next couple days if I can get permission.
Alright, analysis -
*If you don't ask for money periodically, you're likely to be underpaid. This isn't always true - some people try to build no-negotiation cultures that pay just based on seniority and skill. Steve Newcomb of Powerset (acquired by Microsoft for $100 million) described in his excellent hiring/staffing article "Cult Creation" that he doesn't negotiate salary - he has a set scale, so he doesn't have to engage in adversarial behavior with people coming onboard. Joel Spolsky follows a similar process.
But these are the exceptions to the rule - in most places, you'll receive more money if you ask for it. You'll receive more desirable assignments if you ask for them. And so on. If you absolutely can't and won't negotiate, you'd do well to look for a talented employer with a favorable set salary scale. If you're not at one, then you should ask for more money fairly often to get what you're worth. But, just asking without preparation isn't the way to go, hence the rest of the advice, such as...
*Work on tangible stuff, document and claim credit: Steve Friedl's "So you want to be a consultant...?" is one of the definitive essays on that consulting. He describes how it's crucial to give whoever is paying you "the warm fuzzy feeling." Part of that is letting them know what you're working on -
Anybody who's dealt with a lawyer has gotten a bill that said
Review documents ....... 40 hours
...and for most of us, the lack of visibility into work done is maddening.
Your customers should never think this about you: list your work in detail to say what you did, and — if necessary — who asked you to do it. Which of these two line item details would you rather see from somebody you're paying real money to?
Consultant #1 - Email system administration ... 3.25 hours.
Consultant #2 - Investigated email system problems per Martin; found that MS Exchange required a patch to deal with the latest Outlook IMAP queries; re-optimized all the message stores and tested with several email clients. ... 3.25 hours.
Your detail should ring a strong bell with the customer, with him nodding his head on every item while he reviews your invoice. This gets you paid sooner and gives the customer The Warm Fuzzy Feeling™.
This is true when you're salaried as well, because...
*Non-technical people frequently don't know the value of technical things. The more specialized the world gets, the less we understand roles outside of our own. There's a very, very good chance you understand your job much more than your boss, especially if he's never done your exact kind of work.
If you're doing work your boss doesn't understand, how does he know how well you're producing?
Answer: He doesn't. Unless you tell him. The person who describes what they're doing and why it matters regularly will seem much, much more productive than the person who doesn't.
*Benefits are necessary: It's key to translate the benefit of what you're working on into something your boss/employers value. Every savvy businessperson loves revenues and hates costs. If you're a cost, they want to reduce your work. If you're bringing in revenues, they want to expand your work.
It's really that simple. Okay, let's say your job is to sort schedules for rotations of personnel and machinery somewhere. You're a cost to the business and they'd prefer to reduce the people doing that role any way possible.
On the other hand, if you can translate your work to revenues, then they love you and want more of you.
So you're going to report in with what you're accomplishing. Think creatively about how you can stress the revenue and profit potential of what you're doing. Something like, "I made some tweaks to our rotations this week, because it's proven we produce more product and with lower defect rate by this new kind of rotation... this should save costs, lead to higher quality, and a better reputation for us... also it makes our particular plant look really good."
See that last one? That's big. Don't just stress benefits to the company - also show how you're making the people you work with look good. Everyone wants to look good. If you're making people look good, that bodes well for you.
Don't just mention the work by itself. "Did maintenance on a machine." Instead, describe the maintenance, and then add a benefit - "Did XYZ specific maintenance, which should lead to a longer life and higher output from the machine. That should save costs and increase production, as well as keeping operators safe and happy, and making us all look good."
*Recap on reports: It's up to you to figure out how you can tactfully put together reports that stress the good things going on. If you're a manager, you probably already know the general channels. If you're not, you should still be reporting in to your boss(es) with what you're accomplishing. As in Friedl's example above, give specific detail. But then go a step further - how can you describe the task you did in a way that benefits the end goal of the company and makes the people around you look good? If at all possible, tie it into more revenues somehow. You really want to be a profit center rather than a cost center. Profit centers get expanded. Cost centers get cut.
*BATNA: Have I stressed enough that you should read many books on negotiation? I feel like I write that in any article on business. But again - go read 3-4 books on negotiation. Really, it might be one of the best things to ever happen to you. BATNA - Best Alternative to Negotiated Agreement - will be thoroughly covered in one of them.
And still, most people who've read books on negotiation forget to do this. You need a fallback plan. You need to know what you're going to do if this doesn't work. BATNA - a backup plan - removes desperation. It also gives you a benchmark for how good an offer is. If you get offered an increase in pay of 30%, but a significant increase in hours and boring travel, is that worth taking? Well, that depends on your BATNA. You can't answer that question without knowing what your other options are. Figure out your backup plan and other options before entering into any negotiation.
*Stress how much you'd like to do going forwards. Some years back, I'd built a logistics/distribution system with a guy I knew and got along with. I'm going to keep the details vague here, but he was responsible for finance at the company (note: you're always responsible for finance in any business you own, always, no matter what). The hard initial work was done, we'd hit profitably and were growing at a good clip, and the business didn't take that much time to run besides time we put into expansion. The lady at the warehouse we had was super good and handled most of the hard stuff, and we paid well.
Long story made very short, when I was out in Dubai for a while and not paying close attention, my partner had some serious financial trouble hit and stole quite a bit of money from the company.
I was crushed. I called up my friend Judd Weiss (I've mentioned him before), and asked, "Dude, what the hell's going on here? How could he do this? I've been so good to him, we've been through hell together, and now this..."
And Judd explained to me that you've got to be really, really careful about what your value is going forwards. I said, "So, it's a 'what have you done for me lately' kind of world, huh?"
Judd says, "Sebby, no. It's not a 'what have you done for me lately' kind of world. It's a 'what are you going to do for me going forwards' kind of world."
That's not to say people are bad people... we humans just have a funny way of rationalizing our actions.
Generally speaking, don't expect loyalty or pay or compensation for things you did in the past. You get loyalty and pay and compensation for things you're going to do going forwards.
I know the idealists are gritting their teeth and cursing. I'm not saying this is good. I'm just saying it's the way things are.
There's exceptions. I pride myself on fanatic, near unreasonable amounts of loyalty to people who do right by me. But the more time passes, the more I realize that much of the world doesn't work like that.
When you go in to ask for more money, stress what you can do going forwards, not what you did in the past. Which brings us to our next point -
*Don't mention what you've done in the past - people hate that. It makes people feel guilty and makes you sound entitled. They might agree to what you're asking, but you've killed the warm fuzzy feeling.
Jack Welch, the CEO of General Electric, said something along the lines of, "You work two weeks, you get paid on Friday, and then we're even."
Take that attitude too - you get hired or contracted for a specific thing, you get your pay for that, and you're even. Even when someone really should "owe you one" for something you did, you'll still get much more goodwill by saying, "Nahh, you don't owe me anything, it's really a pleasure working together."
Stress what you're going to do going forwards, not what you did in the past. If you just did something monumental for the company or your boss and you want to ask for something, ask for it right away. So if you saved the company $200 million, then you might say, "Hey, I'm really happy and honored that I was able to do that, that was really cool... boss, I was wondering if we have any bonuses that are available for people who do such massive savings? That'd be cool and I think would help inspire others to innovate and invent for the company."
Note that even then, you're stressing the future benefits to paying you - it could inspire others to do the same.
*Make it easy: If you want more money, make it very easy for whoever to say yes. If you're salaried, a big question would be who would replace your current role? You can say, "I'd like to train a successor to gradually take over my current role," or you can mention someone who is already ready and is appropriately in line for a promotion, or you could stress taking additional responsibilities in addition to maintaining the current role. But as with anything, the easier you can make it, the more likely it is to work.
*"I think I can deliver even more value here, if I take on new responsibilities." Ideally be more specific than that, but that's the gist of it. Stress how giving you more money creates more money somewhere for the company. If you're in a role currently far away from revenues, it's up to you to be creative in justifying how giving you more money produces more money. People want to cut costs. People want to expand profits. Much better to position yourself the latter if at all possible.
*A note of clarification - "I don't even want to be compensated much more for it - I'm going to be bringing in lots more value/assets/sales/cash/whatever, but a moderately small raise is enough for me because I like working here so much." - you can actually ask for a lot of money after that. Say modest raise, then ask for whatever crazy amount you want to. You can also ask for non-monetary things.
*Be friendly and complimentary. Specifically, not adversarial or demanding if you can help it. People want to help and work with people they like. Be likable if possible.
*If you want a raise for doing the same exact work, it's probably good to start looking outside the current company as well for other offers.
A mentor of mine is Projects Director at one of the most profitable architectural firms in the Middle East. He came from nothing, dropped out of middle school, and was working on construction as a teenager. Eventually by being somewhat bold when the foreman didn't show up for a while, he was able to take a foreman's position.
He explained this to me: "They were never going to promote me above foreman. They saw me as just another laborer, thinking I should feel really lucky just to be a foreman. So I had to apply to another company to be a site manager. I worked hard and had a good reputation, so I got the job. But then, you see, they'd never see me as better than a site manager. To them, I was just a foreman and I should feel really lucky that I've got this job that I do..."
He followed that plan to rising through the ranks by changing companies. In his case, he did it by moving to what the next booming place would be - working in China, the Asian Tiger economies, other places as they variously had construction/expansion booms.
Sometimes you have to go elsewhere to get paid. The second comment in that Hacker News thread was from the very bright Jason Kester, who wrote -
I find that in practice, it's a lot easier to do steps 1 and 2, then simply take one of those offers to work someplace else. Your value as a developer increases so fast early in your career that you'll literally double your market rate during the course of your first job after college.
There's simply no way that you can convey to a company that they need to pay you twice as much as they did when they hired you 3 years ago. They simply won't believe it. Sadly, the only way is to demonstrate it for them by actually accepting a job somewhere else for twice the money.
The key is to remember that you're in this game for yourself first. It's nice to work for a good company with a good environment and a fun team, but at the end of the day it's not worth leaving tens of thousands of dollars on the table just to stay there.
Totally agree, very good comment.
I hope that helps! I think money is cool, and would love to see you getting more by doing great work, serving, producing value, and otherwise building the world. If you've got your own stories, let's hear them in the comments. If you're looking to follow this general plan of action but don't know how to get started, feel free to email me - I'm friendly, and I try to spend my entertainment time lending good people a hand. My email volume's been high lately, so give me 3-4 days. Cheers and happy raise-getting.
I'm really glad to find you here, somehow..somewhat. I've been feeling miserable about my pay even with the great people and supportive kakis at my current workplace.
I've joined this company for coming 2 years and I've been promoted a couple of times more than others..having 3 promotions, 2 team awards and another individual award presented earlier this august and yet I'm still not feeling that I'm being rewarded for my job.
I know I can strike a higher deal somewhere, probably at least a couple of hundreds more for the post I'm standing in now (imagine being paid 2.2k to do a min. 4k payslip work) but I'm stuck.
I'm stuck because I don't just qualify as yet. At least not in terms of paper. I joined as a really junior assistant and after 3 promotions, my title still stays with that hated word despite me proving that I'm much more capable than my counterparts/seniors. My initial plan was to stay and get the company to sponsor me on my degree but abolished that thought when I knew the axing is coming. Kinda glad I didn't go for it, I got retained and thats when I got my que to do more. I'm really hoping to get more out of this new R&R, learning new stuffs and implementing better solutions to the current tedious process.
Saying that, I'm really not sure what's gonna be my next step. Continue w the degree and move on to a new company in another 2yrs or try to work on seniority? I know for sure, I'm never gonna get the same salary scale as my seniors/colleagues. I came in too low and even with the many promotions it's never going to make up for what is loss. Also, I'm starting to dread working in the office, tiptoeing the lines carefully and ensuring my back are free of knives from the other dept. Not that I can't take it but finds it ridiculous & tiring just because my boss been a jerk to the other depts.
Oh.. help me. I just don't know what I can do or go in this fluctuating economy.
I was doing some research on raises for an infographic (just posted today)--you really nailed this one.
You're right to point out that most people don't receive because they don't ask! Programmers, unfortunately, are usually personality types who are content working within the system. Thank you for illustrating that the system should also include asking for a raise.
If you are interested, here is the infographic I finished--it illustrates the effects of small consistent raises over time:
This article helped me so much! It lent much needed inspiration during a daunting review time!
Thank you. I think Im in love.
When you're already at least a Principal Engineer, and fairly senior, step 3 is usually not an option (unless you want to stop being a software engineer and move into a different role). step 2 requires much more work. Speaking from over 20 yrs. experience...
Great post Seb. I think one thing worth highlighting is that good managers WANT to make sure that high-performing employees are satisfied enough with their job to work hard and deliver good results. Because high-performing employees are difficult to replace.
I'm not saying you should threaten to leave (though revealing that you have another offer on the table makes that implied). I am saying that managers will take the path of least resistance. What would be less work? Finding another "you" or figuring out a way to raise your comp. The more you can do to make the former hard and the latter easy, the better.
Great post! I hadn't seen your original Hacker News comment, but I'm absolutely glad that I bumped into it here.
I was lucky enough to get almost this exact advice from another source last fall, and acted on it. The result was an immediate 30% raise in salary. This happened in a company where most of the engineers complained about inexistent raises and less than competetive salaries.
It really picked my brain for quite a while. People who were obviously more productive than me seemed to have "no luck", and all I had to do was ask for a raise. As discreetly as I could, I asked around how the other employees had attempted to re-negotiate their salaries. To my amazement, I didn't find anyone who really used your point 2, about having a BATNA.
You say that point 3 is huge (and I'm sure it is), but I'd say point 2 is hugely huge. It is almost a shortcut to victory for the underpaid. You don't even need great communication or negotiating skills to use it.
If the employer can say no and know that the employee can only respond with "oh, ok then", even if his salary is below market value, it is a no-brainer to save that money and politely decline.
If the employee acts upon point 2 and presents his alternatives, the employer has to react with a proper valuation. The automatic "no" is no longer an option. A 30% raise becomes one.
Short message today from Beijing Airport, en route to the China/Mongolia border.
Study people that have been successful in the way you want to. Figure out what they did.
Modernize their ideas to the present day. This isn't hard, there's tons of underoptimized stuff everywhere.
Draw up something like a plan.
Okay, now - you've got to stick religiously to that plan, even when things suck. If you've drawn up your plan halfway intelligently, it probably includes a lot of serving others, a lot of working hard, and a lot of striving to improve.
Hard work produces near magical results, but we all have an absolute ceiling on how hard we work.
People usually start thinking about working smarter once they're near that limit and getting burned out. Once the realization sets in that you can't work any harder, you've got to get smarter.
To work smart, the first thing you need to do is figure out what you're already doing.