Startup Engineer: Which number is right for you?
Having been an engineer at a startup I empathize with people who are being recruited into startups especially if it’s their first startup. The key deciding factor for me was that I wanted to learn everything about engineering a consumer product. Sure making bank is a nice motivation, but I quit my Masters at Stanford because I knew I’d learn a ton more working on the ground floor of a startup than I would sitting in a classroom. I still wholeheartedly believe that the only way I learn is by doing, which is why I’m starting a company instead of getting an MBA. It’s my MO but that doesn’t mean it works for other people.
The point of this post isn’t how to negotiate or what to ask for because it really depends on your needs (maybe I’ll cover that later). Its meant to paint a realistic picture of what life is like as a ground floor engineer versus past 10, 20 and 30+.
Being a ground floor engineer means you work everyday… 365 days at the very least for the first year. You’re expected to be a generalist, and its best if you’re passionate about the product. There’s just a shit load to do: features, infrastructure, testing, integration, bug fixes, mastering new technologies, bringing others up to speed on the architecture, interviewing candidates, and the list goes on. You’re on call, you fix everything big and small, and you don’t complain you just learn and do! The benefit is you have one of the biggest equity stakes in the company, but the bigger benefit is you know how the entire system is architected and the code you’ve written impacts millions of people! I chose this role for myself because I wanted to be a generalist and learn how the entire system was integrated and built (also why I majored in EE and CS). I also wanted to gain some insight into prototyping and how product’s evolved. If you’re a hungry geek do yourself a favor and don’t settle for anything over 10. Start early!
5-10 stuff is built… but you’re still adding a ton of value to the product and defining the engineering team. You might miss out on a lot of the business and product decisions that were made early on, but if the company is pivoting then it’s ok. You’re still going to play a heavy hand and have your pick of projects long-term.
10-20 this is when startups call in specialists. They are interested in hiring a front-end or back-end developer, algorithms guy, or architect. Not really a hacker-type, but someone who has a deep understanding of a set of technologies or a predilection towards a particular area. Its also one of the more risk averse positions because the startup has mostly likely gone through 1-2 rounds of funding and has gained user traction.
20-30+ get ready to scale and maintain! There’s still a lot of innovation going on, and its focused on scaling the system to support user growth. If you’re a young engineer you’re probably going to be thrust into the maintenance camp, learning the existing architecture first before being given your first juicy project. But hey its a startup and it’s making progress! If the founding engineers are still around you’re in luck because they’ll have a ton of knowledge to impart.
The biggest thing to think about when deciding what stage you want to start at is knowing personally how comfortable you are with change. New people starting every day, week or month, business goals and priorities switching courses, having new bosses, and your own workday context switches: working on a project to fighting fires and back to coding. The earlier you start the more change you deal with and the less time you have to really sit down and think through problems. You’ve got to be quick on your feet, and deal with the ebbs and flows – learn to adapt and accept. If you like stability start later.
Regardless of which position you do decide, a startup is a lot of fun, but it’s a lot of work. It’s not a cushy job nor is it a way to get rich. Its like buying a home: don’t be fixated on flipping it, picture yourself living in it for the next 4-7 years because thats how long it will be if it’s going well. Your teammates are the family you are going to raise in it, and you want to make sure you fit in well with the culture and community. Most importantly make sure you buy and believe in the long term vision of the founder.
(I was affectionately called #2 at Mint.com, because in the words of Aaron Patzer, “…engineers start counting at 0.” )
I love the way you describe being a ground floor engineer- it’s going to be what I refer to now when explaining to potentials just how involved being one of the first 5 is. And I think this point is lost on many engineers, who may think they are being overworked, etc.
Overworked?!? No such thing…maybe overexposed
Yes engineers need to understand what they are getting themselves into, but that goes for anyone taking a job. Glad you enjoyed the post!
Excellent article! And thanks for sharing for your perspective, you do have a lot of valuable nuggets to share, and I am happy you are taking the time to do so. Keep it coming
Great post and very informative. Have you had any engineers with young families as part of your early round of employees ( < 10 )? When you have bought into the vision and are really passionate, you really don't count the hours or how hard you are working, but at the same time there are certain aspects to people with young families where some context switches have to happen with regards to priorities. I am just curios to know if it is practical and hackable……startups and engineers with young families. I am just wondering if all the early employees are young and fresh out of college or if there were engineers with families.
You Have a great blog, love the content you have put up so far. Any chance you will continue Ruby Tuesday's?
At my current startup BizeeBee no, but at Mint there were and those people had very supportive spouses. I suppose its possible, but you have to determine what is right for you and your family. I don’t think I would be able to manage working everyday and having a family, but I tend to have a single-focus.
I do need to revisit Ruby Tuesdays! I’ve actually been coding in Rails everyday for the past couple months so I’ve got a lot of ideas, I just need to get it down in a weekly post. Happy to hear that someone else is finding them useful
Maybe I’ll crank something out for tomorrow!
Kumar – You’re welcome!
“I quit my Masters at Stanford because I knew I’d learn a ton more working on the ground floor of a startup than I would sitting in a classroom.”
I don’t recall a lot of sitting in class on your part.
Professor Cheriton – I was an SCPD student, I watched the classes from work. I did really enjoy your class, taught me a ton about clean coding conventions. I still refer to your book. Has it come out in print?
Nice – hit the Hacker News homepage. You should get some great traffic from it!
If you’re in the first 5 you will also be spending a lot of time doing random stuff like:
- scouting out office space and furniture discarded by some other startup
- late night networked gaming with your co-founders
- dealing with wiring, phones, your ISP, and landlord
- having 5 or more business cards, depending on whom you’re meeting with and for what reason
Nice post – I like your description of the different stages. Will probably help a lot for people thinking about joining a startup.
My favorite part of your post:
“You’ve got to be quick on your feet, and deal with the ebbs and flows – learn to adapt and accept.”
Adapting and accepting is very important.
So no regrets about dropping out of the Masters program at Stanford and not pursuing an MBA? If your parents are anything like my traditional Indian parents, you must have had one heck of a time explaining that decision!
I don’t “explain” myself to my parents. I do and they deal. They’ve been coping with me since I was 12
Really Nice Article,it adds a +1 to what i had in mind since last 2-3 months,ie. quitting my cushy MNC job and joining a good early stage startup to learn the complete cycle from an idea to a good product to make it sell and only a good startup can teach me that and not an MBA.
Well,Good Luck for your startup and i am keeping my fingers crossed to hook up with a startup very soon.
Thanks Robin! There are lots of great startups out there, just make sure you find the right fit and product you’re passionate about. @Robin
I try to keep the random stuff to about an hour a day. Its hard and necessary. Networked games?!? Sounds like you’re having a lot of fun
@Zarabeth