The Power of Great People (why “good enough” won’t cut it)
Don't outsource your hiring to a bureaucrat
Great people are five times as valuable as good people. This especially applies to engineers. You cannot just throw bodies at a problem (see the classic Mythical Man Month for more info). Sometimes less people can actually accomplish more.
Great engineers are head and shoulders better than good engineers. Good engineers are everywhere. At Rapleaf, we've received thousands of resumes from good engineers from MIT, Stanford, Berkeley, and IIT, where they received their masters and PhDs. They’ve worked at places like Netscape, Sun, Microsoft, Yahoo!, and Oracle. The only problem: they’re only just good, not great.
In fact, it's pretty much impossible to tell from a resume if someone is great. It's easy to look at a resume and say “this person is at least good” or “they're not bad.” But great people are rare and very hard to spot on paper and it takes a long time to find them.
But great people are worth it. In markets characterized by winner takes-all - increasingly true in a globalized world - you need the very best; “good enough” will no longer cut it when against intense competition. These are the people that build great and lasting companies. Companies that are lucky are built on the backs of good people.
In a start-up, a great software engineer should have the following:
- ability to take a complex concept and write code that can be understood and adapted by other engineers
- ability to product manage oneself
- pleasant personality that is fun to be around and likes working with others
- creative mindset to think out of the box
- not valuing one’s own ideas more just because they were the one that generated the idea
- carpe diem attitude: they seize the opportunity to grow
In a nutshell, this is the person that everyone in an organization asks for advice. In college, this is the person that every other computer science student wanted on THEIR team.
Of course, determining if someone is great is not easy. It’s probably why so many people hire friends and former coworkers – because you know they are great. The best predictor of future employee success is past performance.
But determining a great software developer is not impossible either. To me it is amazing how some start-ups choose who they hire – many seem to hire anyone that went to MIT. That means they are outsourcing their hiring to the $40k/year admissions officer at the college who evaluated the person when they were 17! Do you really want to entrust your hiring to a bureaucrat? This is an extremely bad strategy. Of course, many people who went to MIT are real rock-stars and people who went to MIT might be more likely to be rock-stars than people who went to a lesser-known school, but most are only good … you need to work to find the great people.
By asking pointed questions and giving tough exercises, you can determine with high accuracy if someone is really amazing. In fact, I make it a point not to ask questions like “what do you like to do outside of work?” It’s better to ask them to solve tough problems and get to understand their thought-process. Great people have interests that often converge with what they do at work. At Rapleaf we do at least four rounds of interviews and we take our time. This means we occasionally lose some great people, but we err on not having false positives.
Note: I’ve found that determining a great software engineer is much easier than determining a great salesperson, marketer, etc. At the end of a series of interviews with a software engineer, I can tell you with great confidence if they are a rock-star or not. But with a BD person for instance, I have a much harder time being confident in my assessment.
Two things to note about great people:
1. They only want to work with other great people. Once you recruit a few great people, you’re in a bit of a quandary. You’ll need to, from then on, only recruit other great people or the great people you do have will leave. And if you hire any good people by mistake, the great people will (directly or indirectly) want you to let the perceived mediocrity (i.e. good people) go. And letting go of someone that is good is really hard to do. So you’re stuck and that’s the rub.
2. Great people feed off of each other in person. Like real estate, engineers in start-ups is all about location. You read about all these companies outsourcing offshore and doing development from virtual offices. (as a side note, even the idea that you can outsource a person drives me bonkers – no two people are alike and you cannot just throw bodies at a problem). But a distributed workforce is really hard to manage and real innovation rarely happens in distributed environments. Not to contradict myself, but I’ll acknowledge that sometimes it works, especially with open source projects like Linux and hadoop and Firefox which were developed by teams of people working out of various locations (many of whom never met in the early stages of development). And while there are some distributed workforce examples in the start-up for-profit world, it is very hard to find a highly innovative team based strictly on outsourcing and telecommuting.
Google’s early core engineers all worked in its early Palo Alto office. Facebook’s engineers all work together now in Palo Alto – in fact, Facebook provides a stipend to employees to LIVE in Palo Alto. At Rapleaf, we’re a small company and our 13 employees all work in our San Francisco office. In fact, all of them actually LIVE in San Francisco right now and over half live within walking distance of the office. Big innovation often comes from massive collaboration and rapid iteration, and that can much more easily happen when people work in close quarters and can see each other (no opaque walls or cubicles in the development center is key too).
Great people need other great people to feed off of. Being able to trust and rely on another person's talents affords you the opportunity push your own boundaries (because great people are always looking to be better). You won't have to worry about picking up the other person's slack. You’ll be free to think and experiment with what's new. You’ll be free to innovate.
If you are Google or Microsoft today, you can afford to hire good people. Great people are of course preferred, but 90% of their hires today are just good people. You have lots of processes, product requirement documents (PRDs), and you need people to just code to spec and follow instructions. In fact, you might even want to outsource, because creativity isn’t always required. It isn’t always needed … and with respect to a big company, creativity sometimes gets in the way.
But if you are Google or Microsoft, back when the company was under 50 people, you couldn’t afford to hire anyone but someone that was great. Anyone good would just have to wait a few years until the processes were developed enough to support those types of people. If you’re a start-up who’s goal it is to be the next Google, then you’ll have to attract, hire, and retain great people. And so if you’re looking to go from good to great, throw out your Jim Collin’s book and just focus on hiring great people.
(special thanks to the following people who helped me with this:
Ben Casnocha, Joel Hornstein. Lucy Jacobs, Manish Shah, Vivek Sodera, Hunter Walk, Chris Yeh)
And speaking of great people, we’re currently looking for great software engineers and a great BD/sales person (we offer at $10,007 referral award):