For those unaware of such trivialities, I recently found myself needing to find a new employer. This weekend caps my first week with my new employer, Resource Data, Inc. As was recently (minutes ago!) pointed out to me, "You never quite know if you've made the right decision until the first few days have passed." I am happy to report that after my first few days, I'm content in the choice I've made. Everyone has been very welcoming and I'm looking forward to becoming a productive member of a good group of people doing quality work. That said, as I've discussed the process of bringing me aboard with my project manager, it was stressed to me how important interviewing is and how frequently it seems that tech candidates have problems with the interview step. I want to share my approach to interviewing for anyone who may find it helpful.
How to Interview
The typical hiring process involves a screening process up front where candidates are weeded out based primarily on what they submit on their resume. This is the most optimistic portion of the process in that the resume is what you are saying about yourself. It is presumably your professional life presented in the best possible light. If what you say about yourself is at least as good as what the next person says about themselves, you have a shot at moving on to the interview stage. If the resume stage is where you are discriminated on by what you think of yourself, then think of the interview stage as being discriminated on by what your potential employer thinks of you. Which brings us to the first rule:
Give them more information, not less.
Not every question you will be given will target something where you shine. It doesn't matter whether it is a soft skills interview, measuring your social fit within the company and the team or if it is a technical skills interview, measuring the breadth and depth of your technical ability. Take every question as an opportunity to branch the conversation in a tactful and meaningful way into something you want the interviewer to know about you. As an example, if in a skills interview you are asked about something which you aren't 100% sure of, admit as much but then offer your best guess and let them know the reasoning you use to reach that guess. It gives the interviewer a deeper glimpse into how you think and what you bring to the table in terms of analysis. Just be clear that that is what you are doing, attempting to deduce the answer. Don't just guess to get it right. That would break the next rule:
Don't try to fool your interviewer.
Really. Don't. Just don't do it. While in some cases your interviewer might be someone with less experience than you that you will be able to fool, in many cases interviewers are selected because they have the expertise and experience to properly judge not only the response given but also the nature of that response, whether it is true or just BS. If you don't know an answer, say so and do it honestly. But if you recognize the general area of concern about the question (database synchronization, team leadership techniques, etc.), then point out any relevant knowledge you have that you feel may pertain to the question. Asked about something that you suspect is related to database synchronization but aren't sure, tell your interviewer that you aren't familiar with that and then say that you suspect it is related to database synchronization. If you are given the opportunity to continue, perhaps you tell them that based on the name of the technology involved, you suspect it involves the XYZ database and seems like it involves offline databases. Then, if possible, mention your experience with the Humbug database which you performed synchronization activities with. Then extend that to how you feel the offline aspects might differ and what you might have to take into account. At each step of the way, let the interviewer know not just what you are thinking but why you are thinking.
The next rule is for my project manager and I have to admit, I agree. If you are participating in a technical interview:
Come prepared to participate within the expected interview format.
What does that mean? If you are in a technical interview, you should expect at least three things: 1) you will be asked about specific technical items or concepts (OOP, framework usage, etc.); 2) you will be asked about your previous projects; and 3) you will be asked to stand up and provide actual samples of work. Do not act as if you have been ambushed when one of these scenarios arises. While it may be unlikely that CakePHP will be discussed during your interview for a .NET development position, you should not be surprised when you are asked to discuss the .NET collections classes or generics and how they are used. Come prepared to discuss your previous projects and not just surface discussion but details like design decisions, implementation difficulties, support issues. And probably the most important point, be prepared to actually do something technical. Be prepared to provide a data model or write a method or sketch out a class hierarchy. When called upon to write code during an interview, don't be afraid to point out that you know a class exists to do X, you don't know the specifics, but you would use it just so.
One last tip:
Look and act like you want to be there.
When I was still an IT larva, I interviewed with several companies for a paid internship during my final year of college. At one interview I was greeted by a guy in sweats and sandals. In the end I was chosen along with 7 others for the positions. Months later when we had all moved out to California we had a chance to talk to the interviewer in a more casual setting and the question of his apparel during the interview was brought up. He mentioned that if any one of us had shown up dressed as he had been for any of the followup interviews, he would have dropped us from consideration. A test? Whimsy? I can't say. What I do know is that each of us wanted the position and each of us presented ourselves as qualified to present the company. Even if you are guaranteed that you will never speak to another human being during business hours so long as you continue working there, do not assume you can dress however you like. Be the professional your potential employer expects you to be. This extends to everything from dress to speech, from verbal to written communication. Exhibit self control even if your interviewer has just asked your 30+ years experienced professional self something taught to first year students in your chosen field. Do this not because you want to suck up to them but because in the course of everyday life we meet people who sometimes fail to meet our personal expectations for membership in humanity and yet we must still interact with these people. You must show that you are capable of not blowing up at slights, real or perceived. And unless your last name is Warbucks, show your interest in being there. You don't have to gild the cage but letting your interviewers know that you appreciate their time and consideration, that you look forward to working for XYZ Widgets in the future and that you are sure you can provide a positive impact... all of that speaks toward your desire to continue working there. If you appear bored or put out in going through the process of letting the company vet you, all things being equal you will be passed up for the person who actually seems like they want to be there.
Interviews are a Courtship Dance
Okay, given the stereotypical view of the usual techie's social skills, perhaps equating interviewing with a courtship process is a flawed beginning. But realistically it fits. An employment relationship is certainly not as trivial as the interaction at the local Burger King drive through even if it doesn't meet the level of marriage. Regardless it is a major step for both sides. Sure, you are tying yourself to a new position, new people, new responsibilities and you don't know until you start just how well things are going to work out. But injecting a new employee into the mix is never a cost-free option for the company either. Aside from the costs incurred to advertise the position in the first place, there are also the costs in time to interview candidates, usually multiple times. Once you are hired on, there's the overhead of setting you up to begin with (i.e. HR setting up direct deposit, retirement accounts, insurance paperwork as well as IT setting up accounts, access, new equipment purchases and setup) but also ongoing costs (i.e. employment taxes). Then there's the disruption to the normal work flow while you are brought up to speed. I ran across several companies during this most recent job search who made a point of saying they look for good people not just skill sets. The point being, they don't want someone who is specialized now but who may not be able to change to fit future requirements. Good companies look for good people who might take a little extra work in the short run but in the long run will bring more value to the company.
Keeping these long term interests in mind during the entire interview process will help you make the right decisions at each step and help you to prepare appropriately for your next job hunt.