I joined a tech startup (Bullhorn, Inc) in Boston right after graduating college in 2003. After nearly 10 years, they were acquired (w00t) and everyone got their stock options cashed out. Since then, I've started at another startup (Hearsay Social), this time in San Francisco.
When I started at Bullhorn, there were eight employees. That's if you don't count the two sales people that got fired on my first day. In the subsequent nine years I learned a ton, and had a great time working for an awesome company. I highly recommend a startup as your first job. Like corporate life in general, there is a ton of stuff you don't know when you're just graduating, but even more stuff that is startup specific. Here's the real deal.
By founders, I literally mean the two or three people who started the company from nothing. By rich, I mean "fuck you" money, which is a highly technical industry term meaning you could never work again if you wanted to. Salaried employees do not get rich, nor should they; the founders took all the risk.
First of all, 75% of startups fail to have a successful liquidity event where your stock is actually worth money. Of the ones that do succeed, the average sale price is $200M for an acquisition, and $600M for an IPO. As an employee, you typically want to be acquired to maximize your payday. That is a ton of money, but your percentage is going to be very small. Even if you're a director, you might get .5%, or $1M. Engineers can expect to have a .1% stake, or $200k.
That's before you pay your strike price, and taxes. Oh, and this will put you in the highest marginal tax rate for that calendar year, so you're paying about 40% in taxes. All this can vary with how generous your options were, the final price of the sale and MANY other factors. For the average success story, you can expect to make somewhere between one and three times a decent yearly salary. Not chump change, but not life-altering, either.
To get to real "fuck you" money, the company would need to get sold for $1B or more. That is a vanishingly small percentage of successful startups. In fact, it's about .03%.
All of this assumes that all your options are vested, which typically takes four years, and that no squirely shenanigans happen during the sale. The options you have can be diluted along the way as the company takes on more investors. Investors usually have preferred stock options as well, which is another way you can be screwed. If you go IPO, there is usually a 180 day lockout period, during which if the stock tanks you a out of luck.
My opinion is that stock options are a highly complicated, incredibly risky investment. I think of them as lottery tickets for a lottery you're not even sure is going to happen. Maybe they will be worth something someday, but don't bank on it. Remember, this is coming from someone who had a successful cash out.
If you want to estimate the potential value of your options, which the founders are typically happy to let you think are really valuable, you MUST get the cap table information. How many total shares are there, and what is the current valuation of the company? From there, you can plug in the values to these formulas.
With that out of the way, I'm still recommending that you consider a startup as your first job. Why?
At a startup, you will by necessity get a lot of responsibility put on your shoulders, even as a fresh faced 22 year old. In my first month, I got to write a mission critical email server that was processing a hundred thousand emails a day the next week. Six months later, I was racking up $200k in purchase orders for new hardware, driving them down to the datacenter in the trunk of my 1995 Saturn, and installing them in cages.
I got to personally scale a web site from two web servers and one database to 50 web servers and dozens of databases, serving 30M hits a day. I got invaluable hands-on experience with diverse topics like database optimization, caching, networking, telephony, search indexing, deployment tools and email deliverability. I wrote features by myself encompassing instant messaging, email, calendars, search, social networking, mobile, configurable reporting, processing credit cards and message queuing.
At a typical large software company, you can expect to be stuck on one team, working on one piece of one project for years at a time.
There is nothing like working on a really small team of great people. We had drinks after work all the time, not because it was a company event, but because we actually wanted to hang out together. Every day, the hungriest person would walk around the office and collect lunch orders and cash, usually resulting in an armful of brown paper bags filled with cheeseburgers.
Some of the people who took those lunch orders started at the company by taking customer support calls, and eventually ended up as directors in a 300 person organization, starting whole new departments more than once. There is a tremendous opportunity when you get in at the ground floor of a startup to take your career in whatever direction you want.
The perks are usually pretty good, especially in the Bay Area, where hiring is so competitive that companies can't afford to NOT offer free lunches/dinners, endless diet coke and yoga once a week. Healthcare and 401k are absolutely standard.
In general, you end up with a young crowd of smart people, who love to work and play hard. There is no better networking you could be doing than to become a trusted member of a team like that.
At a small company, especially as an early employee, you have complete freedom. You will feel totally comfortable walking into the CEO's office and trash talking them for something stupid that they did. There is no process to get in the way of getting stuff done. At first there is no process at all. You may very well be deploying code by literally hitting Control-S and saving the file you're currently editing to the production machine (nothing delights a customer on the phone like telling them you JUST fixed their bug).
It's absolutely fascinating to watch a small company grown. Every time you double in size, there will be new challanges and new opportunities. The process you were using will no longer work, and suddenly people will be asking YOU what the new process should be. After all, you're a trusted veteran employee.
One thing that you will learn very quickly is that you can and will be asked to do absolutely everything at some point. In my time at Bullhorn (with the title of Software Engineer), at various times I had to answer the phones, take out the garbage, clean the kitchen, install new desktop PCs and phones, setup a wireless router in someone's house, baby sit a dog, feed a meter, cater lunch and fetch coffee. Don't EVER say "That's not my job".
Protip: I once told a customer on the phone that we only had one database and no backups. I was never asked to answer the phones again.
You will definitely have to get up in the middle of the night because the website is down. People you like will be fired, though typically turn-over for engineers should not be high. The company may pivot, and all of a sudden you find yourself working on a totally different product. You may never really know if the company is succeeding, or if everyone is just putting on a happy face. Typically you won't have luxuries like graphic designers and QA people to make your work look good (but you should push for them ASAP).
Finally, the code quality at startups is notoriously low. Personally, I think code quality is pretty low industry wide, but at a startup there is even more pressure to ship fast. Indeed, startups that don't sacrifice quality for speed may not be in business very long. That's often what it takes to survive the early years.
The culture generally gets worse as you grow. I think this is the inevitable result of just having more people. Over time, you will notice that company events no longer serve hard alcohol. Everyone will be required to attend sexual harassment training. All kinds of new security policies will pop up. Most importantly, all of a sudden you will not feel like you know all the people who work there. Eventually, you might not even know all their names.
Certainly if you start before the company gets any funding, they will not be paying you. But unless you're a founder, I'm not sure why you would do that. No one except the founders gets rich.
After the first round of funding, companies can afford to pay you a market salary. My advice is to not take an offer where a lot of the compensation is in stock options. At least, you should know what they're worth.
More importantly, know what you are worth. The average salary for an entry level software engineer in the Bay Area is $77k according to Indeed.com. As a hiring manager, that is in line with what I see. I don't see any reason why you should take a substantial discount to work at a startup.
So they are, but so are most companies. This is just code for "we change our minds all the damn time". The good news is that at a startup, you can be the one initiating change.
The last thing my predecessor told me at Bullhorn was "don't start out working tons of hours; you'll never stop". I took his advice and worked on average just over 40 hours a week. There were tons of nights and weekends in the beginning, but it never felt like a burden when I gave myself permission to kick off at 5pm on a weekday.
Founders WILL work those crazy hours. They should; they have much more to gain in the bargain.
This is a platitude. It's true that you have an effect over the success of the company, but the company can and will totally tank no matter how hard you're working. There are just too many things you don't control. Sales, marketing and company leadership from the top typically have more impact on final success or failure than the engineers in my experience.
No way. Execution trumps the idea any day. Successful companies need both, but great ideas are a dime a dozen.
Double-check the laws in your state before you assume this is true. In California, you're ok.
It's very popular these days to not give employees a specific amount of vacation time. IMO, this is typically done because managers hate tracking how much time people are taking off. The company is also hoping that on average employees take less time off with this scheme.
Take a reasonable 3-4 weeks off every year, but never more than a week at a time.
While founders stand to make a killing if the company has a successful liquidity event, on average they often make less in salary than executives that come in later.