By March 26, 2019

5 Mistakes You Are Making In Negotiating Your Developer Salary (With Josh Doody)

This might be your roadmap to maximizing your salary as a software developer.

The million-dollar question is: How do you negotiate your salary without losing the job offer or seeming greedy? Ashley did it, but first she had to avoid the most common salary negotiation mistake…

Most developers fall into different traps when it comes to negotiating a job salary. It might be due to hundreds of different reasons, but, what I often see, is: don't negotiating at all.

Developers also make the mistake of saying out loud their salary expectations, saying what they did earn in their last job and more.

If you're really feeling like this, then, Josh Doody is the perfect person to help you out on this one. On average, Software Developers improve their job offers by $46,150 when after Josh's negotiation techniques.

In today's video, Josh and I will discuss more about some amazing techniques when it comes to negotiating your salary as a software developer.

Salary Negotiation Course:
https://simpleprogrammer.com/get/fearles-salary

FREE Salary/Hourly Calculator Spreadsheet:
https://simpleprogrammer.com/salary-spreadsheet

Transcript Of The Video

John Sonmez: Hey, What's up? Jon Sonmez here from simpleprogrammer.com and today we're gonna be talking about the top interview mistakes that you make. That a lot of people make. I've got an expert here who is an expert in helping software developers to negotiate their salaries, or shit. You know what? Let's cut that from the beginning. I just realized I said interview mistakes instead of salary negotiation mistakes.

We can roll with that too.

All right. I'm just gonna retake it. Hopefully, I got to remember to tell Rodrigo to take it from the beginning there so. Okay. Let's see. Ready, here we go. Oh and it would help if I have a number. So let's come up with a number real quick if you've got …

Let me just do this real quick. Two of them are, or I can split on into two which is pretty common and they're sort of separate. Current. Expected. Not negotiating. I can get to five.

Okay, okay.

Yeah, so we'll say five.

Okay. We'll do five. All right. Here we go again. Hey, what's up? Jon Sonmez here from simpleprogrammer.com and today we're gonna be talking about the top five mistakes that you're making in negotiating your salary. I've got an expert here, Josh Doody, who basically his entire job is to help software developers to be able to learn how to negotiate their salary so they can make more money. It's a skill that I think is vitally important. One of those things that if you've been following Simple Programmer for a while I've talked about it a lot. I've taught about it in my books as well but Josh Doody has got some expert advice on this, and he actively works with a lot of students. Coaching them and helping them to make more money. It can make a huge difference in your overall … like over the long-term in your career and how much money you can make if you learn to stop making these mistakes. So, welcome Josh.

Yeah, thanks John. Thanks for having me on. This is I think probably my favorite topic to talk about. One or two of these is the biggest soapbox that I like to stand on so it's great to have this opportunity to talk specifically about something that I love talking about so much, and it's so beneficial to software developers.

Yeah, it is really a critical thing I think that … what's your experience? Most software developers don't even really know or negotiate their salaries from when I've coached developers and talked to them. Would you say that's true or?

I think that is true. I think later in their careers sometimes they realize maybe they missed some opportunities, but for the most part I think software developers are focused on writing good code. Becoming proficient, finding a good job. Maybe landing something at a big five software company which makes them a little bit more nervous about negotiating and so they're even more reluctant here. But I think it's something that tumbles down their priority list or they're not even aware that they should try it. And so your read is the as my experience which is they usually don't negotiate or it's an afterthought that maybe they think of too late.

Cool, awesome. Yeah, I know like in my career one of the biggest things was, my biggest negotiation was actually going from an offer at $50 an hour working as a consultant on a project to actually getting $75 an hour after I had negotiated, and that's a ridiculously huge increase that would seem impossible, but the key is not to make mistakes in negotiating. So that's what we should talk about today. So, all right, let's hear, one, what is your first mistake that software developers make when negotiating?

Yeah, so we're gonna take the first two are sort of related but they're separate part of this and that'll make more sense as I talk through them. So, number one is sharing your current salary. This is actually asking for current salary in some states now is illegal, but not all states. So, I think New York and California maybe New Jersey have outlawed the what are you currently making at your current job question, but most states have not outlawed it and so it's a very frequent question that recruiters like to ask. And this one is really sneaky along with the next one that we'll get to in a minute because it comes up really early in the interview process usually. So you're not in a formal negotiation, right? Usually people think of the negotiation as I have an offer and now how do I respond to the offer to negotiate? And this is so early in the process. It's usually part of the interview process where they'll ask, “What's your current salary?” And sharing this information can be really detrimental to you because you don't want them to make an offer to you based on maybe an incremental bump on your current salary.

You don't want them thinking, “What's the minimum that we need to do to convince John to come work for us?” Right? “Well, we'll do his current salary plus three percent.” Which super common, right? So you don't want them thinking that way and so if you give them that number then now they're gonna be thinking, “What's the minimum we need to do to get you on board?” Instead of, “What do we have to offer John to get him to join our team?” So sharing that current salary is a big mistake. The best way to avoid that is usually I find just to say, “I'd rather not disclose that. I'd rather focus on this opportunity that's in front of me and talk to you about the value that I can add to your team.” And so it's just a nice little sidestep. Usually recruiters will get tired of asking you for it if you give that answer or a version of that enough times. But that's the first mistake. Is sharing your current salary when they ask you for it.

I agree. That makes a lot of sense. I think a lot of people feel like they have to answer that question and they can't just … I mean, I like your approach. I think that's probably the best thing. Is just to say, “I'd prefer not to disclose that.” And then if they, usually people aren't gonna press, right? Someone may press. In the past what I've told people when I've been at an interview. Especially in the early stages is I've said, “Look, here's the thing. I'll be totally honest with you. It's not just a number because there is benefits involved. There's work environment. There's a lot of factors involved so it's really hard to equate it to just numbers. So I don't feel like that's gonna be an accurate representation for either of us in terms of this position.” Or I've even said before that I can't disclose salary information from another company. That's their proprietary information.

That's my sort of trump card. Sometimes you're right. Most of the times a recruiter … it's almost like they have a list of check boxes they need to check that are questions they're supposed to ask you. Maybe if you're lucky this candidate will give you this information which makes it easy for us to make a small offer, right?

Right.

