Stories about Software


Salary Negotiations: Win by Losing

I’ve been reading a book called, “The Four Hour Work Week” lately, and the timing is pretty interesting. In the book, Ferris outlines a positively cold-blooded plan to seize control of your life and career using an approach that he calls “Lifestyle Design.” For me, the timing is interesting because “lifestyle design” is a good way to describe the way that I’ve been re-shaping my life over the last several years, thinking in terms of things that I want to be true about my life (e.g. “I should be able to go where I want when I feel like it and work from wherever”) rather than my career (e.g. “I wanna be a SENIOR Architect”). It also reinforces and then some my desire to focus increasingly on passive income. So, basically, reading this book for me is sort of like a gigantic pat on the back: “you’re on the right track, Erik, but you should double down!”

You should buy and read this book. Seriously. It’s, at times, audacious to the point of discomfort, and it can feel a little Amyway-this-is-too-good-to-be-true-ish (though it probably isn’t), but he makes some incisive observations that will rattle you and alter the way you think of the corporate world… like I’m about to do (I hope). Some of the inspiration for this post is derived from my experience (particularly the focus on programmers, which he doesn’t do), and some of it from the book. So, without further ado…

The Hard Truth

Salaried, exempt employment is an atrocious economic deal, especially for programmers. Weird as it sounds to say now, I’m not saying that your employer is screwing you nor that you shouldn’t be a salaried, exempt employee. I actually rewrote that first sentence several times, trying to be a little less blunt, but it is what it is. It’s not a value judgment and it’s not intended to be click bait or offensive — it’s just the stark truth. Let’s go through some numbers, to put an exclamation point on it.

For the sake of easy math, let’s say that you’re a representative Senior Software Engineer and you make 100K per year. If you’ve been a manager (or a contractor), you’re probably aware that there are 2080 “work-hours” in a year. Let’s drop those 80 hours off of the end and assume that they count as Christmas, Thanksgiving, etc. 10 holidays per year. So that means that you work 2000 hours and receive $100K. This means that you earn $50 per hour. That’s a pretty good wage.

But then, consider the fact that your labor on the freelance market can easily bill out at $150 per hour. I’ve seen this pay ratio play out in multiple locations, with multiple vendors. When I ran a department, I routinely solicited software contract/consulting services and saw a pretty standard set of rates come across. Bargain basement was $100 and top-o-the-line specialized rate was $200. But the blended rate would average a senior dev generating $150 per hour in revenue for his or her company.

So what gives? Why does this large gap exist? Well, because of all of the expenses that an employer incurs on your behalf, because of all of the perks of working for a company, and because of the stability, right? Okay, fair enough.

But, let’s do some more math, just for fun. Let’s assume that you get 4 weeks of PTO in some form or another. At $50/hr, this is a benefit that’s worth $8,000. Further, let’s assume that the employer pops for about $12,000 in insurance benefits. We’re now at a total compensation of $120,000. Let’s further add in $2,000 for the 401k plan, and another $3,000 in miscellaneous perks for a total of $125,000. Finally, let’s add taxes and unemployment insurance on for a generous extra $10,000 to bring the total to $135,000 in total comp. And then, let’s add another $15,000 because tuition reimbursement, 401K match, HSA kick and perhaps other exotic perks. We’re now at an even $150,000 for your total comp for the sake of easy math. And this is almost certainly a wildly generous figure.

So you take home $50/hr and you cost your employer $75/hr. Your employer charges $150/hr, which means that half is spent on you and half goes into the company coffers to pay for expenses, investment, overhead salary, etc. So of the employer’s cut for your time, 25% of it goes to the expenses and perks, and 75% goes to the company. You can think of this 75% or $75/hr as your “stability premium.” Every hour that you work, you’re forking over $75 for “stability,” which means not having to pursue your own leads, handle your own finances, worry about legal representation, etc.


And It Gets Worse

Is it (stability) worth $75/hr? That’s a question that I cannot possibly answer for you since worth is in the eye of the beholder. But what I will say is that with a full year of $75/hr ($150K) in your pocket, you could hire a commission-based salesperson and an administrative assistant and still have money left over for incidentals (assuming you had the up-front capital to pay until salesperson generated you some $150/hr consulting work). No doubt about it, though, there is real value and peace of mind in not having to worry about all that stuff. But still, compared to owning an enterprise and having a small staff, working for the man for the same pay is a vastly economically inferior situation.

