derzorngottes AR/VR dev, thoughts on coding, culture & future

Negotiating the first job offer after coding bootcamp

Congrats on your offer - now comes the fun part! Photo by Christina @ wocintechchat.com on Unsplash

Negotiating an offer is one of the biggest hurdles for many junior developers, and especially for bootcamp grads. It’s hard to figure out how to sell yourself for any entry level job but things like stereotype threat, imposter syndrome, and a lack of prior references make this a unique challenge for coders from underrepresented backgrounds.

When I got my first programming job I made a huge mistake - I didn’t negotiate. Even though I knew I should, even though I’d read the advice, when the time came there was heavy pressure to immediately accept the offer and I folded. I was so afraid of the opportunity being snatched away that I jumped on it.

It totally sucked. Not because I wasn’t making enough - it was still multiples of what I’d made the previous year as a contract editor in publishing (20k!). It sucked because as much as I liked my job, I couldn’t avoid hearing just how much my mostly male peers with CS degrees were making. Their total compensation was up to 1.5x what I was making. Yup - 1.5x more for the exact same job with the exact same responsibilities.

You may think that my peers were making more valuable contributions and that it would take me time to catch up and produce work of the same value. Instead I found not only was I able to meet the bar, I often exceeded it and found myself sitting with my peers to help them get onboarded or debug an issue.

But because so much about career progression depends on your starting salary, I was stuck with the knowledge that no matter how hard I worked I would always be at a huge monetary disadvantage to my peers. The next time I was in a position to negotiate you’d better believe I did - hard. And I got the best offer I could for my level.

There are so many specifics to negotiating tech offers that I wish I had known for my first job, so I wanted to go deep on the components of an offer, specific tactics and phrasing to use in negotiations, and how to make sure you’re getting what you’re really worth.

Before the offer

If you are in the process of applying for jobs there are a few key rules to keep in mind that will make negotiating compensation much easier when you receive an offer:

  • Try to gauge the salary range by asking directly during your initial call with the recruiter or hiring manager. You can simply ask “what is the salary range for this position?” Sometimes they will skirt an answer and say “it depends on experience” but hopefully they will be transparent. It’s much easier to negotiate if the offer you get it already close to your ideal target.
  • If you are asked for a previous salary do not give it - say “I’m switching fields for this role so I don’t think it would be relevant.”
  • If you are asked for an expected salary range do not give it - you can say “I’d rather not at this stage” or “I’d prefer to start with an offer and go from there.”
  • If you receive a verbal offer resist the urge to accept on the spot. A great way to do this is to say “Thank you! I really appreciate it and I’m so excited to be at this stage. I’d just like to take the opportunity to discuss this with my family, would you mind sending me the offer details over email? And can we set up a time to talk in a couple of days?” (You don’t have to say family - you can use any generic excuse)

Take the time to research and determine your ideal offer Photo by Sincerely Media on Unsplash

Researching the market

Once you’ve received an offer (congrats!) it’s time to figure out what to aim for in negotiations. Some good info to figure out is:

  1. What people are currently making at this company in this role
  2. What the market rate for this role is in your city

To get some data on current pay grades at the company there are a few avenues to research. For big tech companies levels.fyi provides a decent overview of compensation packages. You can also search “[company name] salary blind” to get scraped results from the Blind app - just keep in mind that a lot of those results may skew to mid career roles. For smaller companies Glassdoor or a google search may turn up some results.

If you didn’t find many good results (or if you did but the salary seems low) check out payscale.com to get a bigger picture for salaries in your city. Try a few different titles like “web developer,” “software engineer,” and “programmer” to get a few data points. Note that the ranges are often large, and you shouldn’t be looking at the low end to benchmark yourself - you want a good offer!

Now you have some data you can evaluate your offer against the market rate for this type of role. One of my mentors introduced me to the concept of BATNA. It’s a long concept to explain (that post is worth a read if you have time) but it boils down to: figuring out your ideal outcome, your minimum acceptable outcome, and what leverage you can use to

Evaluating the offer