And so I think the trump card though is what you just said which is you basically raise and ethical objection which is my current employer is currently paying my salary, and I'm not comfortable disclosing how they compensate people like me. I think that kind of information that can give you an advantage or other companies in the same way that I wouldn't necessarily disclose that information if I were working for you. I don't wanna disclose their information to you. And I like that approach as a last resort because it backs them into a corner where they're forced to either just abandon ship and give up on that quest, or to basically tell you, “Okay, but I want you to do something that you have just told me you believe is unethical.” So, “I wanna hire you but also I want you to do something unethical just to get the opportunity.” And that clearly is a conflict for them and wouldn't make a lot of sense. So I do like that as a last resort kind of trump card.

Yeah, it's one of those things though. I'm glad you mentioned this one first because I feel like you have to really harp on people that yes, even at the risk of being judged a little bit. Just push back on this and just say, “I'm not gonna give it to you.” One time I had even said, I just went with the total honest approach and I said, “You know, I feel like if I gave that information it would put me at a distinct disadvantage if we talk salary negotiations later on so I'd rather not do that. I'm sure you can understand that. You wouldn't wanna do that either.” And again, I would still prefer, like you said, the very first thing you said. I think that's … but because then no going into it. Just like I just prefer not to disclose that. I think that's a simple … It's gonna work 90% of the time but people don't think it will, right? They're afraid to say that, right? So …

Well, it's weird. This is why … So I kind of colloquially I call this one and then the next one we're gonna talk about the dreaded salary question together. And the reason that it's dreaded is what you just described which is it happens in the interview. Usually it's early. It might be in your screening card. You may not even have had your first interview yet when they're asking you these questions. And what you feel like is, “Well, I wouldn't be talking to this person if I didn't want to be considered for this job, and I guess I just needed to comply with whatever they're asking me so I can get to the interview process. ‘Cause I obviously can't get the job if I don't interview. And I may not be able to get to the interviews if I don't give them this information. So I feel boxed in. Almost like I have to provide this information just tog et to the interviews. You don't have to provide the information to get to the interviews but it can feel that was as a candidate. And so that's why I call them the dreaded salary question. It's why they're particularly sneaky. Because you may not be in a negotiation mindset at all when these questions come up. You're just thinking, “How do I get to talk to a hiring manager or somebody that might be on the team of the job that I'm applying for.”

And so a lot of people don't even … it doesn't even occur to them and slow down and say, “Wait a minute. Could this hurt me in six weeks when I get through the onsite process and everything and I might get an offer.” So it's pretty sneaky.

Yeah, yep. Exactly, exactly. I think the other thing too that I've heard a lot of people talk about is lying to this question which I think is a really, really bad idea.

I don't like it.

As well. Yeah.

I think lying, my philosophy. I tell this to all my clients. We're gonna be honest. Honesty is the best way to go. If you don't lie then you don't have to cover anything up. If you get caught lying you're in real big trouble and it's just, to be honest with you it's not necessary to lie. There are ways to get through interviews and really make a good impression without lying. And so I don't encourage anybody to lie. So you and I are on exactly the same page there. Even if you feel like you're fighting fire with fire, right? Well, they're gonna be sneaky and ask me tricky questions that they shouldn't be asking so I'm gonna lie to them an answer. I don't think that's the way to go.

Yeah, and even if you do. I think if you lie on the high end it could actually screw you from getting there because they might think that you're too expensive. I'd rather wow them at the interview and do a good job where they want to hire me, and then give them a big number that I'm asking for. Rather than upfront, which I'm sure we're probably gonna get to. I'm gonna guess that we're gonna hit another at that topic. So, okay. So let's move on to number two. What's number two here?

All right number two. That's a perfect Segway actually. You did it perfectly. So, the second one is disclosing your salary expectations.

Yes. That's what I was gonna guess.

You're exactly right. So the first one is what's your current salary but they'll usually ask it as a two part little package question. What are you currently making and what are you hoping to make if you come join your team, right? So, what's your current salary? What are your salary expectations? And you just articulated some of the really good reasons why I don't like disclosing salary expectations. Most people will say exactly what you just said. It was, “Why don't I just say a big old number.” And so I like to pause people right there and say, “All right, let me reframe this question for you.” So you're talking to a company. Let's say you're talking to Apple, right? Apple says, ‘Hey, what are you hoping to make if you come work for us?” What are your salary expectations?” And they're also implicitly saying, “We've got thousands of engineers that do something very similar to what you do probably. We've been hiring for years, and years, and years, and years. You're a software developer. You've had one or two, or three jobs. That's good for you. So you've got few data points. We've got millions of data points. We have a lot of data reports, salary surveys, economic data. We have a team of economists that are looking at global economies and all those things.”

“So, just based on what you know. Take a wild guess what we would think is an appropriate salary to pay somebody that has a resume like yours. Just guess.” And then you're like, “Well, am I guessing high? I don't know. I think I'm gonna guess high but am I gonna guess high? I don't know. And the really pernicious is you're almost guaranteed to not guess the right number. So if the number is 150000 base and 200K equity. You're never going to guess those two numbers in combination. You're gonna be too high or too low. Like you said, too high, you could disqualify yourself. They could say, “Oh, we're not looking for somebody that senior. We're not gonna talk to you anymore.” And you may have had an opportunity to interview even though they wanted to hire a more junior person and as they talk to you and the hiring managers get to know you and they start rallying around you and saying, “Hey, we want John on our team. What's it gonna take to get John on our team?” Get to the end and they say, “We don't know if we should offer John this junior role. We might actually go for a more senior role. I think he's a more senior fit. He's probably gonna be more expensive than we budgeted for. That's okay. We've got the extra budget. Let's make him a senior.” Right?

That could be part of the negotiation but if you disqualify yourself early before they get to know you by guessing too high. They might just say, “That's too bad. We were really hoping to bring you on. We'll give you a call if we open up a senior position for you later.” And of course, if you guess too low the consequences are pretty obvious which is assuming that the number that you guess is in their pay band still, but on the low end they might just give you the number and then know you're boxed in where you would realize, I call this the bad yes. You say, “Well, I wanna make 140K base.” And they say, “Great, here's a 140K base.” And immediately you go, “Ah, what if I said 150?”

