14

I am programmer who just started working on a startup idea. At the moment I want to bring onboard at least one programmer. This programmer should be a ninja - a 10x engineer.

Since early days are probably the most risky for a startup, I want to make sure I approach this problem the best I can.

How do I find these people? and How do I convince them to come onboard?

I would love to hear from people who started their own companies and what their thoughts are about hiring

Update: I would like to get the ninja as a co-founder so besides being a ninja (ie. great programmer with computer science background) he/she has to have a healthy appetite for risk (for great programmers this is not a big deal because they can be hired anytime into mainstream jobs if the startup doesn't work)

numan
  • 257
  • 2
  • 6
  • 73
    you can start by not calling them ninjas – Tim Nov 08 '10 at 21:24
  • 13
    Unless you are a good (not necessarily great, but certainly capable and competent) programmer yourself, it will be very difficult if not impossible for you to know whether you've found a "ninja" or a clown. – limist Nov 08 '10 at 21:26
  • 5
    @Tim you wouldn't want to be called a ninja? – Tarka Nov 08 '10 at 22:10
  • 2
    @Slokun: Personally, I would be more impressed with a company where I can do good work than I would be with one who calls me a "ninja". I think most programmers view such things as trying to "fluff" job descriptions up. – Jason Baker Nov 08 '10 at 22:25
  • 12
    @Slokun - I am a software developer. I don't need to pretend to be some kind of martial arts expert. IMO - Keep the video games references where they belong - in fantasy land. I am good at what I do. I don't need some fad moniker to remind me of that. Give me decent work to do, the tools to do the work, a good environment and pay me appropriately. Ninjas are for/from motorcycles and movies/video games – Tim Nov 08 '10 at 22:28
  • one of my titles in a previous startup was "ghost buster". titles can be fun. maybe "samurai" programmer is better than "ninja programmer" – numan Nov 08 '10 at 22:52
  • 12
    If they really were Ninja programmers they would just show up, quickly and quietly knock off the project and then disappear without a trace. *Poof.* – sal Nov 08 '10 at 22:57
  • 1
    Technically I actually am a ninja programmer. Doesn't make me particularly special at programming, but I've got a decent understanding of how to apply arm locks or use a katana, which I'm happy to say I've yet to need. – glenatron Nov 08 '10 at 23:02
  • I'm in ninja training. – kirk.burleson Nov 09 '10 at 00:27
  • @numes: well, at least you now know that Tim is *not* the guy you want to hire as your ninja. ;-) – Carson63000 Nov 09 '10 at 02:08
  • Just pointing out - be careful. Think Facebook... – Moshe Nov 09 '10 at 04:26
  • 1
    Doubtful you want to offer the co-founder position. Trying to find a top-notch developer who *also* has top-notch business skills just made your search that much harder. Besides, the developers you want often only stick around until V1 is a success; then it's on to the next big thing ("So long, and thanks for all the stock options!"). – TMN Nov 09 '10 at 18:05

12 Answers12

45

Pay lots of money. If they can't do that they offer stock options and nice perks like free food, drink, nice working environment with latest equipment and good benefits. Basically you have to give them something worthwhile, no one is interested in making you rich for their toil.

