Wednesday, June 23, 2010

Managing Your Hiring Effort

Congratulations! Your company is doing well enough that you need to find new folks for your growing team. I’ve been on the hiring side of the equation several times and thought I’d pass on some things I’ve learned about managing your hiring effort.

(I’m purposely skipping a number of topics in this post, such as getting approval for your headcount increase, dealing with your internal hiring processes, etc. There’s only so much I can write about in one post… I’m also assuming you’re the person responsible for managing the flow of candidates through the system.)

As you move through the process of sifting through piles of resumes, you need to keep a solid grip on your one primary goal: finding a candidate that will help you deliver great solutions. Hiring new team members is a time consuming[1], frustrating, expensive process, and it can potentially impact a large number of folks in your organization. Every time you look at a cover letter, resume, or speak to a candidate you must be asking yourself “Will this person improve my team?” and “Am I making the best use of the time of other interviewers on my team by sending this candidate to them?” If the answer isn’t a resounding “Yes” then you need to thank that candidate for their submittal and move on to the next candidate on your list. Focus on improving your team. Focus on ensuring you’re not wasting colleagues’ time by passing on mediocre candidates who likely won’t improve your team.

Every hiring effort is different, and each new open position will have different requirements, but in general, here are the things I always look for at each stage when considering a candidate.

  • Passion. Does the candidate care about what they’re doing?
  • Culture/mindset. Will the candidate fit in with the team?
  • Drive for learning. What’s the candidate doing for self-improvement?
  • Reliability. Can the candidate be counted on to meet all their commitments (get to work, attend meetings, be responsible for their tasks, etc.)

Once the job is advertised you’ll have to deal with the flow of incoming candidates, tracking which ones you’re advancing and which ones you’re rejecting. I use a combination of Excel and Outlook Inbox folders to mange my flow. (Maybe you’re in a huge corp with some specialized system to manage all this. In which case feel free to ignore all this…)

Outlook with numbered folders to mimic my flow:

Folders for hiring workflow

Excel sheet for tracking my contacts with each candidate and notes about them. I can sort on the various Y/N columns to keep progressing candidates at the top of the view.

Excel sheet for hiring workflow

Here’s how my workflow generally rolls:

  1. Receive notice of a new candidate from HR or some other source. Log the initial contact in my Excel sheet.
  2. Immediately respond directly to the candidate and thank them for their interest. You absolutely must respond to each and every candidate who contacts you. I can’t emphasize this enough. Far too many companies simply take the black hole approach to candidate submissions – you mail in a nice cover letter and a resume, and you have no clue if the company got it, much less whether or not they’re interested in you. No response, no thanks, nothing. Moreover, too often you’re given the run around or rude responses if you call the company to check whether they’ve received your submission. This is utterly unacceptable. Treat each and every candidate with respect. Let them know you’ve received their submission and that you’re evaluating it. That’s a human on the other end of the line. Treat them as such. (I sent out over 250 resumes when living in Germany while my wife was stationed there. I got acknowledgements from the vast majority of those companies. Awesome.)
  3. I’ll wait to read the resume and cover letter until after I’ve sent the initial response. Now it’s time for my first-level screen. Is there a cover letter or introduction of some sort? No? Two strikes against the candidate. Cover letters or introductions matter. Is the resume neat? Is it coherent? Grammar and punctuation correct? Do the broad domain skills match up? Does the resume show any passion or drive in the candidate for self-improvement and craftsmanship? I weed out roughly 50% - 80% of candidate submissions at this point.
  4. If the candidate’s cover letter and resume appear worthwhile, I’ll take the next step in my screening process: having the candidate fill out a questionnaire. This is a great way to get an indication of what the candidate’s like, and how they approach things. I wrote about my questionnaire in an earlier blog post. This approach helps me continue to trim the initial pool of candidates. I’m down to about 10% of the initial candidate count by the time I’m done evaluating questionnaire responses.
  5. If the candidate’s responses to my questionnaire are good, then I’ll schedule an initial phone screen with them. This is a 30 minute phone or video call where I spend some time laying out what the job’s like, how big a pain in the butt I am to work with, and what the company’s about. The rest of the call is me getting a feel for how well the candidate matches up with the broad topics I laid out in bullet points near the top of this post. I’ll also clearly lay out what the salary range is, and what date I’m looking for folks to start on. You can’t afford to waste anyone’s time if the candidate isn’t willing to accept an offer in your price range. Clear this up right at the start.
  6. If the phone screen goes well, then I’ll schedule the candidate for a loop of interviews. If you’ve done your screening right, only a handful of candidates will make it to the more formal interview process. I get three or four colleagues at various levels and roles to talk with the candidate for up to an hour. My colleagues’ focus should be the deeper technical interviews, plus getting a feel for whether or not the candidate will be a good fit culturally. Again, each interviewer should be asking “Improve team, yes or no?” You also need to ensure the candidate is able to speak with your HR folks. First, HR has a completely different view into candidates and you absolutely need their take on the candidates. Secondly, you need to make sure your candidates are getting all the information possible on benefits, policies, etc.
  7. Now you’re able to evaluate your colleagues’ feedback on candidates and figure out who you want to have a final screen with. You should already have a clear picture of who your top two or three choices are. I’ll do a final phone screen with my top choices to make sure they’re still interested in the position, all their questions are answered, and they’re willing to accept a specific salary and start date. At this point there’s likely a bit of juggling going on. You have a top candidate in mind to extend an offer to, but you also have to keep your communications open with your second and third choices – your top choice may back out at the last minute for any number of reasons, and you need to have options until your primary choice has signed an offer letter.
  8. Get an offer letter out to your top choice. Give them five working days, max, to accept the offer. Nothing in the offer letter should be a surprise at this point, so it really should be a matter of them confirming the details and signing.
  9. Once your top choice has accepted, then close the loop with your other top choices. Call them up personally, don’t mail.  They’ve gone through lots of interviews and they’ve had their hopes raised. Treat them with respect. Moreover, these folks are your top choices for any future open positions you may get, so you want to ensure you keep a good relationship with them.

