I’m a mentor in the PushStart collective and incubator. I love the broad exposure to other people’s problems and ideas that mentoring provides and every now and then I discover a team and idea that I really hope succeeds in making our world a better place. At the most recent Mentor Live mentoring event, however, I spent most of my time answering the same basic question over and over again:
How do I find someone technical to implement my idea?
It’s a hard question. People ask because it’s a difficult thing to do. But there are no easy answers: it’s supposed to be hard. Demand for the creativity and talent of great engineers and developers far outstrips the supply. You should have to work hard to convince one to dedicate their time and energy to your project, especially if you don’t have much evidence the effort will be worthwhile (and if you’re looking for someone to build your first version, you have very little evidence that counts).
Developers of all levels of talent have no shortage of ideas and projects to work on. Coming up with a great idea is not the hard part. Some will have their own ideas or side projects, which are pretty much automatically more interesting than yours. Many will field a constant barrage of ideas that naive friends and family bounce around in hope. And the best will have a hard time turning town standing offers to join ex-colleagues in whatever project they’re now pursuing.
So they have ideas galore combined with the skill to execute them. What are you bringing to the table?
Here are two approaches for two extremes.
Group A. You know what you’re doing
You have capital and resources, good networks, experience, strong leadership, deep market knowledge, you’ve tested prototypes and have evidence that what you’re proposing to build is needed. Apart from the knowledge and skills required to actually build a production-ready app, you have everything else covered. Congratulations! You’ve put yourself in a good position; importantly, one where a developer might want to work with you because you’re bringing some value to the team. You’re rare though, so you have a lot of work to do to convince them of this. Ian Crosby has written an excellent answer on Quora (but you already read that before asking me, right?).
Here’s my abbreviated version:
1. Network like crazy
This is lead generation. You need to meet a lot of people to find the one or few great developers who can turn your opportunity into a working product. Get in touch with engineers and developers you already know, go to developer meetups and hackathons (and don’t leave early), reach out to loose connections on LinkedIn, invite nerdy types to your parties, and meet with as many developers as you can. Ask them about their projects, both work and hobby. Get to know what appeals to them. Ask them about people they admire or enjoy working with. Tell them about your emerging business and challenges, ask for their advice. Don’t try to rope them in right away. Build relationships and become known as someone who knows what they’re doing, and is looking for someone great. Follow up with those who seem most interested but make sure they know you’re going to be choosy. Expect this to take weeks to months for you to finally be introduced to a few viable candidates.
2. Choose very carefully
You have a candidate pool, now you need to select the best. Sadly, you don’t have the ability to tell who is a great developer and who is average. If you did, you’d be able to build your app yourself. So find an experienced engineering manager to help. You probably met a bunch over the preceding months of networking: people with broad experience, clearly great at what they do, have hired or been part of hiring A-grade people before, and who draw a lot of respect from everyone else you talk to. You couldn’t convince them to leave their current project but maybe he or she can help you select someone. Ask this person to give technical interviews to your candidates. Be clear about the level of ability, flexibility, technical leadership etc. that you’re looking for. Depending on the strength of your relationship, reimburse them for this highly specialised service. And expect them to reject most candidates.
It’s supposed to be hard, remember? But the good news is that once you’ve found and hired and are working with your first one or two 10x engineers, they will be highly motivated to find and recruit peers who are at their level of ability or better. So long as you let them be picky, you’re on your way to a great team.
Group B. You don’t know what you’re doing
Your idea is awesome. I mean, amazing. Revolutionary, I know. But you haven’t done this before and you don’t have backing to pay a good salary and it’s hard to do customer development on evenings and weekends and you don’t have a prototype or other evidence because finding someone to build that was the whole problem in the first place!
You should fix that before wasting a developer’s time.
Move yourself into group A.
Ideas are cheap and plentiful, so if that’s all you have then you’re not bringing a lot of value to the relationship. There are a whole lot of hard problems involved in building a great product that don’t require deep technical experience, so if it’s not clear that you’re going to have them covered then no-one is going to want to risk working with you. I mean, did you even try asking Google?
And I think that’s the way it should be. Our scarce supply of technical experience and talent must be shared by relatively few projects. If a new project is going to fail for any reason other than lack of developer talent (these days rarely a prime cause) then the opportunity cost, to all of us, of that sunken effort is a great loss. Please don’t waste good developers’ time.
Instead, learn those skills, build your experience, de-risk your business and earn a reputation as someone who does know what they’re doing. Survey and interview customers or users. Gather quantitative data supporting the need for your application. Build and test the business model. Draft designs of your application, test them on people, iterate. Implement a manual MVP of your business. Get someone to help you outsource development of a quick prototype on oDesk or Freelancer.
Prove to yourself and others that you and your idea are worth an investment of development time, talent and creativity. And you might as well start networking with developers now too.