Wednesday, September 14, 2011

How to Hunt Programmers for Your Startup - A Field Guide

imageThis post is admittedly the outcome of a conversation with a few people over some beers.   Some of it is a bit tongue-in-cheek and certainly we are greatly simplifying things.  The people around the table included a bunch of us who would be prey in some situations.  So, please take this in the spirit intended.

The conversation centered around a founder who's key question is "Where Do I Find a Developer for My Startup?"  In this case, he had a pretty compelling idea, had very little money, and didn't have the capacity himself to build it.  His goal was to find a programmer who would come in as an early partner and work as an Equity-Only Developer.   The situation is pretty common it got us to riff a bit around how to get programmers to help him build out a proof-of-concept version for his startup.  Along the way, this gradually turned into hunting programmers in the wild.

Before You Hunt - Be Prepared

But before I answer the core question, let me address a few up-front questions.  Don't go hunting for programmers until you've answered these.

1. Have you done all you can on paper?

Do you have wireframes?  Have you tested the concept with customers using paper?  Have you signed some test customers?  Have you tested what you can without development?  Don't try to hunting programmers until you've pushed this as far as you can on paper and get early customers.

2. Do you know the relative effort to build your prototype or minimum viable product?

The relative size of the development effort will make a big difference in your strategy.  There's a cutoff point once you reach roughly 3 person months of development time.  At that point, you can't really just try to find someone to build it on the side, do equity only, etc.  It needs to be funded to be successful.  The grind is too much and too long if it gets beyond that size.

What do you do if you don't know the size?  Ask a few CTO type people.  Or ask me Free Startup CTO Consulting Sessions.

3. What are the key developer skills that are needed?

Is this a Wordpress hack?  Is it big data?  Deep algorithms?  Have a rough idea of what you are looking for in terms of talent.  Again, if you don't know you should ask people who will know.

4. Is this compelling to a developer?

Be prepared to sell this to the developer.  More on this below.

In the case of the entrepreneur that was the genesis of this post, he had done a lot on paper.  He had a few early customers ready to go.  The size of his initial build was roughly 3 person months and it wasn't particular complex.  It was a mobile app, so he ideally would find someone who had experience with mobile development or someone who could pick up a mobile framework.  And generally, it seemed pretty compelling for a developer.

In this particular case, because mobile development is hot, it was pretty unlikely that this founder would find someone with experience with mobile development willing to jump on this.  So, instead he was really looking for two people: (1) someone with experience who could spend an hour here and there guiding development, (2) an up-and-comer who wanted to get into mobile development.  Did we just make his problem twice as hard?  Not really.  This will still work if you run into exactly the right person. 

Getting to Know Your Prey

At their core, programmers are often motivated by a few specific things:

  • Solve a problem, create something neat from scratch - basically all of us technical people love to tackle problems.  The beauty of programming is that you take a concept and turn it into reality with just typing some stuff into the computer.  It's about creation.  It's really an amazing beautiful thing. 
  • Learn something new - most programmers love learning new technologies or solving new kinds of problems.  They don't want to do the same old thing again.
  • Food and other Rewards - Programmers (like most people) love to be treated nicely.  Most days, they toil away and no one really seems to appreciate what they do.  If you buy them food (pizza, donuts, coffee) or free stuff (tech gadget, big monitor, t-shirt), they will love you for it far beyond the cost of the actual item.

There are also a few things that programmers really do not like, make sure you avoid these:

  • Salespeople / Being Sold - Does anyone like this?  You are selling them, but be subtle.  Ask for help.  Enlist them.  Don't sell them.
  • imagePretending to Know More Than You Know - When people are speaking a non-native language, they often miss subtle things.  I remember how my Swiss German colleagues would say "his English is perfect."  No one who grew up in the US would ever say our English skills rise to the level of perfection.  That's just too high and there's always more.  It tips you off that the person doesn't quite get the nuance.  Speaking tech to programmers is the same thing.  Programmers will hear your little mistakes and if you pretend you "speak perfectly" - it will immediately lose respect with them. 
  • Not Knowing Enough - Unfortunately, you also cannot get into a conversation with a programmer and not know the first thing about the technology.  If you don't understand the basics about mobile technology, then read up on it.  Admit you don't know the details, but at least get to a 101 level before you talk to a programmer.
  • Time Wasters - Don't talk too much.  Stay on point.  Only go social when they go social. 

If you need more help on really getting inside the mind of programmers, two great resources are Dilbert and Foxtrot (the little kid is a budding rock star developer).

