In this market where every company out there tries to minimise costs, is there still room for salary negotiation for generalists that interview with non-FAANG? Do you have any industry insights or anecdotes to share?
[1] https://www.kalzumeus.com/2012/01/23/salary-negotiation/
But man, a lot of the people out there absolutely still do not grok negotiating. They know it’s something you’re supposed to do, but they will try and negotiate things that are not negotiable (like making it a hard ask for extra contributions per paycheck for healthcare to match their former employer, rather than just ask for more money to cover the difference) or they’ll make demands for things we already offer if they had just paid attention and read the benefits packet we emailed them, and it takes a bunch of back and forth to figure out what they’re asking for (nothing, in the end). Or they’ll ask for weird PTO accrual and cash out schemes that just leaves us asking “why didn’t you just ask for more cash and more PTO up front because now HR is pulling people into meetings to try and figure out this demand”.
People need more than knowing to negotiate, they need to know how to negotiate, and that means partially knowing what is negotiable. (We’ll change a lot actually in negotiations, but not everything)
Unless you have some kind of very unique skill or you have other offers and the company really, really wants you, how exactly are you supposed to negotiate?
Every comp negotiation I've ever had with a company has gone kind of like this:
[Company]: Here's your offer for $X.
[Me]: I'd like $Y.
[Company]: Your offer is for $X.
[Me]: Well, I think I bring skill A, B, and C to the table, and here is some data showing someone with my experience tends to make $Y.
[Company]: We don't care. Your offer is for $X. Are you interested or not?
[Me]: How about vacation time or benefits? Or maybe salary vs. equity? Can these be adjusted?
[Company]: <yawn> if you don't want $X, there's the door. We have 35 other candidates in the hiring pipeline.
What magical incantations are you guys speaking that allow you to make any progress against these brick walls? I've never once, in my 25 year career history, ever gotten a company to offer more than their initial offer.The employers BATNA is they go to the pool of 35 other candidates. Yours is you go back to your job.
If your job hunting first when your sick to death of your job, your BATNA isn’t very strong.
If this is your only offer, your BATNA isn’t very strong.
If you’re one paycheck away from being out of the street, your BATNA isn’t very strong.
See where I’m going with this?
The less crass answer: In almost every company, you’re being hired on a salary band, so unless you’re at the top of that band in the initial offer there is room to go up, so you can typically push a bit higher. The trick is to make a request that’s higher than what they initially offer but not so high that they outright reject it without additional conversation, and if they are play hardball, and don’t budge on anything, you just reject their offer. It does mean you have to be comfortable rejecting an otherwise decent or good offer, but presumably most companies are willing to negotiate with a good candidate so this shouldn’t be a problem in practice if the negotiation is done in a considered way.
If they know you have alternatives, they are much more likely to negotiate. In fact the modern version of this guide is try to get several offers and negotiate them against each other (not you versus the company). Might be more difficult in the current market.
So I'd call their bluff. When they ask if you want the lower offer, say no. I can tell you that most places have recruiters being told to get you in the door for as little as possible... but still to get you in the door.
That's partly bluff. Hiring a good candidate is costly.
If they make you an offer, they have already sunk the costs of screening you. Having you exit at the negotiation stage is never free for them. You always have some wiggle room.
You can play hardball or softball. Hardball works when you have competing offers, and risks your offer being pulled.
Alternatively, you can just ask nicely. I've had luck saying something akin to "hey I'm super excited to join BigCo. I'm just curious, is there any way to move up the comp at all? Just checking, I don't know what the bands are, but if you can come up some, that'd be great. Either way, let me know I don't want to hold anything up, I'm excited to start".
Guess what? Sometimes the hiring manager has the power to come up 5,10,15k if you just ask. I've had luck and other times I've been told "nope" but i've never had anyone be upset.
> [Me]: I’d like $Y
You could try:
> [Me]: That matches my base salary at the moment but my current employer gives me healthcare and a car allowance so I would be out of pocket if I moved from my current job. In addition I currently am eligible for a 10% bonus. Would you consider an additional $5k/yr to cover some of this? I would love to move… although I can’t justify a pay cut, but think this is a really good opportunity and would love to work with you so hope we can make something work.
Ie you gotta give them a reason to justify paying you more, and to think that paying more is required for you taking the job. Also you have to be realistic in how much you ask (smaller amounts are more likely to be accepted, larger amounts pay more but are more likely to be rejected outright as if something is too large you can’t really counteroffer)
The last company's letter would be:
[Company]: We have decided to move forward with another candidate. Thank you for your time and good luck on your search!
And I agree, these HN threads always shock me to no end. I keep finding apparently you can negotiate when you are in the demonstrably weaker position. I still haven't heard those magical incantations and I, like you, keep asking but nobody is telling.Apparently they are secret.
Therefore, any offer should be backed by logic of the form "we want to hire this candidate for $Y or less. We will make an initial of $X (X < Y), so that we have room to negotiate upwards when they ask."
In my experience, usually Y==(X * 1.1).
In your example one is not, so negotiations aren't possible.
Sounds like low skill, or entry-level work. or nah?
2. Ask for more money and/or more shares (if you think the shares are any good).
Patrick's guide explicitly talks about how a lot of people don't want to negotiate. His argument is that if doing something distasteful for a short period of time will get you a significant salary boost, you should try to do it anyway.
Ultimately, if it's distressing to someone to be assertive and negotiate, my first reaction isnt "That's fine! Let's all work together to make things nice and easy for them!" My reaction is "It's sad that it's so distressing, but one way or another they need this important life skill. Let's help them acquire it, even if it's difficult."
They're trying to get your help in decreasing their tax burden, without explicitly saying that that's what they're doing.
(Dunno why people are so coy about this; tax minimization is not illegal, and companies are totally willing to work with you on it.)
Everything is negotiable. Some things are just easier than others. Besides, did you tell them up front what was negotiable, or did you just kinda expect them to figure it out?
Money and equity are easy to negotiate because there's no management overhead. But if you want your 401k to be at a different brokerage, or have other "process" request like that? Probably not gonna happen - not for a line employee.
But how are we supposed to know what is negotiable? HRs main negotiation tactic is to say “not negotiable”
Maybe HN should mandate comments in these threads to be prefixed with:
"[USA resident that never struggled to find a job]"
How do you think? I think it will help not skew the discussions so severely in the direction of privileged SV engineers.
Truth is, most of the programmers out there face terrible HRs and the deal is binary -- you either accept all of it (with very rare exceptions with super small wiggle rooms) or just go look for a job elsewhere.
Focus on a high quality agreement and a process that feels good independent of the numbers and you will be happy with the result. My confidence comes from knowing I challenge myself to do hard things, can work effectively while relying on others to scale effort, and that I am a peer in high performance environments.
There's a shorter guide that comes from Pfeffer, which is the triad of Performance, Credentials, and Relationships, where each org weights these differently, and the people whose weighted score is highest will prevail. Know the weights in the place you're considering, and know how you rank in those areas. Use that as confidence to engage in a mutual process of discovery, where you are working together to find the best quality agreement possible. Maybe the best one you find is not what you're looking for, but by agreeing to work together to find the best possible outcome, you're already negotiating.
Apologies for this public private message, there seems to be no contact info in your profile.
Unfortunately, I and a dozen other software devs (all of whom I know personally, and all of whom are amazing) are not getting any interviews, much less offers.
None of us have ever experienced a drought like this before, either. So... ???
Thankfully, we're all still currently employed.
I've been on the other side of the table recently, and I agree it feels like a buyer's market. But it still took a while to find good candidates, and a lot of candidates showed up to interviews weirdly unprepared on even the basics.
If it's a drought for you, then I'd have to add: It seems like an especially weird drought, as well. Supply and demand seem to be doing odd things.
(And, for the spectators of this comment thread, I can confirm: Yes, 2 people with 3 anecdotes each is enough to speculate wildly about an entire industry.)
Now I’m dealing with algorithms technical interviews, but they don’t mesh well with my style of problem solving at all. I like to quietly think on a problem by myself first. If it’s an exceptionally difficult problem, I’ll probably take a walk or the answer might come to me in the shower. If I’m working with someone else, a more collaborative process where we’re both trying to solve the problem and bouncing ideas back-and-fort is my style. Solving the problem in 30 minutes in front of a judge under the context of needing to land a job as soon as possible doesn’t properly test my abilities as a software engineer at all.
Yesterday, I was asked a leetcode hard in an interview from some no name start up. I answered how to theoretically solve it out loud with the interviewer but ran out of time implementing it. I got the impression the interviewer thought I was unprepared and a clueless engineer. I was rejected 15 minutes after the interview.
Overall, I’m not encountering interviews that actually let me display my competency. The interviews seem to all be tailored for a specific type of problem solver (fast in high-pressure test-taking environments) while eliminating every other type of person. I think it’s easy for the interviewer to lose context on the nerves the candidate might be experiencing.
The accounting industry doesn’t do this. If someone has a CPA license, companies trust that credential. If someone doesn’t have a CPA but has experience in Big 4 public accounting, companies trust that experience. If someone lacks those signals, companies may ask more technical questions. But they start from a basis of trust based on clear signals.
Unlike my accounting background where my past experience was based on trust, I have open source projects that can actually be reviewed. Some reviewers have gone through them yet still want to perform an algorithmic interview. Most have not. I feel that the vast majority of interviewers don’t really know how to interview in a more holistic manner.
EDIT: adding that, because we all live in a non-metropolitan area, we all have been remote, and are continuing to look for remote work.
There is definitely a down turn, because before you didn't need to be a good candidate, whereas now only good candidates are getting the interviews and ultimately the jobs but historically it still seems better than the downturns in 03 and 09.
I have commented on this before but if someone is applying for Senior or above, seeing them live code a random algo with weird requirements seems less valuable to me than actually discussing architecture, previous projects and personality.
Even talking through a small project (with 0 code involved) would tell me so much about someone than what I've experienced in the last year or so while looking for a job.
So, in my opinion companies are what became weird. I don't know but even the smallest startup seems to feel they need to have their hiring pipeline be like Google or something.
10-15 years ago, I would just meet a manager and someone in the engineering team, have 1 hour chat with them and instantly know whether I'm hired or not. Now it's 4 interviews from the CEO to the HR and their grandmas.
- How do you know it’s not just your surroundings (technologies, skills, area) which are dry?
- Are you maybe getting aged? (The programmer market is very ageist, hopefully I’m not turning the knife into the wound, but I’m not young either) and maybe you are experiencing the dry part of life for the first time?
- Or did you take the $500k+ post-Covid market as the norm? Here in France, beginners are at 38k€ gross annually, and the high end was 85k€ during Covid, but historically the high-end had been capped around 65k€ until Covid.
All in all, developers aren’t magicians. We deserve a high engineer pay, but look at electrical engineers, they have shit pay. We’ve been getting far too much money, for far too long. In normal office jobs, it takes a lifetime of sacrifices to get to higher pay grade. And this is the 3-year experience mark for a developer.
So, are you expecting Facebook-level pay, or higher-engineer-office-worker kind of pay?
I don't understand this mindset. We should all support our working class brothers to get better wages. Just because the custodian, accountant, and jr HR person are also paid crap doesn't mean we should all grin and bear because at least we're not the day laborers outside.
The problem is that I'm not even getting to the stage of asking about salary, because I'm not getting any interviews in the first place. Neither is anyone else in my friend group.
I am probably overqualified for a lot of jobs, but my friend group, which has a lot of variance in age and experience, would definitely not fall into that classification.
Normal office jobs don't bring the value that STEM jobs do, that's why STEM jobs command more money. It's like comparing doctors to other careers and being surprised that doctors get paid more.
They're really shooting themselves in the foot by only hiring people everyone wants already instead of finding people who they can train for two weeks and bring up to speed.
There’s a lot of value in getting someone who has already done some React. Or some Typescript. Or some Java. There’s a triple-your-salary kind of value, and everyone asks for the tripled salary.
I hate negotiations. So I'll be frank. I was already frank with the recruiter today: I love my current job, on Mondays I can't wait to get to work. Moving to another company entails risk. I need to be compensated for that risk, so I don't intend to even interview if they can't offer me at least a 20% raise. Many think that this becomes the ceiling rather than the floor. But if I get the offer, I'll simply tell the guys that I am an honest person, and I don't play games, and I would appreciate them not playing games either. More precisely, I tell them that I am not interviewing with them in order to get leverage for a raise at my current job (lots of people do that). But, if my current company will make me a counteroffer, I will accept it and I stop there. I do not want to be the subject of a bidding war ( * ). In other words, they have only one opportunity to make an offer. The should think twice about making a low-ball offer.
That's it. That's my non-negotiation tactic.
( * ) Why not let people bid on your compensation? Because word leaks out. The new colleagues at the new company will think "who does this guy think he is?". I need to work with these guys, and I don't want to start from this position. The colleagues at the old company will think "what a prima donna". Plus, I think it's a better position from a game theory point of view, a-la Thomas Shelling. I did not study game theory, so I have no idea if this is true, but it's not impossible. More importantly, I just find the idea quite distateful. Other people might find it flattering, but to me it's just gross.
I got one FAANG to increase their offer to 2.5 times the original amount. I'm fine with taking a bit of heat from the team if I get paid that much.
I think of a number I want to earn in the new job. For example, if I would currently make 100k, I say I currently make 115k in my current role, and then they offer 120k. I accept, done.
I did this after a bad experience. Made-up numbers. They offer me 80k, I already make 90k, I say I already make more. They ask how much, I say 90k, they say we can match that and one more week of vacations. I give them a pass, they ask why, I say I got another offer for 110k, they say we could have given you 110k too.
If they are allowed to lie, I can too.
And there’s no reason to do it. Negotiation is about what you will bring to the new company, and how much that is worth to them. Your old salary is irrelevant.
If you want 110k just say that. If they ask what you made before, you can say something like “I was underpaid at 80k, which is why I’m talking to you now.”
Agreed that it's best not to give false information but you can also respond with something like, "What is your budget for this position?"
It makes it obvious -- at least, it should -- that you know they're only asking, as patio11 puts it, as an attempt to get you to compromise your negotiating position.
Giving the number and calling it out as low isn't a bad idea, just offering another for those who would prefer not to give a number at all.
I think it works so well because it is not a negotiation. Just stating my fake current number and they can make up their number.
As such, demand for me is so high that I’ve simply retired from all the money that was thrown at me (it’s also pretty easy for me to start my own business…although exiting is another story). I have no LinkedIn or other online presence and I still get headhunted despite having no interest.
Just remember your BATNA when you enter a negotiation.
No one is knocking on my door looking for generalists, and a large majority of job listings are short-sighted on specifics. i.e. no one cares about my computer architecture, QA, or sysad chops.
As a company grows the roles get pigeonholed further and further, diminishing the value of your generalist skillset. The main antidote to this is to be higher up in the org, but that usually doesn’t happen organically over a generalist career (you have to create those jobs for yourself).
i have 35+ years. Been quite a few places and hats. Dozens of languages, assemblers, client/server, UI+UX, Prolog, hardware down to transistors, even mechanics ; methodologies and cultures, ..., you-name-it. i bet my cv is too-long-didnt-read.
And Noone gives a damn. They all look for their 3y "senior js dev" and don't see anything else. And those "seniors" grow on trees anyway.
Some specific things haven't aged well from this article in my recent experience:
1. Many companies have comp bands advertised and enforced by local law, and even outside of this many have implemented more regimented/structured comp in an attempt to reduce bias. 2. Relatedly I've seen more companies take a "no negotiation" policy, especially for more junior roles. 3. The market overall is much more an employer's market and is not growing as quickly, so the median SWE has less leverage.
I think the biggest impact of these changes is that the cost of not negotiating has become lower, and consequently the upside to negotiation is less, especially if you don't have competing offers or are more junior.
That said: competing offers is still the single most effective negotiation tool, as others have said. I've seen companies be relatively inflexible on cash comp but highly flexible on equity comp, which tends to not be required as part of job listing bands, and becomes the lion's share of comp as you get more senior. And often there are carve-outs of matching offers.
TL;DR: Still worth a read, but many of the specifics need discounting.
Over time it meant that I could study for my next job at night while still having a good work experience. I am paranoid so I always worked close enough to the job that I could bike there if necessary, and I saved money for a rainy day. I even chose to avoid Silicon Valley because I didn't like the ultracompetitive vibe.
I ended up with a big payout from one job that started on the path to my own long-term business, but all along the work/life balance was excellent.
I'm sure I could have negotiated higher but programmers tend to make good money anyhow. Never bothered me when I made $90K but it could have been $105K or whatever.
Another is to ask for additional benefits in monetary value. IE if one company that provides parking/commuter/better health coverage benefits, ask for an additional $X per year to the companies that don't.
That also make it like you're trying to equalize total comp instead of asking for an arbitrary higher number.
Get a sense for how your industry is doing as well. Your best leverage is a competing offer.
The truth is engineers are still being hired and it costs money (and time/money) to interview more people or continue interviewing people in the pipeline, so offering more to a good candidate is worth it for most companies.
That was always true. Guide reminds you that significant amount of money for you is a rounding error for most of companies, so negotiating is always a good idea.
Observations:
- posted salary ranges are BS. Companies are as likely to go significantly over the upper limit as to refuse to entertain anything remotely close to upper bound even with the most amazing of candidates. You won't know until you negotiate.
- vc backed companies are supposed to grow fast, not balance budget. if you can convince them you will help with that growth more than the next guy many limits become very negotiable
- some companies have fixed / very narrow ranges for roles except the most senior ones. usually they are significantly below market rates. if they straight up refuse to budge don't waste your time - same mechanism is going to manage your future salary increases
EG Not: "I've looked at my finances and similar roles, and I need $130,000 for me to take the role."
Instead: "I've looked at my finances and similar roles, and I need $133,700 for me to take the role."
There is a tiny chance that asking for 133700 might get a smile at a smaller tech focused company though.
https://www.americanimmigrationcouncil.org/research/h1b-visa...
The issues was never the quantity, it’s been the quality. I believe companies like Deloitte had created corruption pipelines where money got you on the path to H1B.