Thursday, May 26, 2011

Interviewing 101 - for Hiring managers

Interviewing 101

Why do we interview? What are we looking for? How do we find out if a candidate is worth hiring?

The basic goal of the whole interview process is to answer a binary question: Should we hire this person, yes or no? the secondary goal if the answer is YES, is to make sure that the candidate feels that our company is right for them.

There are two main questions that need to be answered:
Is this candidate the right person for the job? And if yes; Can we afford this candidate?

Is this candidate the right person for the job?
I like to think that besides looking for someone who can fill the need we have, we are also looking for someone with a set traits that are hard to learn or difficult to train. Why? If they are lacking some of these “hard to teach” skills then you will have a difficult time getting them to perform as you need them to (conversely if they are lacking some skills that are easy to teach and the candidate is “teachable” then you don’t need to interview for them – you can teach them later.)

So what skills or traits are hard to teach but necessary for a good hire?
I’ll list a few that I look for but this list can grow and change as our needs change so think of this as a guideline not a rule.
I Look for:
Smart – Intelligence
Teachable – Trainable
Driven – Goal Oriented – Successful
Integrity
Customer Focus
Passionate – (about their field or their business focus)
Fit – Personality
Communication – skills and style
Experience level – in the needed area

I feel that if a candidate has all of these then I can easily add in anything that is missing through training.

Smarts – this is a hard trait to test for in an interview directly. Most of the time I try to infer this from their responses to many of my questions. Overall did they seem smart? When my questions were vague, was the candidate able to infer the correct meaning? Did they ask the right clarifying questions?
One line of questioning that may help discern this is to ask them what they would do to accomplish a seemingly impossible task, like redesign a Java UI into .Net in a week. If they can come up with an answer of how they would tackle this seemingly impossible task then I would reduce the timeframe to the ridiculous “what if it had to be done in one day?” “One hour?” The Candidate should be able to demonstrate here that you are looking for them to prioritize, ask for help, come up with a contingency plan, and basically demonstrate how they would deal with the reality of the situation. Or ask them “What’s the most important thing you have learned in the last six months? What new skills, knowledge or experience have you gained?”

Teachable – This trait is very important because if they have it and are lacking in some other area you have a chance to turn an OK hire into a great hire.

This is easier to test for in an interview if you have a long time with the individual or if you have two interviewers coordinate the questions a little bit. An example might be:
1. Have the first interviewer to describe a system or an architecture that the candidate might be working on if they were hired. Draw a detailed drawing on the white board and explain each system early-on in the interview. You might use this drawing to ask other problem solving or trouble shooting questions throughout your interview. (Make sure the second interviewer knows ahead of time what system you will be describing and how you will be drawing and explaining it)
2. When the second interviewer comes in, have them erase the white board and ask the candidate to draw and explain the same system. If the candidate can remember and explain the system well, then you know that they are teachable. They were able to learn a new complex system in an hour or so. You can ask clarifying questions about the system like “what does this part do? Why is it important?” This will help you decide whether or not they actually learned something new.
An alternate approach might be to ask them when was the last time they had to learn a totally new system or technology. How long did it take them to learn it? Did they master this new system or are they still a novice? Or, ask them to tell you about the last time they asked someone for feedback. What did they do with that information?

Driven – you may be able to just infer this from the candidate’s mannerisms but some people can be more reserved. To test for this trait you might ask what professional accomplishments they are particularly proud of. A goal oriented individual should be able to tell you what goals they accomplished at their last place of employment. If they haven’t accomplished any then they are either not driven enough or they don’t set attainable goals. Either is a sign that this candidate may not be a top performer if hired.

Integrity – This is another hard to test for trait, but you can test for whether or not the candidate will stand by their convictions. A lack of integrity is easier to spot then the presence of it. If a candidate seems wishy-washy with their answers or seems to be telling you only what they think “you want to hear”. You may ask them a misleading question like “Don’t you think it’s better if (something counterintuitive that is not really better here)?” and when they agree then you can ask them why. Then you can tell them that you disagree, and see if they change their tune or stick by their conviction. Another question that could help with customer service as well is “Tell me about the last time you broke the rules to serve a customer in need.” This measures their judgment and flexibility.

Customer Focus – In our business as a solutions provider we need to be concerned that all of the people who represent us to our clients have an attitude of good customer service. Does this person naturally make you feel at ease or do you feel uncomfortable talking to them? Is their style of communication open and inviting? Can they see things from different points of view? Can they empathize? All of these traits are necessary when we want to continue our business relationships with our clients.