So if you guess on the lower end you could be costing yourself money and the sneaky thing there is if you guess under the bottom of their pay band. So let's say the minimum they would pay this role is 150 and you say, “I'd be happy at 140.” Then they get to have their cake and eat it too. They come back to you and say, “Hey, you know what? Great news. You said you only wanted 140. We're gonna give you 150 because we have to do that. We literally cannot hire you for less than 150.” And you're like, “Wow, I must've really blown them away. I got another 10K for doing nothing.” But you don't know that if you asked for 180 you might've gotten it. You might've gotten 170 or more equity or something like that. So, again, I see it as just take a wild guess what we might pay somebody with your skillset and experience [inaudible 00:14:06] this kind of job at our company. And you're always gonna guess wrong.

So instead I think that you should say something like, “You know, I really don't have a number in mind. I'd wanna focus on the value that I can add to your team in this position, and I want this move to be a big step forward for me. Both in terms of responsibility and in terms of compensation. I look forward to hearing what you offer if we get to that point.” So you just, again, sidestep. I don't wanna talk numbers. I wanna talk about the value I can add. Which is genuine, right? Like we said, I as an interviewer or the interviewee. As the candidate I want as many reps. As many opportunities as possible to blow them away and make them think, ‘What do we have to do to get Josh on our team? How much do we have to offer him? Should we offer him a more senior position?” And so that's the way that I like to approach is not sharing numbers. Using interviews as opportunities to drive your value up in their eyes so that they're making a strong offer that's designed to compel you to take the job at their company instead of going somewhere else.

Yeah, yeah. No, I totally agree. Yep. When I've been in that situation in the past, again, I've also said that a number, a salary number is not a total compensation in impact. There's benefits, there's options, there's all kinds of stuff. There's a work environment. That factor into it. So for me to give a number as if just a number's the only thing that's important. It doesn't do it service.

Yeah, you could find out that they don't have a performance bonus or something and that makes your base salary a little bit less valuable, right? Maybe they have an unlimited vacation policy which could be more or less valuable to you, right? Or they don't have a 401K match. That's three percent off the top that you're not getting. So there could be a lot of things that you find out later that would have made you say a higher salary number, but you don't know that information usually until you get an offer and they send you the benefits package. So, another reason not to, again, not to just guess what they might pay you because you might not even be guessing on the same scale as what they're using.

Exactly. In fact, you know what? I've got … just remind me. I might as well throw this in for everyone that's listening here. I created a salary calculator that is a spreadsheet that has a tool in there where you can basically put in … you can compare a salary to a contract, right? And you can put in benefits and things like that, and you can come up with what the actual apples to apples comparison is. Do you know which is more? $50 an hour or $100,000 a year. Well it depends if there's 401K match and all those things. So, if you guys want right now. We'll put a link in the description and if you subscribe, definitely subscribe to the channel, but if you go through there and tell me where to send it I'll send you that, and of course that can help you with figuring out some of that stuff.

I love that. A lot of people are really, like you mentioned earlier I think going from contract to full-time. That's a tough transition because it's hard to know what the full-time number looks like. You know what your contract number looks like, right? If you're 1099 or even a W2 contractor. You know what you're making hourly or whatever that rate is, but then you don't really know how that translates to, “Well, what if I have benefits now? I now have health insurance. I don't have to pay my own taxes.” And stuff like that. “How much is this offer they're making me?” Or going the other way if you decide you wanna freelance or something. So, I like that. That's a cool tool.

Yeah, I was surprised when I actually ran through it myself because when you're trying to … I think that's probably the problem with trying to name a number is you could really hurt yourself when you don't actually calculate this out and see how much it's worth. How much is the 401K matching? How much is the medical? The benefits that they're paying you? Are they offering you a stock option or a employee stock purchase program? If it's a 10% discount on a stock that's some serious money that, you know it's like if you don't calculate all that stuff and I've gotten it wrong. I had looked at jobs where I was like, “Okay, this is clearly better.” And it's not. When you run the straight numbers I was off by 20% in the wrong direction thinking that one job was actually paying more when it's not. So I think that's really important to figure that out.

Cool. I like it.

So some of the push backs I think, and I've seen this before. I don't know what your experience with it is but on the first question, on the first mistake. When people say, “What is your current salary?” Usually they'll, if you say, “I don't wanna disclose it.” I think 90% of the time they go away and they, “Okay.” But on the second one I feel like they push it a lot harder, right? I've had developers that I've coached or I've even seen it myself too where you fill out a form for the … and then you put a zero in there or you put like a … it's telling you what is your salary expectations and if you put anything in there like n/a or zero or something like that. They come back and say, “Okay, you need to actually complete this.” I've had that happen. What do you do in that case? What kind of advice do you have? Or if they just come back and they say, “Hey, you know what? We need to know what your salary expectations are so we know whether you're a good fit for this job or not.”

Yeah, so I usually like to turn it around on them because then they'll say frequently what you just said is what they will say, right? And so I think that's actually a bluff most of the time and so I like to just call them on that bluff and say, “Oh, I didn't realize that's what you were trying to do. If you need to qualify me for a range. Let me know what that range is and I'll tell you if you're in the ballpark so we can move forward.” And now you flipped it back on them, right? So they said, “Oh, we need to make sure you're our the range.” You said, “Great, what's the range?” Right? Which, again, they are in a better position to give that range than you are because they're the ones who are actually setting the range, and they have more data than you. And a lot of times, probably 50% of the time they'll say, “Oh, well let me get back to you and …” and then they move on.

And then sometimes they say, they'll give you a big range. “Oh, we're thinking like 150 to 200K.” Right? And then you can say, “Yeah, that's in the ballpark.” And just leave it at that? Right? So you're not committing. So you're using the term ballpark which I think is important. So you still have plenty of latitude to negotiate later. You also have latitude to negotiate for the reasons that you said which are even if they tell you the range of for example, base salary. They haven't told you what kind of equity they're offering. They haven't told you what kind of sign-on bonus might be available. You don't know what the 401K match looks like. Their vacation plane. Do you get three works of four weeks paid? What's the bonus structure look like? There's a lot of stuff that you still don't know.

So telling them, “Yes, that's in the ballpark.” Is an honest answer. And of course if they're way off you might wanna tell them, “Let me have some time to think about that.” Right? But usually the range is so wide it's gonna capture anything that you would consider pretty reasonable.

Yeah, yep. No, yeah. That makes sense. Now what about the, I don't know if this is one that you're gonna get to bu this one's related to it is I've often had developers say, “Well, when they asked me what my salary requirement was I said somewhere between 80 to 120,000.” And so they give a range and I'm like, “No, don't do that.” It's like if someone said, “Well, how much do you want for …” you know you're selling something on Craigslist and they're like, “How much do you want for the couch?” Like oh, somewhere between three and 500. They're gonna be like, “Oh, how about 300 then? Or how about 310?”

