Friday, August 17, 2007

Recruiting & Hiring

You know, I was thinking... In my new role in QA at the LDS Church, I'm really beating the bushes looking to hire. We have an extra pair of challenges - the position is in Salt Lake City (non-negotiable) AND candidates must be members of the LDS Church, in good standing. That adds a factor of difficulty for sure!

In my time at Microsoft, I think I probably did 300 to 400 interviews, in the form of campus screens or full-length interviews. At Circuit, I was surprised at the calibre (or lack thereof) of many of our contract test candidates, and frankly some of our full-time hires--they were nowhere near the bar I had set before. I eventually had to settle when hiring contractors, because Circuit was well down the project path before I got there and there was no time to find the best candidates. But in each organization, there were also people who really stood out. What made them so special? Is there a way to find people of that caliber in the interview process?

As test managers, what are we looking for in hires? There are about six characteristics I look for during a phone screen or an interview (and, by the way, I usually get a feel for these in the first five minutes--see the book Blink for a discussion of the split-second decision):
  1. Passion: do they have a passion for technology, and do they have a passion for testing? I'm not necessarily looking for candidates who are total geeks and know everything there is to know about DIVX or the latest XBOX game. That's good, but I want is someone who's passionate about the technology they work for. Do they see where technology can make a company more efficient? Do they see how it can change someone's life? And I don't want a tester who's in test simply because they didn't meet the bar for development. Chances are, if this is case they aren't going to meet my bar. So I need to weed through all these candidates, to find the folks who are passionate about technology and about driving quality into tech projects.
  2. Skills: a successful candidate has to have something really special about their skills. At Microsoft, by the end of my elevenyear the company was only hiring 'developers' into test roles. The argument was that a team which was full of automators would be more efficient than a team of interactive or UI testers. Eh... not sold, personally. If there is any absolute in technology, it's that there are no absolutes! So I'm looking for someone who's going to have something great about them - maybe they are bug machines, focusing on interactive testing but simply tearing up the application they're working on. Or they might be great coders, able to solve big tech challenges. Whichever - my requirement is that they have something they are great at. Oh - and it has to match my team's needs... right now, I have an incredible interactive tester who can script automate much of his testing. I'm really hurting for that incredible developer who can test as well.
  3. Break-it mentality: no bones about it - the candidate has to prove to me in an interview that she can take a sample application and test the snot out of it. What's a break it mentality? Well, I'll give you an example... I would present candidates with varyious test questions when I was recruiting in India. The candidates who I felt would make (at least) good testers were the ones who went on and on and on and on generating test cases. I really didn't care what the sample question was, and it never really matters. As long as the question is sufficiently complex that it has more than 20 or so cases, and as long as the candidate just spews out cases non-stop, you'll know. For the record, I interviewed 175 engineers in India, and hired 25 (dev + test). Finding *great* engineers is a challenge, no matter where you go.
  4. Potential: I won't make a hire if I don't think the candidate is going anywhere. I'll probe for things like career growth or even challenge and goal setting. I may hire a person who flat out tells me he never wants to be a test manager--that is, if he demonstrates to me that he's been growing in his career to-date, and he's going to continue to grow. NOTE that this matters less when I'm staffing a contractor. I'm hiring contractors to tackle and finish an immediate job...
  5. Fit: finally, the candidate has to fit. If he or she doesn't fit on my team, well, it's a waste of everyone's time. A candidate in a poor fit sucks up management's time, peers' time (in the form of gossip and complaining) and their own time in terms of effectiveness. Co-workers are less willing to collaborate, and the square peg is left to do everything on her own.
  6. Intellectual horsepower, problem solving, and other skills: the final area I look at is a big lump of 'soft skills'. These are things like problem solving, communications, and sheer intelligence. If you've read How Would You Move Mt. Fuji, you've been exposed to the argument that looking for these skills is a Bad Thing, that you miss good candidates that way. Phooey! If I throw a puzzle question at a candidate, believe me arriving at the answer is about the last thing I'm looking for. In a good problem-solving question, I'm giving the candidate an opportunity to show project management skills, demonstrate the ability to make trade-offs, prove they can think on their feet and that they can keep their wits about them at the same time. Critical for an entry-level QA engineer? YES!! First of all, in my teams I expect that engineer to be as outspoken as my automation lead with five years' experience. Secondly, this also shows the candidate's long-term potential. If they can't think on their feet or solve problems, they might make it through their first year, but when growth is expected they're actually going to fall flat!

Next few posts will be how I probe for each of these areas.

No comments:

Post a Comment