Here are some tips for both the interviewee and the interviewer to conduct successful tech interviews.
For the Interviewee
- Be On Time – This really means be early, but sit in your car or drive to a nearby coffee-shop after you find the location of your interview. Then walk into the office exactly 5 minutes prior to your interview time. If you make it to the interview 30 minutes early, suppress the urge to go in. Wait until 5 minutes prior to the start of your interview. So how early should you be? Leave your house at least two times your estimated drive time. If you have a 30 min drive, leave your house 1 hour prior to the interview time. At Axosoft, where our flagship product is named “OnTime”, being late to the interview really puts you at a major disadvantage.
- Expect the Unexpected – Every interviewer likes to do something to surprise a candidate or to get them out of their comfort zone. How a candidate deals with this situation is extremely important because it tells the interviewer whether or not the candidate will react well in new situations or when presented with new challenges. Take deep breaths, if necessary, to relax yourself and deal with any situation presented to you in a calm, calculated manner. Ask questions if you don’t fully understand. Don’t be afraid to have a conversation with the interviewer. Some interviewers will purposely suppress data from you to see if you ask the right questions in order to obtain the data you need to solve a problem.
- It’s OK to be Nervous – Every interviewer knows that it’s nerve racking to be sitting on the other side. They are already sympathetic to your position of being on the other side of the table. So it’s OK to be nervous, but don’t let your nervousness bother you by thinking that your nervousness is killing your chances of success, because it’s not. Nobody cares if your hands are shaking when your write or if your voice cracks. It’s OK. I’ve seen a number of candidates get nervous about being nervous, which makes them even more nervous and it goes in a vicious circle. The end result of letting nervousness take over is that you will completely freeze up, but knowing that the interviewer expects you to be somewhat nervous can help you remain calm (or calmly nervous).
- Learn about the Company – Take some time prior to the interview to learn about the company you are interviewing with. I’m always surprised at how often people skip this very simple step. Knowing something about the company shows that you would be enthusiastic to work with this company, while a lack of knowledge shows that all you care about is getting a job. All else equal, no interviewer would pick a candidate who is simply looking for a job vs. a candidate who came into the interview with knowledge about the company.
- Look Sharp – This doesn’t necessarily mean wear a suit and tie. It simply means you should be dressed at least 1 dress level above the way the employees at that company dress. At Axosoft, you’d be dressed 1 level above if you wear a collared shirt and jeans. Here’s the key: nobody gets eliminated as a result of being over-dressed. Using that rule, make sure if you’re going to error, it’s on the side of being over dressed and not under dressed.
- Don’t Burn Bridges – One would think this is blatantly obvious, but sometimes, interviews go so bad, that the interviewee feels the urge to give the interviewer a piece of their mind. Suppress the urge! It can do you absolutely no good and the tech community is small. Making a negative memorable impression with an interviewer could kill your chances of a job with other companies! If the interview goes bad, remain professional and conclude the interview as you would normally. It doesn’t cost you a penny and not doing so could cost you a future job.
For the Interviewer
- Give Technical Questions – Don’t forget, you’re hiring for a technical position, simply asking about past experience or what a candidate did on a previous project does not show you whether or not they are a superstar. You are looking for superstars. The only way to find them is to give a highly technical interview.
- Ask Them to Write Code – Ask them to write code. Simple stuff, nothing big. Pay special attention to the speed at which they write the code. Variable names, efficiency of the code or algorithm, do they self-check the code by going over it in a similar manner to how the computer would execute the code? Don’t get surprised at how long it takes even good interview candidates to get started writing simple code. It’s tough to write code on the spot and many candidates have never done it in an interview before. Some might refuse. If they refuse, say goodbye to them. You’re hiring them to write code. It only makes sense to ask them to write code in the interview.
- Test Problem Solving Skills – Past experience is only an indication of what the person already knows. So they know C# or Java or SQL. What happens when you need them to learn a new technology or when they encounter a new problem? Problem-solving skills is how you can determine a candidates ability and willingness to learn. So you give them problem solving questions and pay special attention to the way in which they go about solving it. Do they guess at the answer? Do they try to break down the problem and look at it from different angles? Do they tend to give up way too soon? There are tons of potential “interview questions” that can be given…pick a few easy and a few hard ones to give to every candidate and look for the way they solve it. Getting the exact correct answer is not nearly as important as how they solve it.
- Use 2 or More People to Interview – To make sure you’re going to make the right call on the candidate, use at least 2 or more people to conduct the interview. Everybody should be sold on the candidate. If you have a “No-Hire” decision from any of the interviewers, pass on the candidate. They are not a superstar candidate and they don’t belong in your world-class team.
- Don’t Leave Them Hanging– I could never understand the standard “we’ll get back with you” response that interviewers give to candidates. You should follow some basic guidelines to make sure you don’t waste the candidates time nor your own:
- End an Interview as soon as you know for sure the candidate won’t work for your team. Sometimes, that means ending an interview only 2 minutes into it. There’s an urge to keep the interview going for the “right amount of time” before letting somebody go. Don’t do it. What’s the point? If the candidate gets upset at you for telling them it’s not going to work after 2 minutes, that’s their problem. You just did them a favor by saving them another hour or more of time. They should thank you!
- Do immediate assessments of the candidate. That means ask the candidate to wait 5 or 10 minutes while you and your other interviewers discuss the candidates prospects. Let them know you’ll come back to them and give them the results so they won’t have to wait for days. They’ll really appreciate it! You’ll want each of your interviewers to give a “Hire” or “No-Hire” decision. The outcome of your discussions should be 1 of 3 choices:
- Hire – Which means you’ll make an offer of employment to the candidate
- No Hire – Which means that candidate will not get an offer of employment for whatever reason.
- Follow-up Interview – You needed more information or perhaps you didn’t schedule enough time for the interview and you need to do a 2nd interview.
- Tell the Candidate the Results – There’s simply no good reason to wait. Let the candidate know if they will hear back from you with an offer or if it was a no-hire decision. I often tell no-hire candidates why we decided against an offer, which they appreciate immensely as it helps them improve their future prospects.
Stay on the cutting edge of software development by getting innovative tips, trends and stories delivered to your inbox every month!