Right. That's what I always say is anytime you're telling them a range. They hear the bottom number in the range. Anytime they're telling you a range you're gonna hear the top number, right? So in my example I said 150 to 180. Or 150 to 200. So if I said 150 to 200 to you, you hear 150 'cause you're the buyer, right? So you're like, “Great. 150.” And then if you say, or if we flip it around and you're getting the information of, “Well, I could pay you. I'm the seller. I could pay you 150 to 200.” Then you're gonna say, “Great. 200.” Right? So you're just gonna take whatever end of the range is most advantage for you, and that's what they're gonna do too. So, if you tell them 150 to 200 they're gonna hear 150 and your offers probably gonna 155 or 160 or something [inaudible 00:22:16]

Now, what if they're just adamant 'cause I have seen this before where they're like, “No, you have to give the number. We have to have this in for our HR records.” Or whatever. They pull out some kind of, “We can't move forward until we have this information.” What do you do?

I have two answers to this. First of all, I don't like it. It frustrates me because it's a strong arm tactic. Usually it doesn't get that far. If they are super adamant then sometimes ill actually tell my clients, “All right, well I guess we've got to tell them a number.” But I'll also tell my clients.” I hope you're talking to other companies.” Because if they're not willing to talk to you until you do their negotiation job for them and you're clearly at a disadvantage here. So, they're asking you to give them information that everyone who's a party to this transaction. They know that you are costing yourself money and putting yourself at a disadvantage by giving that information you've indicated that you do not want to put yourself at that disadvantage and they insist that you put yourself at that disadvantage.

And so, for me, that's a red flag that maybe this organization isn't focused on getting the best talent, right?

Exactly, yeah.

And so that's what you don't wanna do is be sucked into an organization's pipeline where they're just looking for cheap labor. You want them to hire you because you're competent at your job and valuable and they wanna compensate you for the value that you wanna bring. So if they say, “We're gonna shut it down if you don't give us a number.” And they mean it. So if you call their bluff a couple of times and they are not budging then I think it's reasonable to just give them “A big number.” And try to move forward while you're also shopping and saying, “Maybe I don't wanna be working for this particular firm.” So I don't like it. I've seen several times even with like Google. Where Google recruiters have said explicitly, “We cannot move forward in this process until you give me a number.” And my client will tell them, “I am not giving you a number.” And then they'll say, “Okay, okay. We'll come back to that later.” And then they never come back to it until they make an offer.

And so usually it's just a very aggressive bluff and it's rarely actually a deal breaker for them, but if it is a deal breaker I would make sure that I have a plan B and then maybe give them a number that's too big just so that you can move one.

Okay, yeah. I think even with both of these. These first two ones. What you just said, right? If Google emails you and they're like, “We need a number. We can't move forward.” It's pretty ballsy to be like, “I'm not giving you a number.” It takes some balls to do that.

Yeah, for sure.

Even to answer any of these question and to … 'cause I think most developers are so afraid that they're gonna lose the job that they just, they're like, “I'm not gonna risk anything. I'm just gonna tell them what they want.” And it's, I guess, I mean it's not going to risk you the job in most cases.

Yeah, it's like 90 plus percent. 95%, maybe more. It's very rare that they will stop talking to you because you did not give them one of these numbers. Very rare.

Yep, yep. And I've given numbers before when I've been forced and I think one time I got forced to and I just said basically, I gave what I thought was a good … I did my homework ahead of time I knew. But I gave a number and I said, “But you know, it really depends on the full package. The full compensation package. Benefits and everything. I don't know. How much days vacation and all of these things. So this is roughly what I would expect, but …” so I'm not-

That's a good-

Fully committing it 'cause I don't want them to be like, “Hey, we gave you the number you asked for.” That's the worst thing, right? And now you try to raise the price after, but it's like, “No, I said specifically that it depended on the benefits.” And you know so …

I mean that's a perfect little a teeny tangent that you just took us on and we can come right back from quickly, but yeah. If you do say a number and they make you an offer that matches that number. That's the way I like to continue negotiating as well. I gave you that number but that was before I saw the benefits package. So, now that I've seen the benefits package I think I'd be more comfortable if we could increase the salary that you offered, right? And so even then you kind of always have that in your back pocket where it's unlikely that you're gonna know all that information up front, and you can usually find something that you can say, “Well, this is a little different than I thought. I didn't realize this about the benefits package and so because of that I'd like to ask for more salary.

Exactly, nice. All right, so what do you got for number three here?

Number three, I think this one will be pretty quick but I think it's super important. And that is a big salary negotiation mistake that people make in general. Especially software developers is they don't negotiate. And we've come to this point where if you have listened carefully and you're doing the stuff that we're saying to do you've probably commanded a pretty strong offer from the firm or the firms that you're talking to, right? So you've done your homework. You've avoided the questions that could've cost you money and now they're thinking because you're interviewing well, you're performing well in whiteboard interviews, and your onsite, and you're group interviews, and now they're thinking, “All right, well what do we have to do hire John? What number do we have to say to convince him to come work for us?”

And so a lot of times you're gonna get a pretty strong offer and it can be sometimes a little disarming when you see the offer you go, “Oh wow, I'm glad I didn't say a salary expectations number 'cause I would've been way under that number.” And then a lot of times people will take their foot off the gas and say, “Oh, well I didn't know I was gonna get offered this much money. That's pretty good. I don't wanna seem greedy. So, I'll just take that. I'll just take that.” Right? And so they just don't negotiate. But it's important to make sure that you continue to negotiate because you've only begun the negotiation. You've done your part to get what you perceive to be a strong offer. Usually what that indicates, by the way, if you get an offer than you think is stronger than you expected is that your data was off somehow. Your research was a little off. You underestimated your value to this firm. That's what that tells you. And it's the most explicit data point you could get to tell you that.

So you didn't have a number from them. You did a bunch of research, you had intuition, you had prior experience, you had your current salary. Maybe other data points. You thought, “I should make this much money.” They offered you more than that and what that means is that you just underestimated your value to them. It doesn't mean that necessarily that they're making a home run offer to try and bring you on board. Sometimes that's the case. Occasionally the reason you're seeing a big offer is that you've convinced them they should not mess around. Maybe they know you have other opportunities and they're trying to make sure that they lock you up right now. Right? ‘Cause you're a free agent and so it is possible that they're making you the strongest offer possible and that you won't be able to move it with negotiating but you can't know that until you try to negotiate.