Craig
  • 4,302
  • 3
  • 21
  • 21
  • 28
    +1 for "no one is interested in making you rich for their toil." Incentives make the world go round. – Ryan Hayes Nov 08 '10 at 21:39
  • 9
    This seems so obvious, but apparently it isn't. Don't know how many times I've heard a company claim to hire the top 10% and argue in the same breath that they should pay the industry median salary. – JohnFx Nov 08 '10 at 22:07
  • 6
    -1 According to "Rapid Development", salary is #9 on the list of motivators for programmers. – Evan Kroske Nov 08 '10 at 22:09
  • 1
    Also important to remember, the real superstars don't look for jobs. People come to them. It just depends on how high on the tree you are looking. Do you want Anders Hejlsberg or just some guy who you have heard is super good? – Craig Nov 08 '10 at 22:11
  • 1
    @Evan Kroske: When you're a start-up, what else do you have to offer? Presumably (if the idea is any good) all the other stuff is already there: potential for growth, achievement, etc... – Dean Harding Nov 08 '10 at 22:19
  • 17
    @Evan, that is true, but a LACK of appropriate compensation is clearly a demotivator. – Tim Nov 08 '10 at 22:29
  • can't "pay lots of money" at the moment, although "lots of equity" can be given. i want programmer who are motivated by more than just money. – numan Nov 08 '10 at 22:45
  • @numes - Unlike "lots of money", "lots of equity" doesn't pay bills, at least not in the early stages of startup. – Jas Nov 09 '10 at 00:41
  • 2
    @numes: given that you can pay mainly (or only?) in equity, you probably need to look for someone who has already been through the start up cycle and has a nice bankroll to keep him or her afloat. In order to land someone like that, you are going to have to have a really compelling idea and story to get them interested. – Adam Crossland Nov 09 '10 at 01:17
  • @Evan: Someone comes and offers you $25,000 a month to do what you can do with you eyes closed, you refuse? – Christopher Mahan Nov 09 '10 at 04:54
  • 1
    Christopher, if someone offered you $25k a month to watch paint dry, or $5k a month to do fun stuff, which one would you choose? – Peter Boughton Nov 09 '10 at 13:06
  • 3
    As already said: insufficient money is a de-motivator, but once you reach a certain threshold its motivation factor decreases rapidly - there's far more important things in life than accumulating trade tokens. – Peter Boughton Nov 09 '10 at 13:07
  • +1 for ninja reference. I would prefer guru though... – Agile Scout May 03 '11 at 03:58
19

According to "Rapid Development", the following factors are the top 10 motivators for programmers.

  1. Achievement
  2. Possibility for growth
  3. Work itself
  4. Personal life
  5. Technical-supervision opportunity
  6. Advancement
  7. Interpersonal relations, peers
  8. Recognition
  9. Salary
  10. Responsibility

If you want to hire a top-tier developer, you need to consider what's most important to software developers and offer your prospective developer what he wants: a challenging, satisfying project that won't take over his life.

Evan Kroske
  • 508
  • 2
  • 13
  • +1 for listing it out. agree with all of the. from my "projects that won't take over your life" are kind of hard (but not impossible) in an early stage startups. – numan Nov 08 '10 at 22:56
  • 2
    Eh, one size does not fit all in this case. Those might be the top ten factors for all developers, but odds are some people are going to rank the differently depending upon their life situation and where they are in their careers. – rjzii Nov 09 '10 at 03:59
  • 1
    I will put up with all sorts of bozos, stress, and management snafus for $350,000 a year in cash. On the other hand, I won't even answer the phone if there is less than $60/hr on the table. – Christopher Mahan Nov 09 '10 at 04:57
12

Networking is required not only for job hunters, but for employers as well. Go to meetups and conferences and try to find good programmers who are on the market. I'm the last person in the world who should be giving you advice on how to do that (I hate networking), but it's worth mentioning.

Jason Baker
  • 9,625
  • 8
  • 44
  • 67
  • 2
    I wish I could plus this more. The best way to hire good people or get a good job? CONTACTS. Not just networking events (bleh) but keep in touch with former employers, coworkers, bosses, etc. – Zan Lynx Nov 08 '10 at 23:04
11

Successful startups? It's about who you know. In fact, it's a fairly bad sign for a start-up if they need to post ads looking for programmers. That means that the founders couldn't convince any of their hundreds of programming acquaintances to get on board with the idea.

Unsuccessful startups? They tend to have too many "original founders" and managers, and not enough programmers willing to sacrifice major parts of their lives on a risky idea.

Quite simply, think of the ninja programmers you already know, your friends, and ask them. If not one of them is interested, or wants to let their other ninja friends know about it, then you may want to reconsider your strategy, service, or product until they do. Think about all of the successful startup stories. It's always a group of friends or people who already knew and worked with each other.

Macneil
  • 8,223
  • 4
  • 34
  • 68
8

