[ root | ruminations | remote ]

Startup skills learned during undergrad

Having been at Firebase coming on three years now, I've been to many hackathons. During these events I've noticed a recurring question posed by students:

"Should I drop out of school to go work at a startup?"

The motivation behind this question usually revolves around: an amazing job opportunity has crossed their paths that can't be missed, the ecosystem is so hot right now they don't want to be left out, and so forth. It should be noted that I took a ~6 year detour between high school and college in the late 90s. I did eventually go back and get my CS degree from UC San Diego.

However, my advice to anyone thinking of doing the same: don't. Just get it finished in one fell swoop. You aren't missing anything—in fact you will be picking up three very important startup skills in the process of getting your degree.

1. Learning how to learn quickly. When you're taking 4 or 5 classes that have little or no overlap, the skill of learning quickly itself becomes an invaluable. This tends to be even more important in quarter based academic calendars. At an early stage startup this translates to being able to assess and synthesize the right tools for the right job in a rapid manner—even more so at a fast growing startup. When you're between your users and nonlinear growth, being able to apply your ability to pick things up quickly gives your team an advantage.

2. Effectively context switch. Productive hours of the day jam packed? The 45 free minutes between physics and linear algebra becomes a great time to crank out some code. Instead of derping around you start making the best use of your time. But more than that, the time to ramp down and up between topics shrinks. At any startup you'll get plenty of time to work uninterrupted, but the earlier stage the company the greater the chance that you'll be wearing many hats. Wearing many hats translates to many places fires need to be put out. Everyone needs to manage context switching—being good at it makes all the difference.

3. The grind. Sitting down and getting work down. Lots of work. I had the pleasure of taking compilers and an upper division graphics (full featured raytracer from ground up) in the same quarter. A lot of code was written that quarter. A lot. Being able to plan and write that amount of code comes in handy, of course. But the skill you're picking up here isn't about the code. It's being able to grind down a problem by putting in the weeks upon weeks of work. Napping in the CS lab to wake up and get more work done is just a byproduct. Getting a company and product off the ground is a lot of work. It'll take weeks upon weeks to get solid features shipped—and years upon years to build the company. The grind gives you the ability to persevere.

Stick with it. The opportunities and timing will be right for you once you've finished. Get your degree.

If you enjoyed reading this, catch me on Twitter