I think Microsoft has one of the best interview processes of any major corporation around. There are other companies that use a similar approach; others, I know, use a very different approach. Despite the fact that I like our interview process, a colleague asked me a few days ago, what I’d change in our interview process. I think it’d be interesting to blog my answer, so, let me share my thoughts.
I’d like to see a few changes that may make a positive difference, and I think there are companies out there doing that. I’m not pretending to be like the great Mini-Microsoft blog; it’s just food for thought.
Gretchen Ledgard and Zoe Goldring here know everything about the interview process; they are from HR. In my case, my suggestions below are based on my personal experience and reflect just *my* perceptions.
A few facts before starting:
- Last year I badly wanted a position in another team. I was so nervous during the interview that I ended up having my worst interview ever. I couldn’t answer things that I’m used to blogging about, and I lost my concentration from the very beginning. I didn’t get the position that I really wanted.
- A quick calculation shows me my “approval rate” during my career before joining Microsoft was much better, actually, very high. In other words, it was easier for me to change companies in the past than changing teams at Microsoft nowadays.
- At the same time, my internal “approval rate” when trying to change teams is something close to 50%. Therefore, I may end up getting the position I was approved for but not the position I really wanted in the first place. Bottom line is: even if there were better candidates for the positions I applied for in the past, it may explain part of my failures to get approved. Another part, I believe, is the interview process itself, since you tend to be better in interviews for positions that you consider to be not ideal positions for you and, of course, you tend to be nervous and make mistakes when you really want a specific position. It’s psychological. Just out of curiosity, my friends have about the same “approval rate.” Since I’m already a full time employee and have gone through the interview process before, it should be easier for me to change positions and avoid losing the position I want, based on how well I was prepared for the interview. There’s a strong psychological factor affecting the performance during the interview, mainly when you’re being interviewed for THE position you want.
- It’s very easy to reject someone during the interview process even if the candidate rocks. However, it’s very difficult to select the right candidate. Even worse, the right candidate may not be approved based on the traditional interview process.
That said, what I’d like to see as part of the interview process is:
- Software matters! If the candidate has a cool utility (tool) or any other kind of software he created (maybe as a hobby), it should be considered more important than the ability to answer technical questions. For me it shows passion, and it’s the real proof the candidate created something. Questions about the software (tool, demo, utility…) should be part of the interview process. If the candidate really created the software, he/she will be able to talk about it.
- Have the candidate do your work for a few hours or something close to your daily work and monitor how he or she performs. Of course, don’t be at his/her side all the time; otherwise, it’ll affect the candidate’s performance. Give him/her a break and from time to time talk with him/her to see how things are going. Easy! The candidate should feel comfortable and have space for creativity here. This is what I’d really love seeing! Supposing the candidate has a good performance, isn’t it enough to have a good idea about his/her potential?
- Use technical questions during the first part of the interview, just to make sure you’re not going to interview the wrong candidate, but don’t use them to judge the candidate’s potential. Also, the questions shouldn’t be difficult. It’s easy to memorize things and be prepared for the interview and look good when answering questions. However, the real goal here is not to hire someone technically able to explain all C++ language constructs or all .NET Framework classes or yet someone that spent weeks studying for the interview process. We want someone who thinks outside of the box and has the ability to create and innovate. In my opinion, creativity is way more powerful than knowledge. I guess it’s difficult to accurately measure creativity, but it’s easy to recognize the lack of creativity. J
- Be flexible, your interviewee may be under stress and afraid of losing his/her dream job opportunity (I’ve been through it two or three times before): A nervous candidate may not be able to solve a logic problem or to create an algorithm under pressure during the interview. It doesn’t mean the person doesn’t have potential.
- I like puzzles. But I’ve learned they might not be an effective tool to hire people, so it’s better not to judge someone based on his ability to solve one specific puzzle.
Considering the time pressure and psychological factors, it’s better to analyze the approach the candidate takes to solve the problem, to look at the way the candidate thinks, not the solution. Besides, there’s the possibility the candidate has been studying puzzles to be able to solve them during the interview process.
- Blogs and utilities. There’re tons of blogs scattered in the internet. Some of them are pretty cool (I’m talking about content)! Again, it should be something to be considered during the interview process and not ignored. Last year I contacted two blog authors to see if they were interested to try an interview in my previous team. Needless to say, I was impressed by the content of their blogs. I’m also impressed when I see some cool free tools in the internet. In my opinion one cool tool is worth a thousand of words.
- I also think that internal candidates moving to other internal positions should have a conversation with the new manager and the team. I see no reason to go through the entire interview process over and over again. One more thing: no more permission to interview.
I believe this approach is more efficient for identifying talent, since it’s less “binary,” gives more space for creativity, and should help reduce the stress level during the interview process.
For internal candidates moving to other teams, the process should be easy and direct. It’d increase the probability of choosing the right person for a specific position at the right time, boosting the employee morale and productivity. It’s a win-win situation for the employee and for the company.