So the mistake itself is just not negotiating. Usually because you perceive the offer to be strong or you're maybe intimidated by the recruiter. Some recruiters are very good at making you feel guilty for negotiating. Like they'll give you a little bit of a guilt trip about how busy they are and how hard it is to fill this role, and how they're working on these other opportunities. And they were on vacation last week and they're trying to kind of dig out from under their inbox and all this stuff, right? And they make you feel bad and you're like, “I don't wanna trouble this poor recruiter and ask them for more money. That's gonna make more paperwork for them. They already sent me a PDF of an offer. It's more or less in stone.” Little tactics like that.

And so you'll feel reticence sometimes. So this is just my kind of admonition to negotiate. Even if you get an offer that looks good. Even if you feel sorry for the recruiter that whatever they offered you the best reason to negotiate that offer is because there might be room to negotiate, and you can't know until you counter offer and you try to negotiate. So that, like I said, I think that's a short one but the mistake is people sometimes will just not negotiate. Even though I've convinced them they should. Even my clients sometimes. I had a client, I don't know, two months ago. He got a really strong offer from Facebook and he was like, “You know, this is really good. I don't think I'm gonna negotiate.” I said, “Listen, don't decide right now. Just let me write the email that you're gonna send to your recruiter. Let me just draft it for you. And I'll send it to you. You can read the email and you and I can talk about whether you wanna send that email and whether the number in the email is something you're comfortable with, but don't decide right now not to negotiate. Do not email them and say that you accept. Please. Just give me a chance to talk you into counter offering.”

And of course he got like, I don't know, another 200K equity or something from that. Which is like, you know, he was a super senior machine learning guy. So super high demand. It's not, your results may vary, right? Your mileage may vary, but point being he was blown away by this offer he got from Facebook, and I had to really work hard to convince him to negotiate 'cause he was so surprised by how much they wanted him. But I said, “Look, all that means is they want you on their team worse than we thought they did. So let's see how badly they want you on their team. Let's see what your value is in this 10s of billions of dollars valued company. Let's see what they're willing to pull out for you.” So mistake is not negotiating. You should always negotiate. The caveat I'll put there is people say, “What if they rescind the offer if I negotiate?” And my answer to that is if they rescind the offer because you negotiated you probably don't wanna work there.

It's self-serving. That's a huge red flag for me. If you say, “Hey, you value me at $150,000. I'd be more comfortable at 165.” And they say, “No more offer.” Then you know that they're not really wanting to hire you. They're not gonna let $15,000 keep them from hiring you if they really want you specifically to work for them. So, they're almost never going to rescind offers. It's like one in 100. One in 80 in my experience. It's very, very rare. Every time it happens I email the person and say, “Hey, tell me your story.” They tell me their story and there are red flags everywhere [inaudible 00:31:21] organization to work for. They don't wanna be on the inside of that organization.

Yeah, yeah. No, that's a really good point. In fact, sometimes when a company that rescinds the offer was gonna rescind the offer anyway, because they ran into a financial problem. Their budget. They're not making payroll this month and so this has just gave them a excuse to do what they … in fact, it's better they rescind it now. Then the worst thing that happens and I've had developers tell me this horror stories. They move across the country to start their new job and offers are always at will. It's like at-will employment. It can be pulled even after it's been signed by both parties. They don't have to pay you anything until you've actually put in hours and work. You could move across the country and I've had that happen before where people have told me about that, and that's bad. That's horrible.

It's real bad. Yeah, and another sneaky thing that I've seen is sometimes they will have actually extended the same off to like a couple or two or three candidates and so it's almost like first come first serve. And so what they were doing was bargain hunting. And somebody was gonna get the offer pulled anyway. And you just happened to be the one who was smart enough to negotiate and allow them to reveal their hand that they had too many irons in the fire. So that's what you said happens sometimes and also sometimes they'll just be in such a desperation mood to just get people in the seat to do some kind of work. That they don't care who it is and they just want the cheapest person and that's not who you wanna be.

Yeah. And if someone rescinds the offer. It doesn't mean that it's … I've done this before in negotiations and besides the salary negotiations where I've come in and I've negotiated high. I sell a lot of real estate, right? ‘Cause I invested in a lot of real estate. So I'm selling it. When I'm selling one of my properties sometimes I'll make a counter offer back to the buyer and I'll make a high counter offer then they'll say, “No, nevermind. We'll just pass on the property.” And then if I'm like, “Oh, crap. I guess I would've taken what they …” then I just go back. You have a little egg on your face but you crawl back to them and you say, “You know what? After I looked at everything and all the circumstances everything. I am willing to accept your offer. I think it's a good solid offer. My calculations were a little bit off and my estimation of the market. So, we'll go with that.”

And it's the same thing I think if you go to a company, again, if they're not malicious and you're like, “Hey, after I went back and looked at all your benefits and everything and I did the calculations, and I realized what I need to live on and everything. If you're willing to give me back that first offer.” It'll hurt a little bit inside with the pride but it's still on the table. It's such a fear I think that so many developers are like, “Oh, if I try to negotiate at all they're just gonna pull the offer. They're gonna say nevermind.” And it's not the case and it's not the dead end either.

Yeah, well you just sued the optimal word for me, right? Fear. That's why my book is called Fearless Salary Negotiation. ‘Cause it really is scary. It makes people nervous and I think offers being rescinded is the big one. Being perceived as greedy is another fear that people have, and there are a lot of things working against you. Some of it is in your own head and some of it is sort nice sort of marketing by recruiters and companies and other people to make you a little bit nervous about negotiating. Are you sure you wanna do that? That kind of stuff.

But you're right. If it's a company that really wants to hire you they have explicitly stated what they would like to pay for you. Sometimes that's the bottom end of the range and sometimes it's the max. Even first they say, “Hey, you know what? We thought that you would be all right at 150. You want 170. We just can do that so I guess this isn't a good fit.” You can always just say, like you said, “Okay, okay, okay. 150. You're right. I was off on these numbers. I'll take it at 150 if it's there.” And if they really wanted to work with you they're gonna be happy. They're gonna say, “Great. 150 that's good. Let's go. Let's get to work.” Right? 'cause they're just trying to get to work with you and they just maybe couldn't afford to pay more.