I think your main challenge will be identifying the superstar programmers. You'll get all kinds of applicants if you just say "I'll give you a truckload of money." The choice of programming language will help. Your applicants will be mostly commodity programmers if you use C# or Java. By commodity programmers I mean those who are only doing programming for the money and don't care about learning anything beyond what is necessary to complete whatever task happens to be in front of them. EDIT: I'm not claiming that all C#/Java programmers have this attitude. I personally know some who are very competent and dedicated. But finding them can be difficult.

If you use Haskell or Common Lisp, commodity programmers won't be interested because there aren't large numbers of Haskell and Common Lisp jobs posted on search sites [EDIT: not to mention the standard criticisms of Haskell (looks like line noise, slow) and Common Lisp (archaic, too many parentheses, macros are dangerous)]. You'll get people who are very dedicated to learning and able to pick up powerful concepts that the average developer would have trouble with. Examples of these concepts would be monads in Haskell or Lisp macros. If you want the best, these are the people you want.

Larry Coleman
  • 6,101
  • 2
  • 25
  • 34
  • 1
    +1: I have yet to hear of a startup that has trouble finding people. I also have yet to hear of a startup that *doesn't have* trouble finding good people. – Jason Baker Nov 08 '10 at 21:56
  • 1
    Upvoting partly because that's the only idea I've had for hiring from the deep end of the talent pool, particularly if you can't judge properly yourself. – David Thornley Nov 08 '10 at 21:57
  • 1
    +1 for great advice. i tend to avoid applying for jobs that put too much emphasis on a particular language skill because great programmers don't have trouble transitioning to a new language. that's why, for me a formal computer science background is very important. – numan Nov 08 '10 at 22:50
  • 7
    -1 for BS attitude towards C# and Java programmers. There's simply nothing magical about Haskell or LISP. As a C#/.NET developer, I'll stack my passion and commitment to excellence in software engineering against anybody's. And what's more, there will be a whole lot of others who feel as I do. – Adam Crossland Nov 09 '10 at 00:27
  • +1 Anyone who's good at Haskell or Lisp and prefers to use such tools would get extra consideration. The challenge is for the recruiter to know how to evaluate that. – limist Nov 09 '10 at 01:57
  • @Adam: You seem to have missed the word "mostly". – Larry Coleman Nov 09 '10 at 13:07
  • 3
    Here's an analogy to point out what Adam & others are missing: Pick any well known sports team, talk to the fans, and you'll get everything from really passionate fans to disinterested glory hunters. Pick a small lesser known team, and almost all the fans will be of the passionate type. There might be more passionate fans for the big team, but they're like needles in haystacks compared to the smaller team. – Peter Boughton Nov 09 '10 at 13:18
  • 1
    @Peter: That's a great point, and I'll have to work that into my answer. Common Lisp and Haskell are both not only less well-known, but have undeservedly bad reputations among the people who do know of them. – Larry Coleman Nov 09 '10 at 13:56
  • This is a way to find smart people. But you want people who are [smart, and get things done](http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html). – MarkJ Nov 17 '10 at 12:45
  • @MarkJ: Are you suggesting that there are programmers competent in Haskell or Common Lisp who are for some reason unable to get things done? – Larry Coleman Nov 17 '10 at 13:06
  • @Larry: Yes. Quote from Joel's article: "People who are *Smart* but don’t *Get Things Done* often have PhDs and work in big companies where nobody listens to them because they are completely impractical. They would rather mull over something academic rather than ship on time... these people have a tendency to show up at your office, coffee mug in hand, and try to start a long conversation... *on the day you are trying to ship a beta*." There are people like this: you need to avoid them, **and** avoid your "commodity programmers" - the people Joel says *Get Things Done* but aren't *Smart* – MarkJ Nov 17 '10 at 15:09
  • @MarkJ: I've seen that article. Just to be clear, I'm certainly not advocating: "I see from your resume that you know Haskell and Common Lisp. Welcome aboard." It should go without saying that some evidence of competence and achievement would be required. So let's ask another question: what evidence do you have that more than 1% of Haskell and Common Lisp programmers are in the "Smart but don't Get Things Done" set? – Larry Coleman Nov 17 '10 at 15:33
6

Get a booth at a developer conference. Demonstrate a proof-of-concept and let people know you're hiring.

VirtuosiMedia
  • 4,089
  • 4
  • 33
  • 43
