Prepare, Prepare and Prepare Some More for Your Next Technical Interview!
During my career, I have interviewed many software engineers and managers. At my very first job, the company’s owners had me interview candidates. I was told I have a unique ability to pick out the best people. More recently at a company here in San Diego, California, all the interviews went through me first. I had the final say in who goes on to the next steps of the interview process. If they don’t get past me, the process is over.
Here are some experiences that lead to a candidate being rejected. One of the main reasons engineers do not get past the technical interview is that they do not prepare. They just walk in and think they can wing it. This rarely works out and just wastes everyone’s time. In this article, I will discuss studying for technical questions and questions that you should ask of the interviewers. The information for this article comes from my book titled “Rock Your Career: Surviving the Technical Interview” available on Amazon.com.
Study for Technical Questions
Studying for technical questions is vitally important for the technical interview! This preparation is mandatory if you want to go on to the next steps of the process. I will give tips for getting prepared since you only get one shot at the technical interview!
Go Over Common Questions
We might ask you simple questions, even for senior engineers. Always be over-prepared. For example, I always ask .NET developers about the Garbage Collector. I ask database developers what the wildcard character is in T-SQL or what does the “?” mean? At one company I worked at, 50% of candidates struggled to answer these simple questions! We are trying to get to know your technical expertise and where your knowledge level is compared to your resume and bounce it against the requirements in the job description.
I have a large list of questions that I have compiled over the years that I ask engineers. I use this same list when I prepare for an interview. There are also many websites out there, such as LeetCode.com, that will list questions you might be asked depending on your area of expertise. You should consider looking at several of these sites because you’ll never know if the person conducting the interview looked up the same list.
One not-so-obvious site to use to help learn questions you might be asked is Glassdoor.com. Glassdoor has personal reviews of the company culture, management style, and sometimes a list of questions from recent interviews. I have recently used this to prepare for an interview.
Rehearse Difficult Questions
While studying technical questions make sure to rehearse the difficult ones. There are many techniques to do this. For example, if you are not very good at writing and drawing on the whiteboard, then practice writing on a whiteboard if you can. Much of our time is spent typing on a computer, so force yourself to get out of this comfort zone. This is one that I must practice since my handwriting has not changed since grade school and looks like a 5th grader scribbling. If you do not have a whiteboard, practice on a piece of paper.
IntelliSense in Microsoft Visual Studio has made it harder for me to remember commands. I do not expect anyone to remember exact syntax when they answer a question, but they should be close. It’s okay to say, “I don’t remember the exact syntax”.
After the interview, as soon as you get in your car, write down the questions that you did not answer correctly. Then research the answers for the next interview because it is likely you will be asked those questions again. Interviewers like myself use the same questions over and over.
Prepare Questions for the Interviewers
Preparing questions for the interviewers will pay off in the interview process. Having a planned set of questions to ask the interviewers shows you are interested in the position, and that you have done some homework. Remember you are there to interview them too, so make this list of questions relevant to your career path. It’s not a one-way street. I would say that in most of the interviews I have done if the candidate did not ask a question or very few, I would think that this candidate is not interested. Not asking questions is a big red flag!
There are many types of questions you can ask ranging from technical, company culture, management style, and more. Just stay away from asking pay or benefit questions in the technical interview. When I interview engineers, I may not even know the answer (unless I am the hiring manager). Asking pay or benefits questions could be considered a red flag and makes it appear you are only interested in the money and might be a risk for leaving for higher pay. You can direct salary and benefit questions to your recruiter or the HR person at the end of the interview process, right before they offer you the job. Typically, you should have established a salary range at the beginning.
Next, I will share questions that you should ask during the technical interview.
Questions on the Position, Company & Management
At a recent contract I worked at, it took a month, yes, a month to get the developer environment setup! I wish I was joking. Why didn’t they have an easy, repeatable way to do this? This showed me early on just how dysfunctional they were. When I oversaw a team in the past, I had VMs ready to go. I had one for developers and one for DBAs too! All they had to do was copy the VM and run a program to change the computer name and they were up and running in under two hours!
I once interviewed for a company that claims to have a 90% market share of the technology in mobile banking applications that scan checks to deposit into your bank account. I was interviewed by the CTO of the company. He only gave me thirty minutes of his time, so I only had time to ask him one question. I asked him what they use for source control. The reason was the company I was currently working for used the worst source control program I have ever used (PVCS Version Manager), and I did not want to waste hours per week struggling with it in another job. His answer floored me when he said, “We don’t use source control”! I could not believe my ears. I wonder if his customers know this (well maybe now they do).
At one company I worked at, the manager came to me and said that they will give me access to the production servers so I can push builds. I asked how many unit tests they had. They answered none! I then said I don’t want that access since I won’t push code that I’m not confident that it works!
Make sure you pay attention to their answers and how easy they can answer them. During one interview I was on, high-level engineers and architects had trouble answering these types of questions. They didn’t even know who their major competitor is. I considered these red flags and did not move forward with the interview process.
Lookup the Company Rating on Glassdoor.com
Lastly, before I even interview, I always look up the rating for the company on Glassdoor.com. Not only do I look at the ratings, but I also look at the recent reviews from their software engineers. If the rating is low and they have a lot of negative reviews, I don’t even entertain the idea of pursuing a job there.
Once while interviewing at a company, they had a rating on the low side. During the interview with the CTO, I asked him why it was so low. This allowed him to tell me his plan for making things better there.
Summary
One final note. As someone who interviews engineers, please do not go on interviews just to “practice”. I know that some developers do this. Find another way to practice with a co-worker, friend, etc. Also, I am here to help by doing a practice interview. I will use the job description, come up with a list of questions and then, virtually, interview you as if I were the hiring manager. I have done these in the past, even for recruiters. Please email me to schedule.
I hope that you will prepare for your next interview by studying for questions and preparing questions to ask the interviewers. Do you want to know the number one question you should ask that will tell you everything you need to know about the company and your manager? Well, you will just have to pick up a copy of “Rock Your Career: Surviving the Technical Interview” to find out.
I want to thank my good friend Mark Davis for providing input to this article.