Passionate – This trait is important for retention purposes. Even if the person you are about hire is great at exactly what you need them to do, if they are not passionate about the industry, the technology, or some aspect of what they are doing they will eventually get bored and start looking for work elsewhere. It is important to ensure that the investment of time we are putting into finding good candidates is not wasted by hiring people who will not remain challenged and interested enough to stay with us.

So how do you test for this trait? I like to ask the candidate “what’s your dream job like?” or “Tell me what makes you get up in the morning and go to work?” you are trying to find something that tells you that the candidate wants to be in the line of work that they are in, something that says they are passionate about it and will remain interested in it.

Fit and Personality – how does this person fit into our company culture? Is there level of professionalism within our expected range? Do they seem like they would get along well with the teams and people with whom they would be interacting most? You can trust your gut a little bit here by asking yourself how comfortable you feel while talking with the candidate, but you can also ask some questions to find out more.

I like to ask a candidate to describe a situation at work where they knew they were right about something but that someone else was sure that they were wrong, then I ask them to tell me what the end result was and how the disagreement ended. I am looking for how reasonable the candidate was in seeking a resolution to the issue. Did they try communicating directly with the opposing party first? Did they explain their position and more importantly did they listen to the other party’s position? If that didn’t result in a resolution, did they escalate it through the proper channels or did they take passive aggressive measures? A good follow up question if you are still unsure about this is to ask the candidate to “Tell me about a time when you thought you were right and then later found out you were wrong.” Same evaluation principles apply.

Communication skills – This is a tough one but can be very important if neglected. You might have the smartest person in the world in front of you but if you can’t effectively communicate the ideas of our business or of a customer’s problem, then the solution they may provide might not really solve it. This is also a very important skill if the candidate will be in a client/customer facing position such as a team lead, PM, BA, or account manager. Here I like to ask the candidate to describe some complex process or system that lies within an area of our mutual expertise (so I will know if they got it right) and I ask them to explain it to me as if I were a 10 year old child with no technical background knowledge.

For testers or network admins I might ask them to explain how the internet works… “How does my computer know to show me the Disney home page when I type www.disney.com in to my browser address bar and hit return? What happens behind the scenes?” If the candidate can explain a complex subject accurately in simple to understand terms then I feel comfortable that they can teach others what they’ve learned, and communicate ideas successfully.

I also look for what I call a high “Get it” factor. If I’m starting to explain something in a question and I can sense that the candidate just “Gets it” and they do this repeatedly throughout the interview on many different subjects then this is another indicator of their communication skills (and smarts) on the intake side. Remember communication goes both ways.

Experience level – This will be different for each position. If we are looking for a DBA then the candidate should be able to write a complex SQL join. If we are looking for a .Net developer then they should be able to write a method or function to solve a problem. I expect each candidate to demonstrate at least one skill that they claim to be “experienced” in where that experience is the reason for me calling them to the interview. Here are some example questions for different disciplines:

1. Tester: I may ask a tester to test a pop can. If I did, I would be looking for them to come up with an exhaustive list of tests and to start grouping them in to categories such as: Functional testing, Performance and Load testing, Security testing, UI and Marketing, Limits testing, ad-hoc break-it cases, etc. I would expect a tester to keep coming up with more tests until I told them to stop as there are limitless things that could be done to a pop can if one had the time.
2. Developer: Write me a function that takes in an array of numbers and returns out the two numbers with the highest and second highest values of all the numbers in the array. Please don’t use any predefined sorting methods that may already exist, I want to see how you would solve the problem without those methods.
3. SDET: I would ask them the developer question above, and then ask them to test their own function and show me the actual array data sets that they would use and tell me what kind of test each was intended to accomplish.