6

Your update "I would like to get the ninja as a co-founder..." tells me loud and clear you WON'T be paying ninja money. You're hoping to bring in somebody to make your vision turn out without compensating them, and instead promising them heaps of riches at some future time.

As somebody who's heard that tune before: good luck with that.

Dan Ray
  • 9,106
  • 3
  • 37
  • 49
  • 1
    +1 for honesty. A solution that requires heroic efforts from heroic individuals are not really any solution at all. – Macneil Nov 11 '10 at 02:18
4

I think that in most situations they use the Texas Sharpshooter recruiting approach.

That is, they hire the best they can find, then call them "Ninjas", "Rock stars", or whatever it takes to convince the VC guys that their Web 2.0 App will be da-bomb and no one else could possibly compete with them.

JohnFx
  • 19,052
  • 8
  • 65
  • 112
  • yeah - this is exactly what i don't want to do. as a tech entrepreneur, programmers are going to be biggest asset in my company and thus i only want to get onboard real rockstars/ninjas/samuarias – numan Nov 08 '10 at 23:05
4

The start-ups that get the best programmers do tend to be the ones started by really great programmers. So, I guess, Mission A is to become a really great programmer.

One thing I will say- when I worked freelance there were a lot of people who "had this really great idea" but they wouldn't say what it was unless I was ready to sign a 200 page nda and really commit to definitely working on that idea.

It's been said before and it will be said again but success is rarely determined by the quality of your ideas. Really programmers don't care about your ideas they're more about execution.

glenatron
  • 8,729
  • 3
  • 29
  • 43
  • agreed that web startups are more about execution - that is why having ninja is so critical. i want to build a team of ninjas. – numan Nov 08 '10 at 23:16
4

It's a market. Since a really perfect programmer will be worth millions of dollars, just offer to pay him a million a year.

Well, you don't have a million. So, you have to settle for a less than perfect programmer. This is where you have to figure out what you really need, and trade if off for qualities that you don't really need.

For example, the person might not have good company political skills, thus isn't doing well with a typical company. Or, he might have poor social skills, be older and thus a burden on the health care premiums for the company, etc. etec.

He might be a verbal klutz, meaning he comes off poorly in interviews.

You will have to figure out what you really need, what you can offer, and what you can put up with, and find the best deal for your resources.

It's like asking "how do I marry a supermodel genius super people person girl" Unless you're you're young, handsome, rich, brilliant, and charming, the odds are against you. But, do you really need all those qualities for a happy marriage? Probably not.

Larry Watanabe
  • 481
  • 2
  • 4
3

Start-ups are risky business. if I'm an expert in what you need, I'm going to want a piece of the profits (large piece) and a look at the business plan to make sure it looks as if this thing has a reasonable chance of success and a lot of perks and a top drawer salary (I doubt what you want to do is so interesting that these people will accept a pay cut.)

In all honestly can you offer this?

HLGEM
  • 28,709
  • 4
  • 67
  • 116
  • i can offer all of what you listed except top drawer salary. although that is going to change once the funding is secured (which i'm in the process of doing). – numan Nov 08 '10 at 22:59
  • If you're taking a large profit share, don't expect any more salary than the founder gets. It's generally either-or: you can get paid, or you can go for the big win. In my experience. – Zan Lynx Nov 08 '10 at 23:05
  • I'm just saying most people who are at this stage already command good salaries and are unlikely to want to lower their income for a risky proposition. – HLGEM Nov 09 '10 at 15:43
0
  1. Offer to pay well. If you can't afford it, offer other incentives.
  2. Network. You can't hire someone unless you know they exist. As mentioned, a developer conference may be worth attending.
  3. Be careful, Facebook was (allegedly) a stolen idea. Make sure you hire someone who is honest, or at least willing to sign the proper legal documents. Get yourself a lawyer if needed.
  4. Consider outsourcing outside of the US. It's cheap and you can get a product that's solid. (See odesk.com)
  5. Recognize your needs. (Larry brings up some good points.)

(Listed in no particular order and borrowed from other answers.)

Moshe
  • 5,022
  • 2
  • 30
  • 49