Surviving the technical interview
As a programmer at a fast growing start-up, I’ve been able to gain a bit of experience on the other side of the table. I’m not a hiring manager or a recruiter, I don’t choose which resumes to call or negotiate salary and benefits. My part is the technical screening.
Some technical interviews obvious successes, and many others are obvious failures. But there are many that are muddled and hard to interpret, often in ways that were preventable. Read on for my thoughts on how you can make the best of the technical interview.
Know what is on your resume
As you prepare for the interview, look at the most prominent items on your resume, and brush up on the details. You can’t be prepared for every question, but you can study like you would for a test. Not sure what to study? Start by pretending you are an interviewer, and coming up with a list of questions that would fit with your resume. Search for interview questions, and make sure you understand the answers. Ask your professional contacts and colleagues to interview you and to give an honest evaluation of your answers.
Be prepared to code
There is no shortage of programming problems on the internet. Start practicing. Can you implement merge-sort in every language on your resume? Why not? We will want to see that solving problems with code is something that is natural for you. Looking up a few things is okay, but I should be convinced that you work in this language, and are comfortable with it.
Do you like to code in Eclipse or Visual Studio? Maybe you should practice coding in more primitive environments. Write Java in Notepad++. Or on paper. When it comes time for a coding exercise in the interview, you should be eager to show that you can code, and that you don’t care whether it is on the whiteboard, or in nano, or with a magnetized needle.
Expect far less than perfection
If you draw a blank on the first three questions on your math final, things are very unlikely to end well. Interviews are very different. Sometimes the first five questions accomplish nothing more than establishing what types of questions I should be asking you. Similarly, while I have had students get perfect scores on exams that I have given, I hope to never finish a technical interview without asking a decent number of questions that the candidate cannot answer. I won’t understand the limits of your knowledge otherwise.
So don’t get rattled when you miss a question. Don’t be offended if you feel the question was unreasonable, and you don’t really need to remind me that you know how to use Google. A simple “I don’t know” is often the least painful way to move on to the next question.
One of the worst interview strategies is guessing. I don’t expect you to know everything, but I expect you to know what you know. I can’t expect you to solve problems effectively if you aren’t sure what you actually know, and what you only suspect. So answer confidently when you know. If you don’t know, it can be helpful to talk out what you suspect and to give a reason. But don’t bluff. It will make you appear both incompetent and dishonest.
Make the most of what you know
When I ask about something you know well, show me. Answer the question confidently and completely, and volunteer important related information. Tell me about what can go wrong with a lack of understanding of this issue. Show me the enthusiasm that I expect when I ask a colleague for help in his area of expertise … and the discernment that knows when you’ve said enough.
You will be most remembered for your best moments and your worst moments of the interview. A really good answer to one question can make up for quite a few blank spots. Did we fail to ask about your specialty? Feel free to volunteer information.
Interviewing tips are just the finishing touches. Your career will depend on how consistently you are able to do useful work. So focus on improving your skills and understanding how your skills bring value to your business. If you do this, then it will be easy and enjoyable to show what you have to offer in an interview.