Over the past couple months or so we've had a number of non-programmers contacting us, looking for hackers to hire for their startup/project/idea/next-Facebook-to-be.
The logic goes — and you can almost hear it in their emails — that a university hacker is a good, cheap resource. One particular ad asked us for a candidate with 'many scholarships, lots of research papers, and we'll pay you $1000!' — which might be a joke, but if true ignores the fact that such a candidate would be Google material, for close to $80,000 a year. I find most of these shoutouts rather sad. "Saw the email from x?" I'd sometimes ask Angad. "What do you think of it?" And in fact good ads are so rare that when we get one we rush to post it to our mailing list.
What most of these ads lack is an understanding of hacker motivations. When you're posting a help-wanted ad, what you're really asking a potential candidate to do is to weigh the cost/benefits of working for your unknown, unproven startup, when they can:
- Code for Google Summer of Code — which is incredibly attractive because you not only earn USD$5000 for 3 months of work, but you also get to work on an open source project (good for your resume); learn several new programming practices; and give back to the world.
- Intern with a elite program such as Startup Roots — (which we endorse, by the way).
- Code on personal projects — all hackers have one or two on the side, for fun; or
- Intern at a bank
So how do you hire a hacker if you're not one yourself? One answer is to get the motivations for hacking right. Chris Dixon wrote a post recently titled Showing Up, where he says:
We went to places like the Media Lab and basically just sat ourselves down at lunch counters and awkwardly introduced ourselves: “Hi, my name is Chris Dixon and this is Tom Pinckney and we are starting a company and would love to talk to you about it.” Most students ignored us or thought we were annoying. I remember one student staring at us quizzically saying “startups still exist?” Most of our trips were fruitless. At one point after a failed trip we were on the Redline back to our office in downtown Boston and joked, depressingly, that we felt so out of place that people looked at us like time travelers from the dot-com bubble.When you're asking a student programmer to work for you, you're selling him two things: 1) your idea, and 2) yourself. If you're not demonstrably smart, or if your project isn't interesting, then it's not likely that any hacker would want to work for you. Not with so many other options on the table.
Our first breakthough came after a series of trips when a particularly talented programmer/designer named Hugo Liu re-approached us and said something like “hey, actually I thought about it and your idea doesn’t suck.” Then his friend David Gatenby talked to about joining us. We eventually recruited Hugo and David along with a brilliant undergraduate Matt Gattis. We had finally broken through. Matt and Hugo now work with us at Hunch along with some of their friends from MIT they brought along.
This is, however, a cop-out. The truth is that it's hard to sell your idea when you have bad ideas, and it's even harder to sell yourself if you're not already a hacker (Pinkney, Dixon's friend, is a brilliant programmer). The non-technical people who start companies and go on to do great things tend to do so with hackers who they're already friends with. Which leaves us with: if you have bad ideas, or if you have absolutely no freaking clue of hacker culture, than nothing mentioned here will ever help you.
So what can help you? Here are a couple of things that I've found to be attractive in a 'programmer-wanted' ad:
- Know your problem space really, really well. Hackers have finely-tuned sensors for bullshit, because we absolutely hate it, and know it when we see it. This is a function of preferring to build things vs sitting around and talking about them. If you're not a domain expert in whatever you're doing — it's harder to get a hacker interested.
- Sell the problem. If you know something really deeply, it's also likely that you know the problems that people in the aforementioned field need to solve. Problems are very attractive to programmers. In fact, problems are especially attractive to programmers if they're well defined. Fortunately for you, problems in the real world are rarely as clear as problems in programming puzzles, even if real world problems are ultimately more important. Your job as a startup founder is to make that problem space definable, and then sell that to a hacker.
- Sell experience, not money. Most of us are attracted to people who try very hard to solve interesting problems. Some of us — the ones you can hire — think that the experience of doing something like that is more valuable than the money. It helps to take money (as an issue) off the table as soon as possible; know that there's no way you can compete with Google Summer of Code, or even a bank internship.
(Note: notice that 'interesting problem' can mean a lot more than a 'startup that solves an interesting problem'. For instance, travel search engines are boring, but a travel search engine written in node.js (or Haskell, say) is incredibly attractive to a hacker. Unfortunately you have to be a hacker to understand that, and so we're back at square one.)
Semi-related: why business co-founders should learn to code.
Update: A number of people have observed that point 3 was 'off the mark'. It's not. What I mean by it is that you should pay market rate — or enough, whatever that amount is — to take the issue off the table. Don't sell yourself based on salary; it's unlikely that you'll win.