How do you attract great developers?

by Dan Zambonini

Romancing the stone

First, a clarification on the title; this isn't a "How to make a developer fancy me" article. That would be too easy: 1) be of the opposite sex, 2) that's it. Which, strangely, is also the same article as "How to make a developer scared of me".

I’m generalising here, of course -- there are also gay developers.

The Jewel of the Nile

How does a company recruit the very best developers? All companies, no matter how big or small, know that they are only as good as the people in them. And so we’re all fighting it out for the best in the field, the shining jewels (I really had to shoe-horn that in).

You have to assume that the basic offering is pretty similar across the board -- a good working environment, a good salary, a good team, good benefits, and interesting work. So what can you do that will differentiate your position from the other thousands available from other employers? And, just as importantly, what can you do to reach those who aren't pro-actively looking for work -- the 10x developers that are already (although maybe not 100% happily) employed?

It helps if you’re a big player -- a Google, Apple or Microsoft who can easily shout about R&D time, exciting technologies and world-class mentors. But how about the smaller players?

Fatal Attraction

And so I’m looking to you for suggestions.

What have you seen, maybe applied for, that rocked your boat? Was it the humorous job posting? Did a company stand out because of their web site, maybe an impressive client list?

Or did the job just sound that much better? If so, was it about working with specific technologies, certain methodologies, or something else?


Wes Maldonado
2006-04-03 09:36:33
Have a look at Ned Batchelder's job posting, , if I were looking for a job that description would get me. It's all about the people you're going to with.
Sean Tierney
2006-04-03 11:36:08
from my experience it's always word of mouth from fellow developers that draw the best employees. So theoretically you have one or two good developers to start with at your company and you send them to every local usergroup. They end up talking with the other people at these events; like attracts like and if they're truly stoked with their situations word will travel and you won't have to recruit because you will have the "gems" in the industry knocking on your door for job inquiries. Being active on lists and at physical events is the best way to discover talent.


2006-04-03 12:30:28
1. Important work.

2. Learning environment.

3. Money.

4. Good looking people during the interview.

5. Did the interviewer ask good questions and listen to my answers and then ask better questions about what I said?

6. Lack of phrases such as "proven performers", "giving 110 per cent", "excellent interpersonal skills required" or "we believe better teams make better products" during the interview or in the job description.

If they can communicate to me that I will want to get up and go there everyday and stay late because *I* want to, *I* will.

Life and careers are too short to spend one making the other guy look better than he could if he relied on his own skills instead of mine. On the other hand, if we can make each other be as good as we can be, we have a chance of being better together than we do alone. Don't sign up for zero-sum jobs.

M. David Peterson
2006-04-03 13:38:03
If I could have written what Len wrote, I would have. :) I couldn't, but since he did already, then I guess thats a moot point ;)

Adding to this (and the only thing I was going to say in the first place), given my somewhat main-stream area of expertise in C# and the .NET platform yet my obscure, less main-stream, more massachistic XSLT/Lisp/Scheme (although I guess no one has ever actually specified Lisp/Scheme as massachistic, in time, they will :) I find myself seeking after the positions that make an obvious effort to differentiate themselves from the norm as well as those who get specific about what the job requires, as opposed to generalizing. e.g. 'A qualified candidate will have 3+ years of experience with XML, XSLT, C# and .NET platform' compared to 'A qualified candidate MUST have a complete understanding of working with XML processing technologies, specifically XSLT, within the .NET framework. This candidate must have the ability to showcase this expertise both before, during, and after any potential interview.'

To me the difference showcases what Len brings out: The company understands what their needs are, and they want someone who both has these qualifications and an obvious passion for the technologies, as they too are passionate about the work that they do.

Dan Zambonini
2006-04-04 01:15:42
I completely agree regarding that first example that Wes posted - a great mix between informal and informative.

Sean: I think we've exhausted the word-of-mouth for the time being! We pay a pretty substantial finders fee to anyone who brings in someone else (makes sense - it only would have gone to a recruitment agent, plus we get an honest reference).

Thanks to everyone for their ideas - that's given me a lot to think about...

2006-04-04 06:12:39

A good developer not only requires all of the above (Work, Salary, Environment etc). But they also look for freedom to innovate, recognition and an exciting + challenging growth path. In past I changed my jobs because the job were too routine kinda. A good developer wakes up in the morning and says to himself/herself that I am gonna achieve something new today. That is one thing which can keep a good developer. Hiring is different than keeping. You can hire a 10X developer but if he/she does not see an opportunity to become 20X or 100X in the workplace, then he/she will look for next job soon.

Cheers :)
- Samir

