Attracting and Keeping Good Folks

A friend of mine requested an essay on my thoughts of attracting and keeping good employees. I've had the privilege of working with some of the best and the brightest over the years and seeing how companies hire and keep them. My take is that companies that attract the best do so with a reputation of excellence. As one example, Google has kick-ass technology, so I'm sure most of you want to work there (I know I do : ). On the other hand, there are plenty of companies that have a reputation for buggy, unusable software that turn us off, all without ever hearing about the salary and benefits package.

If you can attract good folks, you'll also attract lots of mediocre folks and some not-so-good folks. There are all kinds of ways to screen these folks out. My favorite is to ask them "why?" questions. If they can tell me the name of the operator that appears as a colon between the last paren of a C++ constructor signature declaration and the opening curly place, that's great. But if they can tell me why C++ has it, and why Java and C# doesn't, they're hired. Of course, I let the interview candidate pick their own area of expertise and ask them questions about what they know best to see how deeply they've gone in their explorations. The ability to figure out the "why" is a necessary skill for folks that you're going to trust to take vague requirements and come up with Google-like results in an environment where no two consecutive projects use the same set of technologies (or even similar ones, increasingly).

To select for personality, as well as technology, I like to whip behavior interviewing questions on folks. Instead of sketching a situation for an interviewee, e.g. "how would you deal with conflict in the work place?", behavioral interview questions ask people to remember real situations they've been in and how they reacted, e.g. "Imagine a time when you had conflict in the work place. How did you handle it?" Everyone knows the right way to handle conflict in the work place, but far fewer of them have handled it properly when it actually happened. The idea of behavioral interviewing is that past behavior indicates future behavior, so if you don't like that your candidate punched his last manager in the nose, that's something to find out up front.

Once a good person has been hired, keeping them is a matter of paying them what they're worth, letting them do what they're good at, helping them get better at what they're not so good at, making sure you don't waste their time on stuff that doesn't matter, showing appreciation for a job well done and otherwise staying the hell out of their way.