The first step is to know whether the offer is for full time employment (sometimes called FTE) or a contract position (sometimes called vendor, contractor, or contingent). Keep in mind that this can be a big distinction. A full time offer means you are an employee of the company, and typically includes a full benefits package. It can also include stock equity and bonuses. A contract role is usually for a set period of time and is not guaranteed to be renewed or extended. It sometimes involves having an external agency as your “employer” even if you are going to work at the company alongside FTEs. Contractor roles often (but not always) have smaller benefits packages and fewer career advancement opportunities than FTE roles. However they can still be a good opportunity to break into the industry for bootcamp grads. It’s worth mentioning that contract developer roles are usually much better than temp jobs and “freelance” roles in other fields. You usually can’t negotiate FTE vs. contract, but knowing the difference allows you to evaluate whether this is a role you want to accept and to understand your opportunities for advancement.

Hopefully you received a formal offer letter. If you didn’t be sure to follow up and ask for the offer details in writing.

Some offer components you may see are:

Base salary

This is your guaranteed pay and is the most important piece of the offer. This is usually negotiable within a certain range. Hopefully this number is within 5-10k of the market rate you researched. If it’s above that - great. If it’s not I’ll explain how to handle that below.

Bonus

Some companies include a potential bonus in the offer. Make sure you understand (or ask) what the typical “bonus target” is. For my first role my offer letter stated a bonus of “up to 20%” however I later discovered that the “target” (i.e. the most typical paryout) was 10%. This was a huge distinction that I wish I knew when I was reviewing my offer. The bonus target is usually not negotiable but in smaller company you could try.

Equity / stock / RSUs

This is the part I had no idea about when I started out, and I wish I had done more research. The first step is to know if the company is public (if they have had an IPO). If not - which is true for most startups and young companies - then the stocks you are offered are basically fake money that you can’t use. (There are a few cases where you can sell pre-IPO stock but for most startups you won’t see much). If the company is public (you can usually google “[company name] stock”) then you can sell the stock for a dollar amount, but it may be restricted. Some stock has a vesting period, meaning it gets released to you in installments over a set period of time. If the stock has a “cliff” it means that you won’t start receiving sotkc grants until a certain period of time has passed.

For both private and public companies, stock is usually highly negotiable up to a ceiling amount. Aim high!

Benefits

Things like health insurance, vacation days, sick days, and perks ought to be outlined in the offer letter. Knowing whether health insurance will be completely covered or whether you will be expected to contribute a certain % (or foot the bill entirely) is a huge but overlooked part of your compensation package, considering it could amount to thousands of dollars per year. Benefits are usually not negotiable but for a very small company you could try.

The best case scenario is that your offer is in the ballpark for the market rate, or exceeds it. That doesn’t mean you won’t negotiate - it just lowers the stakes.

If the offer is on the low end all is not lost - I know one woman who successfully negotiated a 20% pay increase.

If the offer is significantly lower, or they offer a lower grade title, then you may need to have a follow up conversation with the recruiter or hiring manager.

How to ask for more

If the offer looks decent (i.e. it’s at or above your acceptable minimum) then it’s time to figure out where the flexibility could be. Typically you don’t want to push back on every aspect of the offer unless every component is seriously lacking. It’s better to focus on a few key areas that would deliver the most benefit to you.

For example: one offer I negotiated included base salary, bonus target, RSUs, and a benefits package. I left the bonus target and benefits package alone and focused on the base salary, RSUs, and asked for a sign-on bonus. I got the base and RSU increase I asked for, and 50% of the sign-on I requested. Altogether I came away very satisfied.

Asking for a base salary increase

When negotiating the base salary I recommend aiming for the top of the range for the position. At a larger company where salary bands are fairly established you probably have a good idea of the top of the range from researching on Blind and levels.fyi. You may have also been lucky enough to get this information from your initial call with the recruiter/hiring manager. Otherwise you have to make an educated guess based on the market in your city. This is a good time to reach out to any mentors, instructors, or other experienced folks for advice specific to your situation.