So, yeah it's imperative to negotiate. Even if there's a one in 100 shot that the job goes away. Usually that's a job you didn't want anyway and in future you will look back and say, “That was a bad situation that I almost got myself in. Thank goodness I didn't do that.”

Yeah, yeah. That's true, and I think the other thing is with the rescinding of the offer. At the point where … like I've hired people before. I still hire people for my business now and I know at the point where I'm giving someone an offer I've done so much work because I've interviewed 50 people, and maybe I've run a background check and spent money on, or maybe I've … I've invested. At the point that they've actually sent you an offer I think the company's invested so much that they're not just gonna pull it at the drop of a hat. It's not like at the beginning of the interview process when they haven't invested very much into you. At this point it's like to pull an offer on someone is wasting a huge amount of man-hours and time, and money.

Yeah, yeah. You're spot on there. I mean, if you think about it from the hiring side. Especially for these big companies where they'll pull in six directors or six managers into a room to interview you for an hour. That's six man-hours they just burned. You're looking at thousands of dollars for that one meeting with you. Nevermind the fact that they flew you across the country. They put you up in a hotel for a night or two. They brought you on and had you shadow people. They're [inaudible 00:36:39] pay a recruiter. There's a bunch of money that they're spending to get to that point where they extended the offer to you, and most likely they're not looking to just light money on fire. And again, that's why it's a red flag if they do pull the offer and they are willing to light that money on fire. That means there's something weird about the way that they're managing their resources internally. And that makes me nervous about working for that company, right?

Exactly. And I like what you said earlier about … it kind of reminds me of the poker, like a poker playing mentality of the odds are if someone's given you a super high offer. It's not that you're so stellar and you blew them away. The odds say that you under priced yourself and you didn't understand the market 'cause I think the ego inflation, the ego answer. You wanna believe that, “Oh, they just give you a super high offer because you're so awesome and there's no way they're gonna budge on this because they already gave you a super high offer.” But in reality the chances are, the odds are that whatever it is. Maybe seven out of 10 times it's gonna be because you just had the wrong expectations that this is actually just a normal offer, and even though it might hurt your ego a little bit. And so there is gonna be a lot of room to negotiate. So it's better to take the thing that's more likely to be the case in reality.

Yep.

Yeah. Cool.

So that's a good seg. I think that we'll go to number four if that's all right.

Yeah, let's do it.

So it's perfect seg to the next mistake is just not asking for enough. So sometimes people will be convinced they should ask for more, right? I keep using the example of an offer that's a 150K base, and so they'll like, “Oh, I'll negotiate. Yeah, yeah. 155.” So they ask for three percent and it's like, first, good. Most people don't do that so you're already in the top 10%. You just ask for more. You're in the top 10% that's good. But it's not enough. And so my recommendation usually is the first thing you should do with any offer is prioritize what you care most about in the offer. So there's gonna be a few different components in most offers. Base salary is far and away the thing that most people will focus on. There are exceptions for certain companies. Like the big five tech companies. Appagoomasoft or whatever you wanna call it. Apple, Google, Microsoft, Facebook. Those guys. They have a lot of equity they can splash around that sometimes equity might be more important to you depending on your offer. It's tough to give a rubric for how to decide that, but usually it's gonna base salary.

And so you wanna say, “What's the thing that I wanna focus on? And then how much should I ask for?” And so once you prioritize that thing. Usually base salary. Then you say, “Well, how much should I ask for?” A quick and dirty metric that I like to use in 10 to 20% more on that thing. So if they offer you 150 you should ask for at least 165. That's the bottom. That's the minimum that I would have a client counter. Up to 180 would be 20%. That's a good range of what you should ask for sort of in a one size fits all type of negotiation. Somewhere in 10 to 20% above the offer in the dimension that you care about. Which like I said is almost always base salary. And the way that I help people slide from 10 to 20 and find their spot in there is basically 10% is you don't see any reason that they think you in particular are the candidate or a super compelling candidate. Maybe they told you they're hiring for 10 entry-level software developers. You're one of the 10. Maybe they're doing a favor interviewing you and happen to make you an offer because you happen to know somebody that works at the company that referred you. Or you're in a normal process.

You don't have any reason to think that they're really compelled to hire specifically you to do specifically this job. So they're not super desperate to hire you. They're just interested in working with you and have made you an offer because they think you might be a good fit at the company. At the other end of the range is the opposite of that which is where you know that they really want to hire you. So you have a very specific niche expertise and you'll know this if you're listening to this and you're wondering how you'll know. You'll know. Because in the interviews they told you, “We've been looking for this person for six months. You have exactly the skills that we need for this. We've never met anybody who has this full stack experience that you have.” Or whatever they've said and there are little alarm bells that should be going off to you. They're telling you, “We have a really hard time finding somebody that can do what you can do and therefore you are valuable to us.” And that gives you a green light to ask for more. For all the reasons that we've said before. The big one is if they're having a hard time finding you. They're certainly not gonna run away because you asked for 20% more salary.

If anything they'll go start digging in the couch cushions to figure out where they can come up with that money because they have to hire you. So make sure you ask for enough. The mistake is not asking for enough. You finally get up the nerve to counter offer and you ask for two percent or something. It's not enough. 10 to 20% is what you should be asking for and that's scale depends on how desperately do you think they need to hire you. On your side it is also worth considering because there's a teeny tiny chance that they will pull the offer. It's worth considering how badly you need the job. So if you haven't paid your rent in six months, you're desperate, you have no money. You've racked up all this credit card debt. You may not wanna be super aggressive in your negotiation. You probably will cost yourself money sometimes in this short-term negotiation, but you have to account for the fact that you're not in a very strong negotiating position and that you should try to negotiate but not be super duper aggressive.

Yeah, that great advice. But you should still negotiate because I know a lot of people are gonna be like, “Oh, no. I haven't paid my rent. I've got credit card. I can't afford to risk losing this job.” But that's not what you're saying at all. You're saying if that's the case you should still negotiate absolutely, but just make it at the lower end of that minimum which you said was 10 to 20%, right? So even in that case you're still gonna throw them back a big number. You're not gonna go up three percent or whatever because it just makes sense. This is the smartest thing to do.

