A non-technical friend of mine recently asked for my advice as a card-carrying geek: If he doesn't have the right person in his immediate network, how can he find a technical co-founder?
When you're searching, there are two things a good engineer won't care about:
– Job title
– Job description
Here's three things the engineer should be passionate about:
– Your big vision
– Getting things done
– Being the alpha geek
The job title one is almost a cliche, but if there's one
thing that drives most engineers crazy it's 'office politics', by which
they mean any status system that's not based around pure technical
ability. Caring about fancy job titles is seen as a sign you can't win
respect by the sheer awesomeness of your code. 'Founder' should be
enough if you need one to throw around.
All you should write for the job description is 'Create the
next X', or 'Build the Y-killer', or some other world-changing goal.
You don't want an employee waiting to be told what to do, you need an owner who takes the company's mission and figures out technical steps
it will take to achieve it. You should have enough familiarity with the
likely tools to weed out people without some relevant experience before
you talk to them, but I would keep that mental list away from
candidates, since the standard HR checklist of '5 years PHP experience'
is a sign of clueless-ness, and will put off people with equally good
alternative qualifications (eg Ruby on Rails instead of PHP).
So, without a job description, how do you find someone? Mailing
lists, blogs and web forums are a fantastic way to find undiscovered talent.
Find a few open-source projects that are related to the area you're
interested in. Dig out their developer mailing lists, and look at who's
posting frequently. Look through their messages and you'll get a better
sense of who they are than any interview could give you. They're
already passionate about the area if they're on the list, and
you can easily see who's rude, who can communicate, who's willing to go
out of their way to help others, who's super-smart, and who bites the bullet and implements things
rather than just talking about them. You'll also get to see code
samples, and even if you're not technical a quick scan can show you if
they're writing vaguely intelligible code. Their interaction with the
group also shows who's hungry to stay on top of the technical issues,
and so can remain alpha geek and keep the respect of engineering subordinates.
Technical conferences and user groups are great hunting grounds
too, the nerdier the better. I've worked with so many people who are
amazing engineers but interview like Rainman. If you can catch us in
our natural habitat, talking about things we love, you've got a much
better chance of seeing us in a true light.
Once you have someone in your sights, it's like dating, I'm not
sure there's any formula. The goal is to convince them you're someone
they can trust, and that you add value yourself. Demonstrating
things like your ability to get press coverage, how you can increase
the chances of being funded, and bringing in revenue are essential.
It's also tricky because engineers often discount the value of those
skills, so bringing them down to concrete results helps, eg 'Blogger
Joe wrote about my last three releases, he'll write about this
project', 'I raised x with my last company, the same investors are
interested in my new venture'. Bringing on previous technical partners
who can talk engineer is vital to help gain trust too, sort of like
I've worked with so many great engineers who would make fantastic co-founders, but they're uncomfortable with traditional networking and self-promotion. You'll be doing them a favor if you hunt them down yourself!