An ask of 5 - 10k typically has a good chance of being received well (you may not get it but they shouldn’t begrudge you for asking). For asks on the order of 15k+ there is likely to be an expectation for you to justify the increase.

You can say: “Thank you so much for this offer! I’m really excited about the opportunity to work together. Regarding the base salary is there any flexibility? I was hoping to target $X based on the market for this work in [city]. I’m confident I could provide a lot of value to the team and I’m sure you will be satisfied with my results.”

If you are asking for a larger increase - for example if you have a lot of data points indicating that the starting salary is 15 - 20k more than your offer - you can be a bit more direct: “Thank you so much for this offer! I’m really excited about the opportunity to work together. Regarding the base salary, my understanding is that the typical starting base salary is closer to $X. I’m confident I could provide a lot of value to the team and I’m sure you will be satisfied with my results, is there room for flexibility in the offer?” If you take this approach, be prepared to quote numbers in the followup call. And make sure your numbers are accurate to your city/region - some companies have different pay grades for different cities.

Asking for expanded benefits

Benefits aren’t typically negotiable except at some smaller companies. If you want to try this approach you can do some research to see if others have been successful and how they asked. In general I would advice to only negotiate benefits if you truly need something different than what is on offer; you’re more likely to win on compensation if you keep your ask focused.

Negotiating the annual bonus target

Bonuses come in two flavors: annual bonuses which are usually set to a target amount (often 10% of base) and signing/sign-on bonuses which are paid once usually in or shortly after the first pay check. The annual bonus target is pretty difficult to negotiate - although I do know of a friend who got a startup to agree to guarantee 5% of the bonus as long as she met her targets.

Negotiating the signing bonus

Different companies have different approaches to signing bonuses. Some companies regard it as a one-time payment to sweeten the deal, others view it as compensating for the employee’s costs to switch jobs. It’s much easier to ask for a signing bonus if you have some leverage - for example a competing offer, or unvested stock in another company. Even if you don’t have this leverage you can still make a polite inquiry, for example: “I know signing bonuses are sometimes offered for this role, would you be able to offer $X? It would help to cover my costs as I transition to work after being a student.” Giving a reason for the ask is controversial - some people recommend simply asking for the bonus. It can go either way and depends on the recipient - however as a bootcamp grad, and especially if you don’t have a lot of leverage, sometimes a little bit of the truth can make it clear that you are negotiating in good faith. Use your best judgment on that one.

Negotiating stock

If your offer includes stock then this is one of the best and most flexible areas for negotiation. (If your offer doesn’t include stock but your research indicates that the company has offered stock to other people it’s definitely still worth an inquiry.)

If the company is private then keep in mind the stock offered is essentially monopoly money with a vague future promise of turning into real money. You can google “[company name] IPO” to get a sense of whether the company is likely to go public and therefore for your stock offer to convert into usable funds. You can also ask your contact about the company’s future plans, as well as any pre-IPO stock selling plans, since some companies do have internal stock buy-back plans. The company may value the stock at a certain dollar amount - this is their projection of what the stock could be worth if and when they go public. Keep in mind that this is not necessarily how much the stock will be worth, and it could be worth much less. Keep in mind too that some companies go out of business or stay private, so the stock may never convert into usable funds.

If the company is public then you can look up the stock price history to get a sense of the value of the offer. Keep in mind that the stock price will be tied to a specific date. When I accepted my last offer I didn’t realize the stock value was set on the previous month - and I lost a huge % of value when it took a tumble in the week I signed the offer. Take the time you need to understand the stock offer seek out the advice of a financial advisor or a trusted and experienced friend/mentor if you have questions. And keep in mind that the stock may have huge tax implications.

Asking for more stock is similar to asking for more base salary - figure out the top end of what the company has offered in the past and aim for that.

You could say “My market research indicates that the range for RSUs at this level goes from $X to $Y, could we target closer to that?” (where X is the median and Y is the upper, or X and Y are both in the upper end of the range.)

