Hiring Good People is Tough!

I’m going to caveat this entry with a warning that it’s both nerdy and technical. It’s about hiring good programmers, but if you read between the lines there are a number of important points about hiring good people, no matter what industry you are in. Replace “programming” with another field and this will be a worthwhile read for you.

So, with that out of the way, hiring technical people is HARD. There are lots of people who consider themselves developers or programmers, but there are very few that are actually good. In most cases, the ones who’ll go out of their way and tell you they are great tend to be the worst of the bunch. Seeing as hiring and retaining talented developers is a huge part of my job, my colleagues and I have come up with a few good techniques.

First, I’m going to offer up a great list provided by the Daniel over on inter-sections.net. These points all rang true to me when I read them so make sure you jump over there to check out all the details.

Positive indicators:

  • Passionate about technology
  • Programs as a hobby
  • Will talk your ear off on a technical subject if encouraged
  • Significant (and often numerous) personal side-projects over the years
  • Learns new technologies on his/her own
  • Opinionated about which technologies are better for various usages
  • Very uncomfortable about the idea of working with a technology he doesn’t believe to be “right”
  • Clearly smart, can have great conversations on a variety of topics
  • Started programming long before university/work
  • Has some hidden “icebergs”, large personal projects under the CV radar
  • Knowledge of a large variety of unrelated technologies (may not be on CV)

Negative indicators:

  • Programming is a day job
  • Don’t really want to “talk shop”, even when encouraged to
  • Learns new technologies in company-sponsored courses
  • Happy to work with whatever technology you’ve picked, “all technologies are good”
  • Doesn’t seem too smart
  • Started programming at university
  • All programming experience is on the CV
  • Focused mainly on one or two technology stacks (e.g. everything to do with developing a java application), with no experience outside of it

Beyond those great bits, I’ve found that resumes are pretty much useless when looking for a good developer. I always ask to see code samples and I make sure I explain that the code sample is being used as part of the evaluation. Good developers will send over well chosen samples that highlight their best work, as well as give you a sense of their coding style and abilities. Bad developers will just send over some random code and not think twice about making a good impression. My team and I will review the code samples and the vast majority of the time we know instantly if we want to pursue a candidate.

Outside of pure technical skill, culture and personality are big points for me. It’s critical to find people who fit the culture of your organization. In my case, it’s all about being a team player and integrating into a really tightly knit high performance team. During the interview this means I’m always on the lookout for people who are asking good team related questions. If a candidate is asking too many “I” focused questions they tend to come off as a “lone gun man” who just won’t work out in my organization.

Never underestimate cultural fit. It’s always easier to take someone with good foundational skills/cultural fit and train them to your specific needs, rather than try and squeeze in someone who might have amazing skills but runs counter to your organizations culture.

At the end of the day, hiring the right people is tough. Hopefully the points outlined above will make the task a little easier. If anyone out there reading this post has anymore tips, tricks, or feedback make sure you post a comment.

Happy hiring…

8 comments ↓

#1 Mike King on 01.12.08 at 4:34 pm

Just going through this right now and some good tips here. That list of points is great and so true. I like the tip of looking for the “I” response to questions instead of the we in finding team players. This has been critical for hiring I’m involved with.

I also strongly encourage to use behavior interview questions to capture the actions/personality better, not just their technical abilities since like mentioned, cultural fit is critical.

Thanks for the post… Should definitely help me think about these point over the next week of interviews….

#2 Andre on 01.12.08 at 5:04 pm

That’s a great point about behavioral interview questions. The right people must have the “whole package”.

#3 Geoff on 01.14.08 at 3:27 pm

Oy… finding good people is almost impossible by that list. I think in all the interviews I’ve done (and it’s gotta be in the 100s at this point), I’ve come across maybe 4 who’ve had all those qualities. We see so few who really are into what they do — mostly because in the interactive agency biz, this isn’t the hardcore style of programming that really brings those sorts of people out.

That said, I will say that you don’t need all those qualities to see if you’ve got the right person. Sometimes, all you need is the attitude. Get the right kind of person, and you can turn them into a superstar. We’ve done that at my office many times. People who might otherwise have been shown the door are turned around and become the cornerstones of some of our development efforts.

The trick? Patience, encouragement, and giving hints rather than answers. But ultimately, they’ve got to want to do it.

#4 sonam on 05.22.08 at 8:40 pm

I am a Customer Service manager and hire people for customer service.Hiring coders and programmers is probably simpler(i Dont mean to underestimate anyone’s job).But i guess you will agree if i say,hiring people on your gut instinct which says “yes,this guy is gonna be good for my customers” is tough.
The language,the grasping power,the skill to talk and get the other person to talk as well,making sense at all times….getting all of it in one person is oh-so-difficult.

#5 Andre on 05.22.08 at 10:02 pm

@Sonam – I think you are totally right. Jobs that require a lot more soft skills are much harder to hire for. I used to work for a sales/call center organization and the turnover rate was incredible due to the simple fact that it was hard to find people with the right combination of skills and abilities.

On the flip side, the more practice you get at interviewing and hiring you’ll find the right questions to ask and start to deep dive more and more accurately.

But yeah, hiring is tough.

#6 Abbey on 10.31.08 at 4:11 am

I love the fact that what you wrote is “real” and “practical”. I am doing a Case Study in Management and I have to quote you on “There are lots of people who consider themselves developers or programmers, but there are very few that are actually good. In most cases, the ones who’ll go out of their way and tell you they are great tend to be the worst of the bunch. ” ..Because they do. Thanks!

#7 Jennifer Ping on 07.24.09 at 8:13 pm

Andre, I must say I may beg to differ on some parts.

When it comes to recruiting, there are a few different segments.

1. The IDEAL Candidate
Some who seems perfect already, got the skills, got the charm, got the passion, got the experience.

2. The Execution guy
May not be the smartest, most charming person, but they will get the job done.

3. Undiscover potential
Someone you need to nurture, may be lacking in experience but with some good leadership and right opportunities can become a superstar.

Note all three type can be very good employees but it really depends on what you need. Unless you need the person to be a jack of all trades, there’s nothing wrong with having them program/specialize in one or two technologies. Nor is there anything wrong with them only training for those specific languages.

Especially when cost is an issue, rather tahn hunting for the perfect candidate and not being able to afford it, go what what’s sufficient with a bit of potential. It can save you some $$$ and you may be surprised with how things turn out!

#8 Mollie Rowe on 12.23.10 at 10:03 pm

I love the fact that what you wrote is “real” and “practical”. I am doing a Case Study in Management and I have to quote you on “There are lots of people who consider themselves developers or programmers, but there are very few that are actually good. In most cases, the ones who’ll go out of their way and tell you they are great tend to be the worst of the bunch. ” ..Because they do. Thanks!

Leave a Comment