Dan Zambonini
2006-04-04 06:20:25
Samir, thanks very much for a very important point! Luckily, we're actually very good at keeping developers (we're currently developing new products about once every 6 months, and are always using the best technology for the job, rather than sticking to what we're 'comfortable' with -- so our people really relish the learning/challenge!).
2006-04-07 13:20:21
1. flexibility (time and place) - if someone needs to work from home one day a week, dont pester him to show up at the office. flexi time helps too.

2. show trust - which is how #1 comes about. if you trust someone enough, you wont care as much about where the work from, as long as they are being productive.

Atleast in the bay area, #1 and #2 make a big difference.

2006-04-09 02:49:19
All the comments are right on point - as a woman in the field since 1977 (wow, 3 lifetimes!) I have hired and fired many a colleague.

One of the biggest problems in the current workplace is a serious lack of inter-personal skills. Many younger and some not so young employees think their job is confined to finishing the task at hand. They have lived for 20-plus years working for their own good in a very straight-line world. "Do the homework, pass the test, get the grades, do not help others" has been drummed into their heads for years. Real teamwork for a common goal an unknown, the simplest forms of inter-personal etiquette are missing, listening and speaking skills often are poor. Life in the work force is 180 degree world with unspoken expectations which can lead to many misunderstandings, miscommunications, hurt feelings, and resentment. These straight-line thinkers can make the most socialized of us feel very unsocial.

Employers ask for a set of skills when hiring, and ignore the rest. A skill set alone does not a good employee make. Yet when tasks go unfinished, questions are not asked, information not given - we fail to see why. Until the first decades of life include more than passing the SATs, the employer will need to teach this vast array of work-place expectations if we want to cultivate good employees. Unfortunately, this is fairly new - previous generations of white collar workers understood team work was necessary, usually had more diverse skills, and had learned some level of acceptable social behavior. This must include up-front training time, where discussions include the legal, moral and ethical aspects of behavior, and what team work, communication and other expectations mean and ways to achieve them.

Most importantly, these employees need mentors to fully attain these skills. This requires commitment from both parties, yet that is the one thing that employers have little interest in. So we are now faced with potential employees who do not understand how the office functions well, and managers who only want a skill set keeping a chair warm. The unspoken world made of real people with feelings and needs co-exisitng cheek-to-jowl is not addressed by anyone. But it is just this office culture that makes or breaks careers, sanity and ultimately family units.

In addition to a healthy social culture, getting, growing and keeping the best requires interesting and diverse work - voluntary cross-training with different depts. often gives employees positive experiences. Taking developers into the marketing support arena can teach both the sales teams and the developers how and what makes the sale profitable. Time spent in Project Management, Support, Documentation, etc. creates awareness of the whole business, and makes the employee more valuable and promotable.

Flex-time, off-site work, child care, and cafeteria plans are necessary! It's not the hours put into warming a chair, but completing the tasks on time and well done. If a task is finished early - reward the employee, don't pile on another job immediately unless it is a crisis. A day off with pay will give a fresh face every time. Your people are your company - treat them as you would like to be treated - company sponsored sports teams, events, raffles, whatever rocks them is a small investment compared to losing your best, and/or training newbies. My husband of 25 years and I met at company event, and both of us stayed on for over 7 years until it was sold for a very handsome price.

Communication, cross-training, flexibility, a sense of old-fashioned mutual loyality and the unexpected small bonus help create the morning smile and multi-talented employees. And, yes, send them out to network. Boredom, too many long hours without a meaningful thank-you, and a miriade of other negative feelings is far more costly than most employers realize. Intelligent folks still make life choices on feelings, and we must never forget that.

Sorry this is so long winded. Having grown my own company for 12 years with plenty of observation and personal experience, I see our entire culture heading into very difficult times unless some serious changes are made quickly. (Preview isn't working, forgiveness is appreciated.)

2006-04-09 03:32:05
Sorry - it cut off my last paragraph. My advice in looking for new jobs and in attracting the best is easy: a flexible, healthy culture and opportunities for diversity. All the other stuff won't matter if you have to work over a third of your day in a place that doesn't fit your needs and expectations. So, ask many questions, meet and greet - ask to interview or lunch with other employees, and listen carefully. A savy person can collect a great deal of info in a short period of time. As for hiring, let your ads express your culture, personality and expectations. Redmond is a far cry culturally from places like Raleigh-Durham, so find the right area and then fit the ad to your market.
Dan Zambonini
2006-04-10 01:39:23
Jan, I'd like to thank you enormously for such a well articulated, thought provoking response. I'm going to re-read that a few times today, because there are a lot of important points to take in. Thank you.

And thanks once again to everyone else. We re-wrote our developer job-spec to take into account everything that has been said here (and getting a lot of 'inspiration' from the Ned Batchelder job posting...), which we posted a week ago to various places. You can read it here:

Since re-writing this, we've had about four times the normal application rate, and some really high quality applicants; we've lined up three interviews already.

So thank you all once again - you've really helped out!