Saturday, February 6, 2010

Hiring the First 5 Engineers: What Sort of People Do You Want on Your Team?

Often when discussing the first engineers to hire for your startup, people will say things like "hire people smarter then you" or "hire rockstars". This is NOT sufficient criteria for getting your startup team going.

While you always want to hire people who are shockingly smart and outstandingly great at building things, this is not sufficient for an early stage startup. For a raw, young company, you also need people with additional traits which differ from what is * necessary* for a later stage company.

For small startups I think you should find people with these traits:

  1. Do what it takes-edness (to coin a term). Willingness to dive in and fix any problems that come up and to take charge since there will not be anyone else to do so. This includes the willingness to do lots of grunt work - there is no one to delegate to.
  2. Persistence/tenacity.
  3. Ability to deal with uncertainty and not freak out. You may end up with multiple pivots depending on company stage. You need people who will stay calm and keep with it.
  4. Generalist technical knowledge. You will not have a "front end team" an "ops team" a "backend team" and a "database team" etc. You need someone who can optimally work on all parts of the stack.
  5. Not religious about technology (or other aspects of the company). This is useful at any size company, but at a startup you really don't want to waste time debating the merits of Python versus Java. You just want to build stuff and get it done. No engineering ego (I find the most confident engineers often don't need to reinforce their ego - they already know they are very good so dont feel threatened easily) and no drama.
  6. Get a lot done. You need people who can just crank on product. They need to be able to problem solve independently and go figure stuff out.
  7. Do "just enough". Focus on the 80% of stuff that needs to get done, not the 20% edge case which most users won't care about (i.e. hire people who buil things that are very solid, but not "perfect" - this applies to an internet company, not e.g. a later stage hardware co)
  8. Get along with the team. This does not mean the person is not quirky or lacks personality. It does mean that you will be 5-10 people in a room every day and you need people you and the rest of the team get along with.
  9. Bonus points: financial stability. This could be a low personal burn rate, or ability to take a low salary either through a past financial success, being straight out of school so living costs low, or other means. This means the person may be more willing to take a low salary in exchange for more equity, which helps the company survive longer on less.
  10. Lots of other stuff, but I think the above is important.

How Do You Ensure People Have These Traits?
  • Reference checks. Make sure you ask hard questions of the people with whom you check references. Push on quantitative, not just qualitative feedback (e.g. what % of engineers are they on characteristics a,b,c) and ask for specific examples of how the candidate exhibited the traits you are looking for.
  • Beer test. Take them out for a beer or dinner and see if there is a good culture fit.
  • Have the candidate come in to work with you for a day. Give them a simple, tractable problem that can be coded in a day. See how they solve it. Were they pragmatic? Did they use open source packages or build something from scratch? Did they solve the problem? Can they defend their design? Did they think of the next steps they did not have time to tackle? Did they define the problem properly? How do they react to tough questions? And, importantly, are they serious enough about the opportunity to spend a half or full day working with you guys?
I will be writing another blog post on Guerilla Hiring Techniques for Startups - How to Find Your First 3 Employees.... :)

Any traits I missed? Thoughts?

7 comments:

satch said...

One other thing to throw on your list of "how to make sure" ... every team member gets a veto. One no vote and it's over. Sounds harsh, but on a small team, group dynamics matter.

Greg Herlein said...

As a long-time manager in both startups and bigger companies, I'd say you are spot on... but your traits apply to ANY hire, not just for small companies. Well done. I totally agree.

Elad Gil said...

Thanks for the comments!

@satch - really good point on the veto. I think it is crucial early on everyone can block any hire.

@greg herlein - good point. as a company scales it should continue to look for scrappy, entrepreneurial people. hopefully it is a good enough environment that such people will chose the larger company of the temptation of a startup :)

UCSB Student said...

Well-done sir. I think you've made just about every point necessary in the guerrilla pocket manual on starting up. I especially like that you included, "do what it takes-edness" as #1.

It all goes back to that quote- "Never doubt that a small group of thoughtful, committed, citizens can change the world. Indeed, it is the only thing that ever has." -Margaret Mead

Nitin Ahuja said...

Great list - I'd agree with Greg - these traits apply universally to any hire. Except maybe the do everything part - there you need someone focused on certain aspects of the problem. A great UI person can do wonders in half the time.

Ryan Tomayko said...

Must be obsessed with SHIPPING. Ship, ship, ship.

Anonymous said...

1. Think as a potential employee rather than employer. Would you spend a day working for someone for free (assuming you are not unemployed/college student willing to do whatever it takes to land the first job)

2. Think about incentives rather then requirements. I hope the "do-it-all" expectation translates into Generous stock options. Otherwise i don't see why someone will work for you as a generalist while being paid as a specialist

3. Think about the market and the startup next door/big company next door you are competing against for this engineer (or 5 engineers). Why someone you want would want to work for you? You should differentiate yourself from the thousands of similar companies before setting your requirements. What is your brand?