Entries Tagged 'HR' ↓

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…