In some cases I have known companies to only offer good stock to returning interns or college hires, and to offer significantly smaller amounts to “industry hires” (anyone who isn’t an intern or recent college grad). In my opinion this completely sucks and is a huge contributor to the pay gap for women, BIPOC, and members of other underrepresented groups. However it may be difficult to negotiate higher if this is the company policy.

On competing offers

A lot of tech career advice (especially on Blind and Reddit) places a huge emphasis on getting multiple competing offers and using those to drive up the offer at your target company. In practice I’m not sure this happens as often as you are lead to believe. Applying for a role at any of the major tech companies can be a lengthy and draining process, and once you get the offer it’s hard to delay acceptance for too long.

If you have the time and the stamina to pursue multiple opportunities you should, and you absolutely should use competing offers as part of your leverage - as far as leverage goes, it’s the best you can have. But don’t kill yourself to pursue multiple draining interview loops just for the sake of leverage, and don’t feel bad about negotiating without leverage, especially as a bootcamp grad with limited time and bills to pay.

That said - if you do have a competing offer everything gets much easier. The key here is to let the company know that they are still your absolute favorite, you just need them to sweeten the deal because you owe it to yourself to get the best possible offer.

You can say: “Thank you so much! I’ve really enjoyed getting to know [the company/the team] more and I know I could make some amazing contributions there. I do have another offer from [other company] that I am also evaluating, but I would really love to make things work with you. Would you be willing to shift the numbers in this direction? Base salary: $X RSUs: $X Bonus: $X I would love to reach an agreement and move forward as soon as possible, so please let me know if you have time to chat soon. Looking forward to talking!”

Accepting the offer

When you’ve had the chance to open the conversation, the numbers have shifted a bit, and you’re ready to sign, there are a couple more things you can do to set yourself up for success.

1: Gratitude

Companies always want to feel like you are thrilled about this new opportunity and ready to hit the ground running. Don’t be afraid to be effusive about your excitement and don’t forget to express your gratitude during and at the end of the negotiation process. A simple “Thank you so much! These numbers look great. I’m really excited to accept, and I look forward to getting started and showing how much value I can add to the equation.”

2: Ironing out the details

Try to set up a follow-up call soon after you accept. If you didn’t get the final offer or confirmation in writing, follow up with an email and express again how excited you are to accept the offer and that you would like to iron out the details for your start date. Ask “would you mind sending over the offer details in writing so I can keep it for my records?”

Appendix

Gather your champions

If you’re a bootcamp grad you probably have a decent support network among your classmates. You may also be a member of some online communities for junior developers, or have some mentors or friends who have supported your journey. Share your offer details (privately) with these folks and let them build you up so you can approach the negotiation with confidence.

The first time I received an offer I handled it by myself. The second time I had a network of friends, coworkers, and mentors to help me navigate the process and figure out what I wanted to ask for. The difference in how comfortable I felt approaching the negotiation was night and day, as was the result. Never underestimate the power of a support network!

When the offer is just bad

Sometimes an offer is significantly lower than you expect, and than the median market rate. Sometimes you even receive an offer for a lower title - for example you applied for an entry level web developer role but you receive an offer for an “associate” or “apprentice” role. Some companies will offer lower roles if they think you have potential but you didn’t ace the interview. Other times they’re just lowballing you.

If this happened to me and I still wanted to work at the company I would reach out to the recruiter or hiring manager and politely inquire about it. I might say “Thank you for the offer, I am excited about this opportunity. However the base salary is quite a bit lower than I anticipated based on the current market. Could we chat in a couple of days?” If you deploy this tactic you have to accept the possibility that the company will respond by standing firm or potentially rescinding the offer. But it gives the company an opportunity to revisit and potentially improve their offer.

What if they rescind the offer?

In the past the general advice was that companies don’t rescind offers to punish you for negotiating. However if you do some googling you will find a few rare examples of cases where this has happened. If you desperately (and I mean desperately) need a job then you have to weigh the value of the current offer against the possibility of no offer at all.

But keep in mind: even if this does happen it is incredibly rare, and is usually a sign of a dysfunctional or toxic workplace. You owe it to yourself to get what you’re worth.