Can we afford this candidate?
Obviously if the interview isn’t going well then you don’t need to ask this. But if it is, then we need to find out if the candidate is affordable. Make sure that someone in the loop (and only one person needs to ask this) asks the candidate, “What would you need to make in order to take this position”?
Legal Ramifications:
So what should you never ask in an interview? There are certain types of questions that you should never ask in an interview that may seem like perfectly normal questions that you might ask a co-worker or friend. Legally we should avoid any question that would identify the candidate as being part of a protected class. Here is a list of protected classes as they pertain to employment law (according to the state of Washington http://www.hum.wa.gov/documents/empflier.pdf).
• Race
• Creed
• Color
• National origin
• Sex
• Sexual orientation, including gender identity
• Age (40 and over)
• HIV/AIDS or Hepatitis C status
• The presence of any sensory or physical disability
• The use of a service animal for a disability (like a seeing eye dog)
• Pregnancy or maternity
• Retaliation for opposing an unfair practice
• Retaliation for filing a whistleblower complaint with the state auditor
• Retaliation for filing a nursing home abuse complaint

EMPLOYMENT AGENCIES MAY NOT DISCRIMINATE SOLELY ON THE BASIS OF A PROTECTED CLASS.
FOR EXAMPLE, AN EMPLOYMENT AGENCY MAY NOT:
• Discriminate in classification or referrals for employment;
• Print or circulate any discriminatory statement, advertisement, or publication; or
• Use discriminatory employment application forms, or inquiries made in connection with prospective
employment.


There are several types of questions that an employer is legally prohibited from asking in a job interview. For example, an employer may not seek medical information regarding an applicant, at least not before the applicant has received a conditional job offer. Questions that seek inappropriate medical information include: Are you disabled? How many sick days did you take last year? Have you ever made a workers' compensation claim? and Will you require any form of physical accommodation for this job? An employer may, however, describe the duties of a job to an applicant and ask if the applicant can perform those duties, either with or without reasonable accommodation. In addition, if the applicant clearly has a physical disability that would seem to prevent the applicant from performing the relevant job duties, the employer may ask how the employee proposes to perform them.
In addition to medical inquiries, an employer may not ask an applicant about his or her race, national origin, or religion, or about his or her family status or plans, such as whether a female applicant has or plans to have children.
Often, state anti-discrimination laws also prohibit an employer from inquiring about whether an applicant is in a protected class, such as whether he or she is over age forty or a minority group member.
An employer typically may ask an applicant if he or she has ever been convicted of a crime. Asking whether an applicant has been arrested, however, may violate anti-discrimination laws, because the Equal Employment Opportunity Commission has stated that minority group members tend to be disproportionately targeted for arrest, and whether someone has been arrested is not an indication that he or she has actually committed a crime. As a result, an employer who asks applicants whether they have been arrested, and then excludes those who have, may be engaged in discriminatory hiring practices against minority applicants.
Finally, an employer is also prohibited from asking an applicant whether he or she has participated in a strike in the past or performed union organization activities.
“ taken from: http://www.kempnerlaw.com/FAQ.shtml?ss=fln-faq-question.xsl



The Process of conducting an interview loop

Who should be involved?
Make sure that the hiring manager or lead who has the position to fill is on the loop. They know better than anyone else what they need this person to potentially do. They should also be the one scheduling the interview. Aside from them you should have at between 1 and 3 additional interviewers whose disciplines are inline with the position or who have tangential disciplines (people with whom the candidate may end up working closely with as a customer or a provider of information). If interviewing a Tester then perhaps you should have the test manager or lead and another highly technical tester as well as potentially a developer, PM, or BA.

How do you schedule an interview?
First have in mind a group of potential interviewers that is larger than you need because some of them may be busy. Find a few different times during the week when some of those people can be available. When calling the candidate be professional and make sure they have time to talk before going farther.
“Hi, this is calling from about a position, is now a good time to talk?” If not ask them when you should call back. If they say yes, let the candidate know how you heard of them and ask if they would be interested in interviewing. If they say yes, offer them a choice of 2 or 3 possible interview times based on the times when your group of interviewers is most likely to be available. Make sure to let the candidate know how long they can expect the interviews to take.

Once you have an agreed upon time, use Outlook to schedule the interview and make sure to invite the conference room you need, as well as the other interviewers. In your invite lay out the schedule for the interviewers so that they know who goes first and who follows who. It looks unprofessional to the candidate if you have to chase people around wondering if there are additional interviewers or not.

The morning of the interview day:
Send an email to everyone on the loop reminding them of the schedule and include the interview feedback template.
“Today we are interviewing , for a position in the conference room.
2:00 – Ken
2:30 – Joe
3:00 – Paul
3:30 – Debra
Please use the following feedback template and let the other interviewers know how the candidate did.

The Hand off and interview feedback:
After you are done interviewing the candidate and if there are additional interviewers, ask the candidate if they would like something to drink or if they need to use the restroom. If so show them and let them know that you will meet them back in the conference room in a few minutes. If not then you can let them wait in the conference room.

Make sure that you cannot be heard by the candidate when handing off to the next interviewer. Let them know what areas you covered and what areas you didn’t cover enough. Let the next interviewer know if there are areas you would like them to focus on. Make sure to comment about the candidates observed strengths and weaknesses. After updating the next interviewer walk them back to the conference room and introduce them to the candidate. (Ask the next interviewer ahead of time if they want their title known by the candidate).

When you head back to your desk make sure to send out an email to everyone who is on the interview loop with your feedback about the candidate so that everyone knows what the next interviewer now knows.

Interview feedback template:
Here is an email template that I like to use.

Interview Feedback for:
Position:
Recommendation:

Strengths:

Weaknesses:

Smarts: How smart was the candidate? When you hinted at things in your questions did they pick up on them? Did they ask you the right questions when there was missing information in your question? When you explain a technical problem do they “get it”?

Fit: How were the candidate’s interpersonal skills? How well did they communicate their ideas? How do they handle conflict? Do they appear to have integrity? Do they have a high level of professionalism? How well could they handle multiple concurrent projects or irregular hours? Will they do “what it takes” to get the job done?

Customer focus: Can they empathize, can they see things from different points of view? Does this person naturally make you feel at ease or do you feel uncomfortable talking to them? Is their style of communication open and inviting? Could you see this person representing us to our customers?

Drive: Is the candidate goal oriented? Are their accomplishments noteworthy? Are they passionate about technology or business? Will they do what it takes to get the job done? How do they measure their professional success?

Technical: - (this should vary based on the position): example SDET question:
Can they write a function to solve a problem in pseudo code? When asked to test their own function, are they able to find flaws in their design? Are their tests exhaustive?

Overall: (Use only one of the following questions and delete the rest.)
Test specific: How well can the candidate test? Do they have a “break-it” mentality? Could they come up with an exhaustive list of test cases given only a function header and a comment about what the function is supposed to do? Would you feel comfortable handing them your project and asking them to test it?
OR
Dev specific: How well can the candidate code? Do they plan ahead for scalability and performance? How well do they understand the principles of object oriented design? Do they prefer to sit down and start coding or do more upfront analysis? How do they approach refactoring code? What is their experience with test-driven development? Do they naturally comment their code so that future enhancements are easier for another party? Would you let this person code a feature of your project with little guidance?
OR
PM specific: How well can the candidate manage a schedule? How well can they handle a project that is already in jeopardy (issues, risks, roadblocks)? What do they do to mitigate risk? Can they clearly define the critera by which a projects success is measured? Could they explain something complex and technical in simple and understandable terms? Would you let this person run one of your projects?
OR
BA specific: Did the candidate ask the right qualifying questions? Were they analytical? Could they find the root problem when given a vague or misleading problem statement? Would you let this person gather requirements for one of your projects?
OR
BI Reporting specific: Do they have experience doing enterprise scale reporting or just smaller companies? What scope are they comfortable with? Do they test their own SQL, how good is their SQL? Can they communicate in the user’s language instead of in tables and joins? Do they understand their audience? Are their reports clean, and pretty do they have a good feel for aesthetics? Are they tied to a particular tool set or are they tool agnostic? Would you feel comfortable letting this person design a BO Universe that you were going to use for reporting? Would you let this person write a report for the CEO of one of our customers as well as a low level manager?
OR
DBA specific: Could the candidate write a SPROC or a Trigger? Can they design a normalized data structure from an unorganized set of parameters and descriptions about the problem statement? Would you feel comfortable handing them one of your products and letting them manage schema changes and feature requests?

Concluding the interview:
If you are the last person on the interview loop, make sure you leave some time after your questions, and ask the candidate if they have any questions for you. This is the time when you can sell the benefits of working for your company to the candidate. If you feel that this candidate has a shot at being hired then make sure you leave them with a good impression about the company. In order for us to hire great talent, we have to like them, and they have to like us, and their compensation requirements have to be in line with our budget.

Finally:
Thank the candidate for their time and let them know that we will review the information we’ve gathered today and we will call them when we’ve made our decision. Make sure not to promise the position to the candidate at this time.

Pearls of wisdom:
Over the years I’ve heard various pearls of wisdom that I have now adopted (as I’ve either proved them to be true or at lease dis-proved their converse).
1. If you’re on the fence, it’s a “no”. If the candidate is a yes you should leave the interview thinking “we’ve gotta hire this person.”
2. Don’t hire just to fill a gap, hire for the long term benefit to the company. Once the current crisis is surmounted, a good hire will still have value to add.

No comments: