How to hire the best developers?


Joel Spolsky is always writing about how companies should treat and offer the best to their developers in order to be able to get the best of them. As a startup, when the time comes and you do need to hire developers, you want the best developers too, correct? How do you get them when a large salary and a "slick" office is not an option?

Recruiting Hiring Incentives Developers Engineers

asked Oct 10 '09 at 12:44
4,815 points

14 Answers


While I agree with Joel on giving employees the best you can, you don't need private offices, free lunch, etc. to attract great talent. Some people, no matter what you offer them, will never take a job at your start-up. They need managers, water coolers, big tall buildings, office gossip, etc.

But there are a lot of folks -- younger developers, people willing to take a leap of faith -- who will, and understand that all the perks just aren't part of the package. But that's just half the fun of it.

Since you can't afford much, offer what you can:

  • A Voice - this is the most important of them all; they need to know that their contributions go beyond the code, and that they will play an important role in the product/company growth
  • 24" Monitor - you'd be amazed how big of a difference this makes in day-to-day
  • Flexibility - this is huge; the ability to run out during the day to do whatever's needed (but work late to make it up) is huge
answered Oct 10 '09 at 15:30
Alex Papadimoulis
5,901 points


In my experience, the people who are "genetically flawed" to want the startup lifestyle are the same people who don't need fancy office space or big salaries. They fundamentally understand the startup model and all that goes with it - late nights, hard work, low pay, office space in the back of a coffee shop, etc.

In all honesty, these are the people you WANT to attract. If you're aiming for employees/developers who need or expect the perks of big business life (or, at least, already-successful-startup life), you're going to encounter problems down the road when the expectations are a mismatch with reality.

The sales process for employees at a brand new startup should be - do you want a substantial amount of equity in an idea that you believe in working for people you admire, respect and want to spend lots and lots of hours with. Find those people and you'll be in a much better position long-term.

I've personally been on both sides of this - hiring people who fit this mold and don't, and I can say from experience that when expectations don't match reality, problems arise.

answered Oct 10 '09 at 12:50
1,001 points


Be transparent, honest, and up-front. Yes, that's redundant.

The best developers have been around the block a few times. We recognize the BS that many startups put out (and, in their defense, believe in).

We want to know:

  1. Your funding situation. (You don't have to be funded, but we want to know if you've really got the money or if you think you're about to get the money. We know about the difference.)
  2. What your market looks like. Can you sell this stuff? Are you selling it?
  3. How much voice we will have in the company. Not just the code, we want to be part of other aspects too. Do you listen to us when we have ideas for new products? New market niches? A better way to pitch certain aspects of the product? Ways to save money?
  4. What's your exit strategy? Is it realistic?
  5. For the first couple of hires, are they going to play a major role in further hiring. It's nice to be able to pick who you're going to work with, and the "best" developers are going to hate working with idiots. Offer to let us make the hiring decisions.

In my opinion, the best developers are not necessarily the best coders. They can take a big picture view of how the product fits into the company's big picture. You want people who can communicate effectively, understand the market, and can get along with other roles (a rockstar programmer who can't work with the marketing weenies, or who whines about the sales guys just isn't going to work out). Although at the end of the day, they do have to be able to produce solid code -- my point is that that's not the only criterion you have to worry about.

answered Oct 13 '09 at 07:40
422 points


Just 2 quick points:

  • You don't need the best developers to develop great software.
  • There is a big chance you won't develop something great before you start making some good money anyway.
I know this seems like my word against Joel but hey, I'll take my chances. Now this is out the way, about hiring people:
  • Give decent salary not too much, but still should be similar to their previous job
  • Give them something big guys can't. Flexible timing, fun project, more important position, equity
  • There are many developers out there totally bored on their crap corporate environment and totally non-challenged jobs, find them and offer them some real position.

Although it's still really really hard to find really good developers and hire them for small startups. If you are not a developer yourself it can be even harder to find a good one since your initial start will be your old colleagues and friends who are confident about your skills.

answered Feb 1 '10 at 10:21
The Dictator
2,305 points
  • Thank you for your input. I agree with you regarding the ability to offer flexible time, fun projects, etc... this is very important for developers, specially the good ones :) – Ricardo 14 years ago


You have a few weapons, although you can't offer a big office and salary.