Take care managing your hiring process. Make sure you’re respecting the time of everyone involved, and never, ever lose sight of your goal: advancing only candidates who will improve your team and help you create great software.

[1] Some staffing and consulting companies push off hiring personnel for opportunities until they’ve signed contracts. This is a tough juggling act and injects some serious time pressure, but I’ll push back on folks in those hiring situations: re-think your approach to hiring. Good personnel aren’t cogs you get off a shelf somewhere on a moment’s notice. If you think they are then you deserve what you get.

Thursday, June 17, 2010

Initial Screening Questionnaire

When I started hiring to build up my QA team I took a great idea from a friend who was hiring for her team: give potential candidates a questionnaire to fill out as one of the first steps of the interviewing process.

This turned out to be a huge timesaver – as someone managing a hiring effort, you have to absolutely focus on finding the small number of candidates who have the potential to improve your team. You don’t have enough time to talk with every potential candidate, and just reading through resumes doesn’t give you enough information to decide whether or not a 30 minute call is worth your while.

My screening process runs like this: My first screen is the cover letter/e-mail – if it’s incoherent or badly done then I don’t move that candidate forward. Next comes the resume, where I continue with folks who’ve mentioned community involvement, testing, and a number of other things I care about. At this point I’ve likely cut my potential candidate pool in half. I’ll send them the questionnaire and ask them to return it to me in a reasonable amount of time.

The last questionnaire I used included these questions:

  1. Describe in detail your approach to testing a software feature with which you are not familiar.
  2. Next I give them a use case where I point them to a public feature on our site and ask them how they’d test it.
  3. Describe when in the software development process you as a QA engineer would like to get involved in fleshing out the testing requirements for a feature?
  4. Describe how you see your interactions with the following team member roles:
    • Software Developer
    • Program Manager
    • Feature stakeholder
    • Technical writers
    • Support
  5. Do you have a blog? If so, what’s its URL?
  6. What have you done in the last week to improve your skills?
  7. Why do you want to work for Telligent?

This questionnaire focuses on a few key points for the type of folks I look for: are you detail oriented? What’s your approach to testing? How do you view the members of the team? Do you care about improving your skills.

The responses to these questionnaires are always very interesting and are a huge help in deciding who to continue the interview process with – at this point I’m now better able to decide who I’ll have an initial phone screen with. If that call goes well then we’ll move forward with the regular interview process.

For what it’s worth, only 10% of the candidates who submitted for positions on my team made it to the initial phone screen stage.

Feel free to steal, adapt, or ignore this concept. It’s worked very well for me!

Article on Selling Developer-Level Testing

I wrote an article on successfully selling developer level testing in your organization for nPlus1. The article hits a lot of things I think are really important when talking to your management and team about implementing some form of developer testing.

You really do need to make sure you present an honest, well-thought case for testing before rolling in to it. Hopefully this article will help you if you’re searching for ammunition to help win that debate!

Go read it. Then go write some tests.

Wednesday, June 09, 2010

Video: Panel Discussion on “Drinking From The Firehose”

I was flattered to be asked to sit on a lunchtime discussion panel at last month’s Ann Arbor Day of .NET. David Giard moderated the discussion and Aydin Akcasu captured it all on video.

Dave’s posted the video on his terrific Technology and Friends site, and it’s well worth you spending 37 minutes to watch it. Not because I’m on the panel, but because the discussion covered a lot of things I’m especially passionate about.

Some of those things would include, in no specific order:

  • Technology’s moving fast, and coming in waves – but we’re empowered to do so many more things than we were even five years ago. I can focus on delivering value instead of writing infrastructure or tooling.
  • Companies need to invest in their workers’ training.
  • Workers need to get emphatic about owning their own careers. Companies need to support them, but you, not your company, own your destiny.
  • Managers need to support workers with time sliced out of the schedule for continuous, ongoing training. (I didn’t even ask permission with my management. I just directed my team to take two hours a week and go explore. That’s my job as a boss: get forgiveness instead of permission…)
  • Not learning every new shiny thing is OK. Maybe learn something about what biz value new technologies offer, but carefully pick and choose what you’re willing to dive in to.
  • Do spend some time exploring new things, though, because that learning will inform and impact how you work with your current technology.

Props to Dave for a great show, and thanks to fellow panelists Mike Eaton, Jay Harris, Patrick Steele, and Jason Follas. It was a pleasure being up on stage with y’all.

Monday, June 07, 2010

Slides & Demo Solution for Selenium Test Presentation

I’ve uploaded a zip with the slides and demo code from my “Web Testing with Selenium” at Saturday’s Central Ohio Day of .NET. You can find them here.

The zip is 16MB in size – sorry, but that’s including the 15MB Selenium v1 jar file. There’s a README file in the root explaining the solution and some of the various support files.

If you attended the session, thanks! I enjoyed talking about Selenium and hope you got some good info.

Subscribe (RSS)

The Leadership Journey