Home

Awesome

Notes on Startup Software Engineering Offers (for New Grads)

Senior year in college can be overwhelming, especially with that impending sense of dread about what the hell you should be doing with your life after school. Unfortunately, I can't help you with any of that existential stuff. However, if you're committed to working as a software engineer at a startup, and especially if you have job offers on the table you're considering, I will do my best to share information about important questions to ask and things to consider.

As a recent college CS major graduate, I've been through my share of recruiting processes in my life, so I figured I'd write down some notes on things I verbally tell people who ask for advice. This document is intended to be a collaborative, living document, so please contribute and suggest changes/resources!

Table of Contents

Introduction

The goal of this guide is specifically to help you gather all the information you need to make a decision about where to work and warn you about any potential red flags. It's tailored to startup jobs since it's fairly easy to gather information about large public companies (recruiters will tell you outright, you're more likely to have friends that already work there, or you can research online) and since you're not as likely to encounter glaring issues, sketchy conversations, underpriced compensation packages, etc. Also, note that it's not my goal here to tell you how to decide where to work and what to work on—only what information you can arm yourself with and potentially use in your decision.

General considerations

The first thing I tell people is to try and think carefully about how you're going to narrow down your space of possibilities. Software engineering is still a huge space, and it's best to have as clear as possible an idea about what kind of company you want to work for, what kind of role you want to have, what kind of location/lifestyle you're looking for, etc. In my opinion, one really important thing is to figure out is what stage company you'd like to be at, since there's a huge difference in your day-to-day experience working for a huge, multinational public company versus a 1000-person unicorn versus a tiny 5-person startup. Note that when I say "stage", I don't necessarily mean fundraising stage but rather a more general sense of where the company is at in its growth cycle: Are they raising their first round? Developing a MVP? Productionizing? Growing past more than a handful of users? Scaling to meet large-scale demand? Closing in on an IPO? The answers to these questions matter more than the specific fundraising round (e.g. Series A/B/C/...) they're at, since they'll have the most practical impact on your experience as an employee and the types of contributions you make to the company.

When you're finally at the deciding phase, it's best to try decide first what dimensions of a software job matter most to you, then bucket your considerations into a few main categories. It can be overwhelming to look at all these factors, so at the end of the day, go with whatever feels the most right to you :) Your first job is just one step in your long career, and there's always room to change paths (especially if you have CS skills).

Dimensions for evaluation

Here are some pieces of information you should gather (and questions you can ask to get them) at various phases of your interview/offer process. Use your best judgment about who would be best positioned to answer your questions and when it would be appropriate to ask them. You certainly don't need to ask all of these, but it's good to have a general sense of the answers to the ones that are important to you.

Business

A startup's fundraising history offers some good heuristics for a ton of other factors, like company size, experience working there, even your compensation. If a company is early-stage/in stealth, note that they might not be comfortable putting answers to these questions in writing.

Put on your VC hat and try to think about the potential for what they're working on. Keep in mind that if you're talking to them in the fall (i.e. almost a whole year before your start date), things might (hopefully) look different by the time you join the team, since ideally the company will have grown over the course of the year. Also, if the company is early stage, don't expect completely accurate answers to these questions, but do expect the company to be thinking about these things.

Finally, try and think generally about the health of the business.

Technical rigor

Figure out if you'd like the technical work you'd most likely be doing, the day-to-day experience of doing that work, and how much you'd be able to learn.

Establish how experienced the technical people you'll be working with are. Try to ask them questions about their software development best practices, but keep in mind that there's higher variance in skill at larger companies.

If it's past the early stage and they have more than a handful of engineers:

If they don't have too many engineers now:

Career

Try to figure out how quickly employees can grow their careers and take on more responsibilities. If it's a more established company:

If it's a less established company:

Culture & lifestyle

It's a bit harder to offer guidelines for company culture since so much of this is up to individual preference, but there are perhaps a few red flags to watch out for.

You can also try to gauge attitudes towards some things that tend to vary widely from company to company.

Obviously, ask whatever other questions you need to so you can evaluate whether you'd enjoy your lifestyle and everyday experience working at the company.

Compensation

Finally, perhaps the most non-obvious section! Evaluating startup compensation is certainly a very personal decision, but it's important to understand fully what you're being offered before you can fully assign a value to it. Instead of phrasing this section as a list of questions, I figured it'd be helpful to just walk through features of a typical comp package.

An important disclaimer: I am not an accountant or lawyer or anything close to an expert on this topic, so make sure you do your own research!

Salary & other benefits

As a working adult (!!) you'll finally get paid a salary. But there are other tangible and non-tangible ways you benefit from having a job, ranging from:

Bigger companies might offer some tantalizing benefits like onsite gyms, haircuts, laundry services, food from Michelin-Star chefs, and more. You probably won't get all that working at a scrappy startup, but it's still important to understand how valuable your non-salary perks are to you.

Equity

Compensating employees with equity is usually a win-win. For cash-strapped startups, it provides an alternative to burning cash to compete with offers from the likes of Google and Facebook. And if you can shoulder the risk, it offers huge potential upsides, and it also more closely aligns your personal prosperity with the company's success. Of course, there is that risk: if the company ends up shutting down, your equity will be worth nothing. The proportion of equity you're offered inversely varies with the company's stage, since the likelihood of that equity being worth more than zero increases as the company grows.

At earlier stage companies, you'll likely be offered some fraction of the company's stock in the form of options.

At roughly Series C+ companies, it makes sense to start offering RSUs (aka stock grants) instead of options, usually at the point at which options and their tax burden become too expensive to reasonably afford.

Your equity usually vests over a period of time—typically it's over 4 years with a 1 year cliff (meaning that you mostly accrue stock linearly over a 4-year period, except that you don't get any until you've worked there a year). Also, note that your equity will get diluted as the company has more fundraising rounds. You can try asking about their general perspectives on this, but don't expect anything concrete since they probably won't want to make promises about the future. Still, it's prudent to have a good sense of the company's plans for later fundraising.

Since the company is still private, you can't just turn to the public markets to get an estimate of your equity's value. Instead, you can estimate this (very roughly) using the company's valuation in its last funding round (or those of its peer companies). You might also try and apply some growth multipliers on those numbers, but don't get too carried away! ;)

There are more complicated details about equity that you mostly shouldn't worry about until you actually start working—things like alternative minimum tax (AMT), 83(b) election, and early exercise. Here's a pretty good resource from my friend Katie and on the Wealthfront blog about all that.

Negotiation

Even if you're afraid to do it, it doesn't hurt to try and ask for better compensation. Advocating for yourself is a skill you need to develop in the workplace anyway, and now's a good time to practice. If you're working with a tiny team especially, my opinion is that your negotation experience will also give you valuable insight into how your team members handle disagreement/conflict—hopefully, your conversation doesn't get heated.

I won't go into too much detail here, but I'll offer some high-level advice:

Closing thoughts

That was a lot of information! I hope these notes are helpful to you in some way, and I'm always happy to chat directly about whatever specific situation you're in.

Some last pieces of advice:

I'm certainly not an authority on this subject, and I notably haven't been through this process on the other (hiring) end. These notes are mostly informed by my personal experiences (I've been through 20+ internship/full-time offer processes) and what I've seen in my peers' experiences; I used the framework I outlined to choose a tiny company whose team I had never met in person (and I've been happy so far!). Take everything I say with a grain of salt, obviously, and of course there's plenty of people who would disagree with things I've said above.

A lot of these notes were influenced by Julia Evans's excellent list of questions to ask, Brian Krausz's Demystifying Startup Offers talk, Dan Luu's contrarian advice on joining a startup, and many similar guides I've read on the internet.

Thank you to Vahid, Katie, and Yasyf for reading this over and giving feedback and for your always helpful support :)