And that’s not the worst of it. You see there’s another insidious characteristic of the corporate world, which is that 40 hour work weeks make about as much sense as laws that you can’t buy alcohol on Sundays after 4:30 PM if you’re wearing blue and Mercury is in retrograde. Don’t get me wrong; I’m not saying that there’s anything wrong with working 40 hours, but doesn’t it seem odd that everyone, everywhere works the same amount of hours (within reason)? There are strong societal incentives that start to kick in if you go too much over 40 (bad reputation for companies as sweatshops) and if you go too much under 40 (now you’re a part time employee and don’t get substantial medical and other benefits). We’re funneled toward the 40 hour mark like cattle being gently prodded into a single file line.

Now, it’s not the 40 hour work week that’s the bad part here. It’s the perverse incentives created by the 40 hour work week. Let’s say that Fred, a Senior Software Engineer vacates his position where he was making $100K and the company puts you in as his backfill for the same salary. Further, let’s say that you’re way more efficient than Fred was, and within a few months, you’re delivering twice the value to the business. So, assuming Fred was paid $50/hr and generating $150/hr for the company, you’re para-dropped in and are paid $50/hr to generate $300/hr for the company. That’s awesome, so you rub your hands together excitedly as you prepare to receive your reward!

And, do you know what that reward is? You’re assuming that it’s probably having your pay doubled or at least increased by a modest 50% or else you’re hoping to keep the same pay and work the 20 hours per week it takes you to do Fred’s job. I mean, that’s what’s rational, economically. I won’t hold you in suspense any longer. Drumroll please. And the reward is… a hearty pat on the back, an “atta boy, keep up the good work,” and a 5% COLA instead of a 3% one in 12 months at your annual review. At your $100K salary, that means that you get an extra 2K per year, which totals out to $1/hr. So you make your company an extra $150/hr by being awesome, and they toss you a buck. And the next year, they toss you another. And then, maybe in year 3, you’re ‘ready’ for a promotion, and they bump your pay $10K, bringing you up to a total of $7/hr. So over 4 years, you’ve earned them an extra $1.2 million, and they’ve responded by letting you keep $20K.


Okay, so you’re getting hosed, but where are the perverse incentives? Well, think about what this means. The difference between being an absolute efficiency machine for your employer and for being Fred is $20K spread over 4 years, which translates to $2.50/hr. Now, remember, at this point, that 40 hours per week is a fixed, non-negotiable, sacred figure. You have to be present, looking busy for 40 hours per week. So your choices as an efficiency machine boil down to “collect $50 per hour to look busy but coast and duck out early when no one is looking” or “collect $52.50/hr to put the pedal to the floor and give your all.” The perverse incentive is that looking busy is far more important to your career than adding value.

At this point, it bears mentioning that your employer isn’t screwing you, but rather playing by the standard corporate rules. I mean, think about it. What company is going to say, “you know what, let’s start paying all of our devs $250K per year?” If they were publicly traded, the shareholders would riot. These are the rules by which individuals and corporations play and pay, and that’s basically that. It’s just that the rules and standards are such that non-ownership employees create gobs and gobs of surplus value that they don’t get back.

Please Tell Me It Doesn’t Get Worse

I can tell you that it doesn’t get worse. You’re sufficiently depressed and we’ve hit rock bottom. It’s only up from here. But first, let’s have some comic relief as we consider salary negotiations in the grand scheme of things. When evaluating efficiency differences between senior software engineers, we’re talking here about someone making $50/hr and creating $150 to $300 per hour in market value for the company. And when you switch jobs, you’re going to haggle over 2 or 3 dollars per hour (and often far less at annual reviews).

Think of it this way. You’re making $95,000 at Initech and you decide to head for greener pastures at Initrode, where you’re offered $100,000. You demand $110K, they counter with $103K, and you settle on $105K. What you’ve said, in effect is, “Over the next 5 years, you were going to pay me $500K and, whereas the last guy earned you 1.5 million in revenue, I’m going to earn you 3 million in revenue, and I’m pretty pumped because I got you to agree to give me an extra $25K.” Let’s strip off 5 zeros and restate to drive home what you’re arguing about. “You were going to pay me $5 and, whereas the last guy earned you $15 in revenue, I’m going to earn you $30 in revenue, and I’m pretty pumped because I got you to agree to give me another quarter.”

It’s honestly like Mr Burns and Homer Simpson engaging in fisticuffs for a dollar. Even though Homer needs it proportionately far more than Burns, it’s not especially significant to either of them. For the rest of this post, I’m going to encourage you to let Burns have his precious dollar in exchange for something that will get you many, many more dollars later. There’s nothing quite as disconcerting as when your bargaining opponent readily agrees to what you had thought would be a tough sell, and that’s what you need to inspire in your manager when talking raises, COLAs and offers. “That seemed… too easy.”

Specifically, what I’m talking about here are things that you should demand in lieu of money. And, I mean, you can be explicit. At annual raise or hiring time, you can say something like, “you know what, how about you keep my pay at X and offer me Y instead?” It’s a bold play and one that will probably catch them off guard, but one they’ll also probably agree to since you’re completely conceding the thing they’re most geared up to push back on.

Work From Home

This is a benefit that’s somewhat common these days, but hardly universal. It’s also an invaluable benefit with tangible and intangible perks. The tangible ones are things like not spending money on gas, work clothes, tolls, car wear and tear, etc. Intangibles include extra time with family, avoidance of awkward coworker interactions, the ability to travel as you please with friends or family, provided you’re somewhere with an internet connection and, perhaps most importantly, the autonomy to manage your own time. Critically, if you’re replacing Fred and you’ve doubled him up on efficiency, there’s no one around to evaluate whether you look busy or not and there’s no one around to insist that you should do twice the work for no pay difference. This has the potential to be somewhat ethically murky, depending on your arrangement and understanding with your employer, so you’ll have to use your judgment. But, if nothing else, you recapture hours that you’d have spent commuting and can do laundry, dishes, and other chores while sitting in on pointless conference calls.

Best of all is the negotiating tack that you took. One of the biggest reasons that people don’t get to work from home is jealousy. Everyone else is trapped in 40-hour corporate prison, so why should you get to escape? Well, your boss can explain to them that you took a paycut for the privilege. Everyone else will think you’re a sucker too once they hear that. Let them.

Work on Public-Facing Stuff

Let’s say there are two projects that you could work on. The first one is a public-facing, open-source framework that your company maintains in support of other initiatives, and the other is Double-Super-Secret Project X. Take less money to work on the public-facing thing. It’s easy to get swept up in the internal company careerism and want to work on what the cool kids are working on, but if you kick butt on project X and it’s a wild success, what happens? A lot of C-level bonuses and you get a gift card to the Apple Store. Great. And, does it really matter if you ingratiate yourself in that organization’s politics? If you want rapid pay and title advancement, you should job hop.

But if you work on the open source stuff, you’re getting paid to get your name out there. Other developers and companies get familiar with you. They see and know your work. You start to earn a reputation and have a voice. This can result in job offers, but it can also result in a transition to self-employment, freelance work, partnership in ventures, investors, etc. Turn down the COLA and offer to do public-facing work, and the boost to your reputation will repay your investment in spades.

Negotiate for IP Rights

This may be a tougher sell, but consider offering up that COLA in exchange for claim to your work product. For instance, let’s say you’re working up a training manual for new developers to get up to speed with C#, ASP MVC, and Bootstrap. Tell the employer that you don’t care about a raise, but you’d love to own that training material and be able to sell it to a few people you know. If they say yes, you’re getting paid your salary to create a product that you can sell. Make it a book or a DVD screencast. See if you can make it into a Pluralsight course.

Speaking for myself, one of the biggest sources of financial success that I’ve had over the last several years if figuring out ways to multi-purpose things I’m working on. It’s now second nature to me to consider whether work I’m doing for a client could be generalized and made into a product. Look for opportunities like this with your employer.

How About Extra PTO?

This is an easy one that I’ve had success negotiating in the past, myself. Negotiating for extra PTO is pretty similar in concept to the work from home arrangement in that you’re attempting to reclaim hours of your life without pay reduction. It’s been my experience that companies are pretty willing to toss you an extra week if you back off of a salary negotiation. Leverage this as often as possible. If you spend an extra week of PTO doing a project for a client at the market rate that you could command, you’ll earn an extra $6,000, which is probably more than the COLA would have been anyway. And if you take the last piece of advice, you might have a way to turn that work product into something that earns you even more.

No Overtime

Here’s another creative solution, particularly if you’ve been working 50, 60, or 70 hour weeks. Simply tell them that you’ll forgo raises for a couple of years if they agree to respect 40 hours from their side. If you succeed in this tactic, it’s an enormous windfall for you. At 50, 60, or 70 hours, you’re giving them $500, $1,000, or $1,500 per week of free labor. Assuming they’re willing to let you cut that out in exchange for punting on a $3,000 per year pay raise, take it without blinking and then look up the statute of limitations for highway robbery.

Ask for “20% Time”

This is yet another variation on buying back your time. Google and some other organizations have historically offered employees unstructured time to work on things that interest them. If you’re able to negotiate an arrangement like this, it gives you an opportunity to work on key initiatives, strengthen your technical chops or contribute to open source. Take it if you can get it.

There Are Better Investments in Your Earning Power Than Cash Right Now

As I said at the beginning, salaried exempt employment is a rotten deal for software developers and probably for a lot of skilled labor or knowledge work positions. It’s one that’s pretty well codified into society, though, and salaried exempt employment is, in fact, stable and the best option for a lot of people. But that doesn’t mean that you can’t structure it in a more advantageous way, whether your intention is eventually to break off on your own or whether your intention is simply to have more time and a lifestyle that you prefer. Salaried employment is selling your labor at a steep discount for a pretty fixed number of hours (40). Trying to make that discount very slightly less steep is what most people do, but it’s an uphill battle against a prepared, entrenched employer and a whole lot of societal momentum. Cut bait on that strategy and figure out how to address the number of hours, whether it’s through more PTO, more efficiency from home, dual-purposing your work during those 40 hours, or really anything else you can think of. When you’re selling by the hour at a huge discount and you can’t meaningfully control the discount, you need to get creative economizing those hours so that you can use them to invest in yourself.

  • This post is absolute freaking gold, Eric. As developers, we have so much earning potential. It always amazes me how a lot of folks don’t recognize this. Maybe someday we’ll be treated like surgeons/doctors and earn $250k out of the gate, but until then (and even then!) it’s important to pursue passive income.

    – Matt, brand new Pluralsight Author 😉

    • Congrats on the authorship! Speaking for myself, it’s definitely one of the better decisions I’ve made in my career.

      • Thanks! and i’m glad to hear that.

    • You don’t need 7 years of schooling to build a LOB application. I doubt we’ll ever be “treated” like doctors.

      • It’s one thing to build a crud or even a simple ecommerce website and something completely different to build an enterprise level application and that is only successful with a lot of experience and grunt work.

        We may not be treated like doctors, but are still treated very well. If that’s not happening then I’d say you’re working in the wrong place 🙂

  • Ok, I am officially depressed now …

    • Why?

      • because he’s right. To be honest the number didn’t surprise me, I did the same math long ago. It’s still sad thinking how much money we make our employers and how little we’re valued for it.

        • Then don’t be depressed and be proactive about it, as Eric says in its post. It’s an occasion for us to ask for other things that may be worth more in the long term. Take that as an opportunity! 😉

        • Olivier has it right. My message here was meant not to be depressing but to offer ways to improve the situation. I think of these as “negotiating hacks.”

  • Erik,

    I feel like your posts have been building up to this over the last few months. You’ve now explicitly done the math here which we have all had in the back of our minds while reading about your forays into self employment. I think that I must have been reading between the lines and came to some of conclusions you outlined above a few weeks ago and these conclusions were very instrumental in my quitting my job at that time. I am taking on a 6 month contract that requires 9-5 office hours and have arranged to continue to contract with my old employer at $50 per hour on a as-needed basis.

    As you pointed out above, the numbers are hard to refute: it is definitely a better situation on my end.

    • Leaving and contracting back to your former employer is definitely a good play. I have done that myself. I’m glad to hear that you’re finding more favorable arrangements!

      As for what I’m building to, a lot of these posts are arising from material I’m putting together for the book that I’m writing. I’m offering a series of complaints/questions/criticisms along with tips for mitigation, but what I’m actually working toward in the broader sense is a comprehensive picture of where I think the profession should be headed and how to hit the gas pedal on getting us there.

      The hardest part of all of this is not just dumping all of my thoughts directly to the blog as I have them (though I am thinking of doing a lean publishing kind of model). It’s not that I’m worried about the grand unveiling or anything like that — it’s more that I don’t want to jump the gun before I’ve fully thought things through.

  • DethBySnooSnoo

    Math question. What is 5% of 100,000?

    • Love the name, by the way. 🙂 Never watched a ton of Futurama, but I do remember that episode.

  • Andrzej Rehmann

    Really interesting. Never thought about this before. But I guess this only applies if you a very good developer with couple of years of experience.

    When it comes to junior devs isn’t it wiser to take on that Double-Super-Secret Project X? In corporations this is usually the only way to learn some new technologies and most importantly to write actual code. Giving your best and working free overtime for a couple of months will eventually pay off because of the gained experience. Right?

    • It’s hard for me to answer this without specifics. Generally speaking, there’s nothing wrong with putting in overtime for various reasons (reputation enhancement, delivering on a high-risk project, learning, etc), provided that you anticipate a return on the investment of those hours in some form. And as for comparing two projects, working on something in public is a big advantage, but so is working on something that’s valuable and desired on the market. If the public project is some arcance open source thing and the internal/secret project exposes you to all of the cool-kid javascript libraries, you’ll have to weigh whether it’s more valuable to have your name out there or to have those js libraries on your resume.

      What I will say briefly here is that I would advise junior developers to avoid hitching their wagons to advancing through the seniority ranks within a company. This is a losing proposition on almost every front, except, perhaps, for quality of life and ability to coast (if, for instance, they come to like the group of friends at the company and the free sodas and ping pong and whatever other perks there are). I’m gritting my teeth a little as I type this because (1) what I’m talking about here is starting to get to the real core of the book that I’m writing and (2) it’s making me sound like more of a cynic than I actually am.

      I will probably make a post clarifying my position here a bit over the next couple of weeks and try to walk the fine line between more start honesty, not seeming too cynical, and not simply dumping the contents of my book to a series of blog posts in a stream of Q&A.

    • To follow up on my last comment, I’ve gone through some of what I’ve written for my book, looking for a section to carve out as an explanatory post. I’ve also written a bunch more on the subject as well. The upshot is that I just don’t think it makes anything other than a massively depressing blog post without context. If you’re interested in some thoughts in a raw format of sorts, ping me, and I can send you over email the relevant parts with the caveat that they’re not entirely polished and they’re not yet complete.

      On the plus side, after reviewing some of what I’ve done with my editor, I think I might actually use this question that you’ve asked an a teaser answer as the intro to the book. It’s an *extremely* good and relevant question.

      • Andrzej Rehmann

        Sure I am interested. I’ve sent you an email.

  • You’re not the first developer I’ve encountered that has mentioned the 4-hour workweek book; I’m glad you got some inspiration from it.

    Thinking back to your Pluralsight video on business cases for best practices, you do have to make assumptions. For example, the math works out much easier if you know, for example, that the product you work on brings in $300/hr for the company. (I guess you’d also have to factor in the other people that contribute to development/maintenance.) If you don’t really know the details of revenue/expenses, it’s difficult to get a feel for where your value contribution sits.

    Another assumption is that you really are a better developer (“better” meaning bringing in more revenue). How often is that the case?

    Something Cory House mentions is determining whether you should outsource something (in an opportunity cost way). For example, it could be cheaper to pay someone to clean your house so that you can open up 3 extra billable hours per week. This makes logical, business sense but doesn’t sit well with me for reasons I won’t go into here. However, the assumption is that you always have available work at any given moment.

    I appreciate your statements that temper the tone of the post to say that managing your career path is a very personal set of decisions/goals. For example, in my current mindset, I don’t think I would thrive in a freelance gig. Ask me five years from now and I may have a completely different feeling about it. Still, the points you make about what you can do if you want to work for a company and making a concerted effort to think about trade-offs are worth considering. Thanks for sharing your insights!

    • Regarding the market rate, I was talking generally about my experience dealing with a lot of firms that sell software labor at $150 per hour. It’s admittedly harder to quantify with staff developers at a non-software product or service company, but if such a company went out onto the market for short-term project labor, it would cost them $150/hr, so it’s not too much of a reach to value their devs’ work at that rate.

      As for the relative productivity of developers, I wasn’t especially interested in such a measurement. I was using the 2X to illustrate the ramifications of a fixed work-week. Even if one developer is just 25% more effective than another, it’s not like that would be addressed by having one work 32 hours and the other work 40. A developer’s ‘reward’ for being more productive is to give the company more labor for free, which creates a strong incentive not to bother.

      For me, I think of the work situation as like any other economic proposition that may or may not make sense. I have 2 mortgages, and I could probably refi them both given favorable interest rates. But I don’t because I don’t feel like going through a closing and gathering paperwork and having appraisals and all that. I’m too busy, so I don’t bother, even though it might be economically advantageous. I can recognize that my current mortgage situation may be a bad economic deal without being motivated to address the situation. But I *do* think it’s important that people understand the lay of the land and go in with eyes wide open.

  • Romario

    Great post. I discovered the contract world not so long ago. I was making around 60 an hour. I heard that my company got 90. I really think I need to create my own company. the problem is that you must have a great reputation which is hard for most developers. you must be ‘famous’ in the community.

    • Glad you liked, and thanks for reading. Hopefully contracting is going well for you. I think you need less “dev fame” than you might thing to get going. I’ve known a lot of folks that gigs entirely by local word of mouth and don’t have much, if any, online rep to speak of. Having the rep certainly makes things *easier*, I’d say. Inasmuch as I have one, I do get folks that reach out to me through my site or through social media to inquire about my availability for work. Whatever route you go, best of luck with it!

  • Jesse Merkelson

    Great post not just for programmers but for anyone.

    • Thanks! I tend to speak to programmers because that’s what I know, but they certainly aren’t unique in paying a hefty premium for W2 stability.

  • Jordan Service

    I love this site, i love you Erik. I have been thinking about these same things from the creative workers perspective. Just awesome.

  • anonymous

    This is absolute gold. Thanks for writing.

  • Petro Sasnyk

    All this article is based on one assumption that you can easily sell yourself for 150$/hour.
    The truth is that if you just one developer without some specific knowledge in business domain you will be rarely able to sold yourself for 150$/hour.
    Companies are paying 150$/hour for developer, but in most cases they hire not a developer, but a team to build a product.
    Being just a front-end/JavaScript/PHP developer as most developer is means to compete with Vietnam developers from freelance.com who naturally will code for food.
    So you should have some business specific expertise to differentiate yourself on the market and you should have good marketing, sales and presentation skills to promote yourself. And if you are contractor you should be able to achieve at least 50% utilization to get effective 75$/hour rate. At the same time you should keep yourself current in the industry.

  • It all depends on your role within the company. Most development companies hire you to fulfil a specific role and generally you will remain in that role. Why would they pay a dustbin man £50,000 a year? When another person will do it for £10,000? It is the same with development, say you build online shops for a living, it does not matter that you are pro at all of these other development skills. Your role is to develop online shops. If a company can get a developer to build them online shops for £20,000 a year, why would they pay someone £50,000 a year?

    What does it mean to be a senior online shop developer? or super star developer at building online shops, these things mean nothing.

    So to summarise it depends on what the company does and what your role involves. They do not need a super star developer with tons of skills to build online shops so they are not going to pay a developer that much to build online shops. It does not matter how good you are or what skills you have got.

    Most of the time the development team has a certain level of skill in terms of programming. What is the point in having 1 highly skilled developer producing super neat, clean and efficient code if the other 20 developers are not producing super neat, clean and efficient code.

    What I am saying is that everything has levels, and it does not matter how good you are, you cannot exceed those levels without finding a different role or someone who values super near, clean and efficient code.

    Your potential is only relative to the rest of the team and your role within that team.