If the developer is any good, he/show knows full well that his existing employer (especially if it's not a startup) is massively underpaying him, relative to the value the company is actually deriving from his output.

So in a nutshell: if you offer a fair (and in this context, fair means "large") slice of equity, you have a good chance of snagging good people.

answered Oct 13 '09 at 09:00
81 points


First, great developers like to work for (and with) other great developers. If you're not a developer yourself, make sure your co-founder is, and that he's absolutely great.

Second, great developers like to work on interesting problems. If you're building something interesting and hard, learn how to pitch it as such. Keep in mind that if you're building yet another web app with some forms in it, it's not interesting - but then again, you don't need great developers for that either.

answered Oct 10 '09 at 17:45
Elad Kehat
441 points


If you are just getting started and need a key developer or two who you want to also grow with the company. Offer them a share in the company instead of the big salary. Convince them in your company dream and they will be a great asset to your company and its growth as they also will have a stake in it.

answered Oct 10 '09 at 18:46
Derek Beda
221 points


If you are starting out, and cash is tight, then you need to offer something that your competition cannot offer. Offer your developers a vision that they share about how you all are going to change the world. Give them titles and equity (vested over time, of course) and treat them well.

You might not be able to compete with Google for employees, but then again, they cannot offer a lot of equity. Their offer might make more economic sense (a little Google stock can go a long way) but don't assume that your developers will make the rational money choice, since they might value the other things highly.

answered Oct 10 '09 at 19:39
Ron Ga
2,181 points


I think you need to sell what you are - not what you aren't. Have enough respect for the candidate you DO want to give them the skinny. Hopefully YOU believe in your market so you communicate your own enthusiasm and reasoning to the candidate. Why are you doing what you're doing? Then either they are interested or not. If they are interested, then they'll have lots of questions. Learn what you can about them through their questions - you'll learn something about your own pitch when you answer them!

answered Dec 8 '09 at 14:02
Yuri Kostun
11 points


So you have a limited amount of resources and you wonder what it will take to attract the best programmer. That is important, but what you better focus on is, when 50 programmers answer your job ad, how are you going to decide who is the best? Then be open enough during negotiations to find out what that particular programmer wants. Then you can develop the resources and fine-tune your selection process.

Is Fog Creek picking the best programmers or are the best programmers picking Fog Creek? Once you have a reputation, you can attract the best. The key is know what it takes to close the deal. They're all slightly different.

If I interviewed for a startup and they told me they invested a lot of money in offices and equipment, whether or not it was for me or clients, I would question their judgement.

answered Dec 8 '09 at 14:16
Jeff O
6,169 points


Based on experience, I would say, it should start with the people who are already in the startup, and founders play a very important role.

Great programmers know who are great at programming. Unless they are really desperate for money, they would always choose who and what they work with.

Of course, it's nice to have "perks" money can buy, however, it turns out, the best motivator for great programmers to join, actually money can't buy. I think the culture can be first, the culture to tinker, curiosity, to be different, to set out to disprove stuffs, actually appeal a lot to programmers.

There are also programmers who don't have a lot of stuffs to prove anymore, however, knowing that what they're doing is important and they are important to others, makes a lot of difference.

answered Oct 10 '09 at 13:02
201 points


I recommend you read Drive: The Surprising Truth About What Motivates Us by Daniel Pink. He says there are 3 things that powerfully motivate developers. As a developer, I agree that I want these things in my job over a high salary or fancy office.

  1. Autonomy
  2. Mastery
  3. Purpose
You want me to work for you at the 50th percentile (or less) for developers in your region? I would be thrilled too if I believe in your product, it gives me an ability to show off and expand my technical skills and you give me as much latitude as possible in how I do so up to and including picking my co-workers. If you can provide what Pink calls a Motivation 3.0 workplace you won't have to pay top market rates for developers. And if Pink's thesis is correct, you get a big bonus in productivity by leaving the carrot and stick approach behind.

You can get his cliff-note's version here. Don't scare people off by constantly talking about how hard everyone works. I have worked my ass off for startups without being asked because I felt a passion for my work and believed in the founder and my co-workers. I have run screaming from startups who confused working crazy hours with having a workable plan. Work to show how passionate you are about your vision and get the developer to believe in your passion. Look for people who share your passion and that you honestly like. If you wouldn't want to have them over for a beer every week don't hire them.

Prefer passion over a stuffed resume. I would rather hire and work with people who aren't super skilled but share the passion than more skilled people who are just in it for the paycheck. I have seen plenty of enthused amateurs make tons of "mistakes" and still ship great products.

Lastly, if your vision is somewhat boring for developers, (B2B SaaS anyone?) reevaluate your approach. "We are going to win in this space because we are using the coolest open source tools coupled with a proven agile process. We are using short sprints, split testing and MVP techniques to iterate quickly. We have some entrenched competitors and we are going to blow right by them." Programmers are strongly drawn to good process and can smell "waterfall in agile clothing" from a mile away.

answered May 7 '11 at 10:25
Dustin Andrews
136 points


Combination: Job post with kick-ass salary promised AND (AND!!!) a gruesome screening phase, with sit-down tests that would separate the men from the boys. Can't BS your way through a good test.

answered Feb 1 '10 at 11:13
Ron M.
4,224 points
  • A good test is a great idea... however, some people with great skills do not do great at tests... so I'll consider doing a test but will not use the test results as the main qualifier... Thanks for your input! – Ricardo 14 years ago



Not the expensive suit consultants. There are lots of people with good skills and boring day jobs.

answered Oct 10 '09 at 17:44
264 points

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Recruiting Hiring Incentives Developers Engineers