Yep. And this is based on, so to give a little bit of color here. When I wrote my book I rewrote the chapter on how to negotiate salaries. This specific step that we're talking about three times from scratch. It took me a long time to get the chapter right, and something I was really stuck on was how do I make a system that people can use as almost a plug and play one size fits all system. So I can do better than that. When I coach people each situation is different and there are nuances, but for the vast majority. 80/20 rule. 80% of the time if you just do this you will get more money. It will work for you. And I used to be my background is that I consulted in HR software. I consulted with companies on how they pay people. I was a hiring manager. I negotiated my own salary. I negotiated salaries for people that I hired. I consulted with companies on how to actually manage compensation. How to determine how to pay people.

So I know how this stuff works and I called some former colleagues and I said, “Hey, listen. How much is enough to counter and how much is too much? What does that range look like that I can try and get people into a nice channel where they're safe.” And the number that we came up with was 10 to 20%. So this isn't just like I threw a dart at a dartboard. I hit 10 and I hit 20. It's at 10 or 20. It was significant consulting hours with former colleagues trying to figure out what the sweet spot is, and the bottom line is 10% is just not enough to make anybody really raise an eyebrow. If you think about, you know, you've hired people. If they're paying you 150 that's not what it costs to hire you. It costs like 300 to hire you. The employee for year is gonna be 300K or more and so if you're asking for another 15K when it's gonna cost them 300K. That's just nothing. It's a drop in the bucket.you start getting up to 20%. You're asking for 30K on 300K total. That a little steep. It's not too much but for the right candidate it's fine.

And so you wanna push them hard at the top end. So, 10/20% is, I wouldn't call it scientific but it's well researched and it's got a lot of my own personal expertise from previous lives built into that plus some of my colleagues. So I like that range a lot. It works really well for people who read my book. For my coaching clients. Anybody who uses that range it works pretty well for them.

Yeah, this was a lesson I had to learn the hard way 'cause I think a lot of people, in fact, there was a really good book on it called Never Split the Difference but a lot of people have this splitting the difference mindset and so they think, “Well, let's see. They offered me 150. I really want 160 so I'm gonna say 165.” And they're trying to basically find the meat in the middle point and they're not thinking strategically that … And I had a situation where I was working with a lawyer and a judge in a mediation type of thing where we were trying to negotiate. And these were the experts and I was I think … The circumstance was that I was basically trying to get 10 grand from someone who had basically screwed me over and my initial approach was to make an offer at let's just say we want 15. And both the judge and lawyer laughed at me, and I was like, “What?” And they were like, “We're gonna ask for 50,000.”

That's what I was thinking. 50 was my number right here.

Yeah.

That's where I was like, “You're asking for 50.” Yeah.

And I was like, “Whoa, wait a minute.” I'm like, “Hold on. This is crazy. The guy's just gonna laugh.” And we put in the offer at 50 and he comes back and he says, “Nothing. I will give you zero.” And I'm like, “Oh shit. You guys messed it up. You guys messed it up for me.” And they're both laughing. They're like, “No, no, no. Just watch. Just watch.” So I'm like, “Okay, well let's get to 25 or 30.” And they were like, “Are you sure? ‘Cause I'm thinking 45.” I'm like, “What are you crazy? He just said zero to your 50. I only wanted 10. You're gonna now insult him with 45.” I was like, “Okay, fine. I trust you guys. Just ship it back to him at 45.” And he immediately comes to 15. After that day, and I ended up with 20 at the end of the day. I learned that high is better. For the most part. Like that I was way, way, way too low on that. So yeah, so I think that's an excellent point.

Yeah. No, that's a great story. It illustrates exactly my philosophy with negotiating. Salary negotiations are a really interesting type of negotiation by the way. It's not what you would read about in most negotiation books. It's just not what it is and the reason is kind of esoteric but it's just the constraints that are put on salaries and stuff. Like the way that it works. It's a very unique little thing that you're negotiating there, but my goal is always similar to what I think your team is trying to do which is … this is not in my book. It's an undercurrent of my book and my strategy, mo philosophy and I tell my clients this. And that is, I'm trying to overshoot whatever their top end is. That's really what I'm trying to do. I don't want them to say yes. So if their top end is, in our example, if it's 165. I need to ask for more than 165 for sure, right? And so that's what I'm trying to do is figure out if I could see that their top end is 165 I would ask for more than that. Probably like 170. In salaries, again, salaries are where you don't have to go super high to get down to 165.

But I'm not gonna ask for 165 'cause they're not gonna say yes at 165. Everybody wants to feel like they got a deal, and so you have to shoot over just a little bit. Maybe make them a little uncomfortable so they're like, “We can't do 170. The best we can do is 165.” And you're like, “Great. That's what I was after.” So that's what I'm always trying to do with every ask. And actually this is a perfect seg into our fifth thing. So I'm gonna move right into it.

All right. So the fifth thing is stopping too early, right? And so in other words you ask for 10 to 20%. Maybe they gave you 10% or they gave you 15. That's great. And then the next thing you should ask yourself is, “Okay, so they gave me more salary. Where else are they flexible? Are they more flexible on salary? Can I ask for more salary again? Maybe they have more room to …” Or, “Okay, I got the max salary. Is there equity that I can get? Or maybe I can get them to throw in a sign-on bonus or some vacation time or something like that.” And so even though you've already seen them move you've convinced yourself that you should negotiate. You asked for 10 to 20% more. They gave you a nice little bump and then your intuition is gonna tell you, “All right. Don't push it. Just take your foot off the gas. Enjoy this.” But really then you should say, “Well, they're obviously flexible.” Right? ‘Cause remember our thesis is there's room to negotiate. We have proven that thesis. The question is how much room is there to negotiate and on which dimensions.

The nice thing that I like about countering on salary first is that it will often not only get you more salary but it will cause them to reveal to you where else they're flexible. So a lot of times they'll say, “You asked for 165 salary. The best that we can do is 160 on salary. But we can also throw in a $5,000 signing bonus and that'll get you 165.” And so now they've made you whole at 165, but what I'm thinking is, “Well, now I know they're flexible on salary. Maybe they're maxed out, maybe they're not. And I know that sign-on bonuses are in play which we didn't have one of those before. So now we've got a sign-on bonus to work with.”

