At Lucid Software, we collect thousands of applications and interview about 100 candidates each year for a variety of engineering roles. We have an interview team of roughly 12 engineers specializing in the six different parts of our interview process. With university recruiting season upon us, we sat down and discussed what we wish we could tell our interviewees before they come in to help them nail the interview. It all starts with proper preparation, so without further ado, here are seven tips for preparing for an engineering interview.
- Do your homework. Who are the founders and executives? What are the company’s core values and mission statement? What products do they offer? Have they had any recent PR announcements? All this information can be found with just 10 minutes of research—do a quick Google search, or explore the company’s website. Every year we have candidates who come in and have no idea what Lucidchart is and have not used one or both of our products. Coming unprepared shows you do not care much about the position or company.
- Put your GPA on your resume. This is a hotly debated topic among recruiters, but at Lucid, a red flag goes up whenever we don’t see a GPA on a resume. We assume you have something to hide. Oftentimes, if the rest of the resume is not that strong, we won’t even reach out. However, if there is a strong GPA, it can make up for having a weaker resume.
- Brush up on what you learned in school. Object-oriented programming, access modifiers, design patterns, etc—these are the building blocks of programming. While we don’t expect you to have memorized definitions, you should be familiar with the industry’s lingo. All the time we get “It’s been so long,” or “I know I know this, but it’s been a while.” Unfortunately, we don’t know that you know it unless you are able to talk about it.
- Be able to talk about your resume. Simply put, if you can’t talk about it for 10 minutes, don’t put it on your resume. If you put four or five different programming languages on your resume, we are going to ask you to compare and contrast them. If you mention that you led a major project at your last company, we will want to hear about the project and the specific challenges you personally had to overcome.
- Practice at the whiteboard. We get people who come in and are absolutely dumbfounded when we ask them to work at a whiteboard—we are going to ask you to do so. We want to see how you work through a problem. Here we are mostly looking for pseudo code—we don’t care about perfect syntax or compiler errors. We just want to see how you reason about a hard problem and whether you can recognize good vs bad suggestions.
- Get a Hacker Rank or SPOJ account and do some problems. The coding exercise is going to consist of short (under an hour) problems to make sure you can solve problems quickly. HackerRank, SPOJ, CodeForces, CodeChef, HackerEarth, and hundreds of other sites all contain thousands of practice problems you can work on to prepare.
- Read Cracking the Coding Interview. This book contains hundreds of great tips that will help prepare you for any software development interview. We cannot recommend it enough.
I hope the message is clear—COME PREPARED. Proper preparation is a clear distinguisher for the few candidates who actually put in the time and effort to do it. Check out our blog next week for Acing the Engineering Interview Part 2: In the Interview.