So you've been in the job hunt for weeks, maybe the market's in a downswing or you're ready to leave your current job. You finally get a callback… a prestigious company wants to interview you for a highly coveted IT position! Are you ready for that interview? I remember being in that exact same situation, and doing a web search for some tips. I typed in a few variations of the name of this article and found a couple of hits that didn't tell me much. Fast-forward - I ended up getting the job and now I sit in on interview panels for new candidates. Having done this for over a year, and having interviewed many times, I figured I'd write up my musings on the topic. If you're job-switching, this will be even more helpful, as a technical job interview is different from a non-technical one. Even if it's just been a while, here are some tips that can help you better prepare for the interview, and hopefully, land the job!
Interviews are a complicated process; it's kinda like a cross between a psychiatric session and a first date. On one hand, interviewers ask pointed questions that seem simple, but in reality they're gathering a wealth of information about you and building a profile of your technical skills, personality, drive and overall demeanor to determine whether or not you're a good fit for the company. On the other hand, you're nervous as hell, trying desperately to convince this person to take a chance on you because you're wonderful in every way imaginable. Describing an interview as "stressful" is an understatement at best, but if you take a little time beforehand to ready yourself and your responses, it will make the whole experience go much smoother. In fact, preliminary preparation, knowing how to behave and answer questions during the interview, and following up appropriately afterwards can mean the difference of whether or not you get the job.
Research the company
It’s important to know at least the basics on the company – when they were founded, the industry, what their focus is, and the different products/services they offer. The best way to obtain this information is the Internet. First, explore their website, paying close attention to the About Us link and the Historical Articles section, if they have one. Next do a general web search, and check out a website that specializes in providing feedback on companies. While this shouldn’t form the basis of your opinion of the company, it’s always a good idea to see what other people’s experiences were.
Print out a few extra copies of your resume, and bring a notepad and pen
I know this seems basic, but forgetting these makes it seem as if you don’t really care.
Know the answer to the most common interview questions:
What are your strengths? Weaknesses?
Yes, these are pretty straightforward, but if you don't have a rough idea of what to say, you'll inevitably fumble through it in the interview. Focus more on your strengths and what you're really good at, like responding under pressure or paying attention to detail. Weaknesses should be carefully chosen and worded; if you're horrible about documenting your code, don't say that outright. Something like "In the past, I've gotten so wrapped up in writing a stored procedure that I've lost track of time" is technically a weakness, but it shows your unwavering dedication to development. The variation of this question is what would a coworker say about you - don't get tripped up, it's essentially the same question. Don't try to figure out what people actually think of you (sometimes it's different than how you view yourself!) but answer it in much the same way, adding in some character attributes like reliable and trustworthy, which you may not have mentioned already.
Tell me about your current job.
What they're looking for here is a basic run-down of all of your job responsibilities, as well as what you do specifically. For example, "I'm the sole DBA and developer in a production environment, working with multiple terabyte databases. I've migrated production databases from SQL Server 2005 and 2008, provided custom reports with Report Server, created custom data extractions with SSIS, and did performance tuning and maintenance on over 100 databases." Be specific but honest - they're trying to learn what you've actually been working with, as the IT world is quite vast and no one does everything. You can mention specific third party products here too - it may be a product they use and could be beneficial.
Tell me about a difficult problem you had to solve successfully.
I love this one - It's your time to shine. Come up with a really good one, like the time you set up a complicated cluster or that amazing extraction you designed with ActiveX controls under the hood. Again, having talked through it beforehand will make answering it in the interview easy.
Tell me about a recent failure or difficulty working with another person
This one is more tricky; what they're trying to discern is how you handled it (problem-solving skills), and what you learned from it. So you must effectively present a turd and transform it into a bouquet of flowers. How? Well, start with the issue, explain how you handled it, what went wrong, and finish on a positive note. For example, "I was in charge of deploying a service pack into our production environment. I tested it successfully in our older development environment with no problems, however, in production, it caused a particular piece of code to take twice as long to execute. We optimized the code to fix it, but I learned the importance of ensuring that the development environment is closely up-to-date with production before I test new functionality. I now have a detailed checklist that I follow and have never had a problem since." So this illustrates that you're a better person for it. When other people are involved, be sure not to point fingers. Again, explain the situation and what you learned from it. For example: "Though I had some difficulties in communicating with a project manager, I learned it's best to write out expectations and review to ensure we're on the same page. Once I developed that system of written confirmation, the rest of the project went smoothly."
Where do you see yourself in five years?
This one is also tricky, at least for technical jobs. Sometimes in the tech world, there's not much room for advancement within a company, especially if the IT department is smaller. If there's a lead position, you can answer it with that. The key is to not sound too overzealous or flighty. What smaller companies are looking for is that you'll stick around. It takes at least a good six months to get comfortable with the environment, if not a year with larger implementations. The company wants to know you're not going to get bored and job-hop, particularly if your resume has a lot of one- to two-year job history entries. I was in that category at the beginning of my career - truly it's sometimes the only way to get a pay raise when you're first starting out. A good answer to this question, then, will assure them that you want to stay with the company and continue to be the fine, upstanding IT professional you are.
Why do you want to leave your current position?
The best, safest answer to this question is something like, "To pursue other opportunities." Of course you should elaborate - you don't want to seem mysterious because then they'll think you're hiding something. No matter the size of the company, often you can end up doing the same thing over and over, so this answer is perfectly acceptable. Don't talk down your current company or any of the people there, even if that's really the reason you're leaving. Also you'll want to leave out lack of pay or poor raises. I know that seems common-sense, but if you're an honest person, it can be difficult. Talk about some of the new opportunities this job has to offer - for example, if it's a larger company, setting up and maintaining HA/DR solutions.
Expect the unexpected
When I interview, I always throw in some off-the-wall questions, mostly to gauge personality, like what is your favorite book or movie. One of my favorite questions to ask is what makes you great at your job. It really is a variation of the strengths question, but specific to the position. My answer is being careful, which I think is really important to being a successful DBA (what I do), but other answers I've heard include: researching problems effectively, providing great customer service, and paying attention to detail - all great qualities no matter what position you're going for.
Be sure to get a good night’s sleep before the interview
It’s hard to take a candidate seriously if he or she is nodding off while you’re describing the job.
Bring water, or ask for water when you’re there.
You’ll be talking a lot during the interview and you will need it.
There you have it, everything you should do to prepare for that very important interview! Check back next week for the next installment, Interviewing for a Technical Position Part II, where I cover the actual interview process and post-interview best practices.
Think you’re ready to interview for a technical position? We’re hiring.