And so now I might say, “Okay, if you could do 10,000 for the sign-on bonus I'm on board.” I wanna push them one more time or two more times, or if they come back with some equity. We'll give you 10,000 stock options. Can you do 20,000 stock options? So don't give up just because they give you something if they concede. Or even if they say, “No, we can't move on salary.” Then you might move onto something else and say, “Okay, you're not flexible on salary. I get it. Can you add a sign-on bonuses? Can you give me another week of vacation?” And that kind of thing. So, it's important to continue to push and that's why my method is designed actually to sort of ask for just a little bit more than whatever you think their top is. Because you want them to say no and this is really uncomfortable and un-intuitive for people. You do not want them to say yes because that means you did not ask for enough. It's very unlikely that you actually directly guess the maximum they were willing to pay. It's very unlikely. Most likely you undershot.

So you wanna make sure you overshoot so that you have an opportunity to do two things. One is get the max in that dimension. Salary, equity, whatever. And two, you get to ask again. And usually you can get away with two or three different asks to maximize the total value of your [inaudible 00:50:10] package. So you can start with salary. Max that out. If they haven't said yes to you yet. They've said, “No, or given you a partial yes.” You can ask for something else. “Hey, can you add a sign on bonus? Can you give another week of vacation? Can you give me some more equity?” Whatever that is. And so you wanna keep going because there's often one opportunity right at the end. You counter offered. They've come back. They've responded to your counteroffer and there's a little window there where they are so close to closing the deal that they're gonna work with you on some other stuff. If it's available to them. To close it because now the recruiter is already counting that commissions cheque. Before they weren't sure if they were gonna close you. Now they know they're can close you 'cause they're getting real close and they're gonna be like, “Yeah, let me go. I'll go get a approval for another week of vacation.” Or, “You know, we usually don't do sign-on bonuses but we can get you 10 grand.”

So that's my fifth mistake that people make. Is the stop too quick. So they talk themselves into negotiating. They do ask for 10 to 20% more salary and then whatever the recruiter says back in response and they just say, “Okay.” And they should keep pushing just two or three more times to try and maximize the total value of their compensation package in either that salary dimension, or in other dimensions too like equity, sign-on bonus, vacation. Things like that.

Yeah. Great advice. I totally 100% agree with you 'cause I think a lot of people, like you said, they don't even negotiate in the first place but then when they make that counter and they get back a counter they're like, “Oh, I can't possibly go back again. I'm really risking it now.” But it's really not the case. In fact, it's stronger at that point because if they've actually come they're showing they wanna play ball. If they're gonna rescind the offer they would do it right away, and yeah. And you've moved them closer to the goal. Yeah, I like that approach a lot for sure.

Yeah. Yeah, so those are our five. Five mistakes that people make and I think that avoiding those five mistakes is super valuable and can be really challenging. That's one thing I wanna say is I'm not trying to trivialize how difficult this is. The reason I called my book Fearless Salary Negotiation is it caused me to be afraid. I didn't negotiate a couple of job offers. I took pay cuts a couple of times, and then I started coaching people and I just saw how afraid they are and it's always, “I don't want the offer rescinded. I don't want to seem greedy. I don't wanna ask for too much. This is a pretty good offer.” People have a lot of fear around this so I don't wanna trivialize it. I'm very confident and comfortable with this 'cause it's literally my job, but it's not comfortable. It's gonna be awkward and uncomfortable but it's worth doing. And you'll find that once you do it you kind of get a little like, “That wasn't so bad. I feel pretty good about myself now.” It gets easier to do it.

Yeah, it's such a valuable skill and a valuable thing. I mean if you over the course of your career if you do that every time that you get another job the amount of money, the difference that that can make is huge. A lot of people don't even realize how much that that adds up, but it's not significant just in that one job I think. But also because you usually are going to go for a job that's making more than the previous. So where you're at, at your current job is how fast you climb that ladder to a large degree. And then also I think also to some degree there is a certain amount of respect that they have for you. It's like you're coming into the company valuing yourself a little bit higher. Sometimes if it's a big company the HR and the actual team you're working on doesn't actually … they're not gonna realize that you negotiated the salary, but [crosstalk 00:53:32] especially for small companies to know that you're not gonna get jerked around if they know that you're not just a pushover.

Yeah, you're taking yourself seriously. You're looking out for yourself. I think it demonstrates a lot of business acumen. It demonstrates that you're thinking about the value of things beyond I need to write X lines of code or whatever. I need to ship this many features or whatever. You're thinking about a more holistic approach to business and the value that you bring to that business, and I think that's sends really positive signals to the people that you're working with that you're the real deal, and you're not just a cog in their machine, but you're actually an asset that they're bringing into the organization.

Exactly. All right guys. So those of you that stayed on and listened to the tips. Thanks to Josh for being here and for giving those tips. Really good, like I said, I agree with all of this. This is stuff that I've encountered so many times. There's a lot more to this though. That's the thing and so for you guys as a special gift you we're gonna have a discount. Josh actually has a really, really good program on salary negotiation. So we're gonna put a link. It's gonna be a limited time promo but if you're watching this video go check the description. We'll probably put it in the cards as well and there'll be a link to get a really, really good price on his negotiation course. And yeah, so thanks, Josh. Really appreciate you coming on.

Yeah, thanks for having me. Super excited about this sort of cross-promotion that we're doing. I just love meeting new audiences and sharing this knowledge. For me, it's personally fulfilling to know that I'm helping people so I appreciate you giving me the opportunity to come on and just talk about this stuff. You could see I love it. So anytime I can talk about it and get new people to be exposed to the idea and if one person comes away thinking, “Maybe I will negotiate that job offer I'm getting next week.” Then I feel like it's a big win.

Well, yes. For me it's like a no brainer. It's so easy to talk about. Especially your course and it's so worth it for someone to buy because it's like if you just negotiate. If you use it, I mean, how much money are you gonna potentially make yourself, right? It's lovely when there's something like this that is a no brainer where it's like obviously you should invest in this skill, in this particular thing because it's going to make you more money. It's the same thing that I tell people with hiring a professional resume writer and spending the money on that 'cause it's like it will make you more money. There's no doubt. Learning how to negotiate your salary will absolutely make you more money. So to invest in that is just, it's no brainer. It's a net profit so …

Oh, yeah, it's really fun just to talk about something where you can just draw a straight line from I like I may just make this purchase to it makes me more money, right?

Exactly.

There's nothing in between. It's just a straight line right from A to B and it's boom. It's there. So I love it.

All right. Cool. Well, thanks a lot, Josh. And I'll talk to you later.

All right. Thanks, John

About the author

John Sonmez

John Sonmez is the founder of Simple Programmer and a life coach for software developers. He is the best selling author of the book "Soft Skills: The Software Developer's Life Manual."