image

Find Your Prey

Urban Legend - Willie Sutton, the bank robber, is known responding to the question "why he robbed banks" by saying, "because that's where the money is."  Turns out that's disputed, but it's still the basis for Sutton's Law.

Where do programmers hang out?  The answer is that programmers are hard to find.  They are generally less social creatures.  They tend to cluster and don't like to talk to people who have lesser abilities (i.e., anyone who doesn't program). 

Some places you can find programmers locally:

In your company or other companies.  Find your dev shop.  Find out who the programmers are.  Visit your friends and ask them to bring you to their dev shop.  Ask your friends to visit their dev shop/programmers on their behalf.

Tech Events / Meetups - There are lots of Networking Events in Los Angeles and Southern California that are techie oriented.  In this case, looking for mobile developer events in the local area makes a lot of sense.  But it would also be good to look for developer oriented events aimed outside mobile to look for people who might want to get into mobile.  You should definitely hit up the Startup Weekend events as well.  And look at StartupDigest.com

Make sure you meet the people who run these events.  They often can help a lot in navigating to expertise and to possible resources.

Student Groups - Go to the local university and find out what student groups there are for programmers.  Ask around for ideas on where they hang out.

LinkedIn - This remains one of my primary tools.  It's a bit hard to use for this kind of request, but I would certainly go ask everyone I know to introduce me to programmers they know.  And then use them to get to even more.   You can certainly do this through Facebook as well, but I would use LinkedIn.

Twitter - You can run searches for various types of techie terms being used in a given geography.  Follow them and reply to introduce yourself.

Sites - There are a bunch of sites out there aimed at this or similar issues.  Most of them suffer from lack of activity, but it's worth a shot.  Some sites to check out:

You can lookup also on this Google spreadsheet: https://spreadsheets.google.com/...

You can try finding folks via

Oh, and often there are forums for particular technologies where you can look.  In this case, these sites didn't pan out all that well for the entrepreneur.  Part of the issue was that he wanted someone local.

Approaching Your Prey

Actually, before you approach any programmer, please keep in mind to use caution.  Don't scare off your prey.  Remember that programmers generally are skittish and don't trust outsiders.  You are an outsider.  If you come up to a programmer and just ask them to help you build your product.  Game over.  They will be thinking at that point - "How can I gracefully exit this conversation with my limited social skills?"

Instead think about what will motivate them.  If we take the example that was the genesis here, the founder wants two types of people.  He wants a person who knows mobile development pretty well who can help direct the action (the expert), and he wants someone who is a good coder who can learn to build out the needed mobile application (the developer).  What will motivate these two people?

The first person (the expert) will likely be motivated by being involved in a fun, exciting problem/venture, lots of immediate rewards, not too much time commitment.

The developer will be motivated by getting involved in a fun, exciting problem/venture, lots of learning opportunity.

So, if I'm at an event that's full of prey, I will go around the room introducing myself to people (probably starting with the host) and roughly say:

"I've got a concept defined and some early customers, but I'm not sure if using a mobile framework, building native apps directly, or maybe even doing an HTML 5 app is the right way to go.  Who should I talk to here who I can buy a coffee and tell them about my concept and get their input on the concept and especially on technical direction?"

This is intended to find the experts in the room.  A few notes about this:

  1. Make it clear that you've done your homework:  I already have some people who want this, but I need to get it built. 
  2. Present up an interesting question: I need to figure out what my technical approach will be.
  3. Show you also want their input on the idea.
  4. You are willing to buy coffee, pizza as an immediate reward.

By the way, this works just fine if you happen to already be talking to the expert.  By the way, if the person tells you that you should talk to a particular person then please say, that's great, "could you introduce me?" and start leaning to prompt them to start walking with you.  Most often people are happy to do it and it helps with immediate rapport with the prey.

Once you are talking to a person who's been introduced as a likely expert, the language is pretty much the same as above, but you likely will get into a bit more detail and then ask them if you can get them coffee sometime.  They likely will want to try to solve your problem right there (did I mention us techies like to solve problems).  Resist this a bit.  It would be much better to build more rapport with them.

When I'm looking for the developer, my approach is pretty similar.

"I've got a concept defined and some early customers and have someone who's helping me from a technical strategy perspective, but I'm looking for someone who's a good developer and interested in getting into mobile development."

More Resources

You can find a bunch more resources in this post: Startup Development

1 comment:

Melvin said...

nicely put; especially this part made a lot of practical sense-'Pretending to Know More Than You Know'.