Butterflies in your chest, the sudden drop in your stomach. Anytime you think about your upcoming interview, these sensations immediately follow (ugh!). We’ve all been there. Luckily, proper expectations and preparation going into your interview can go a long way in assuaging these nerves.
For the first-timers out there, the coding interview is usually divided into two sessions. The first is focused on behavioral questions and the second is a live coding demonstration. The behavioral questions are largely the same as a typical job interview, in which the interviewer asks about your skills and education, your working style, your values and a range of situational questions like, “Imagine your colleague is running behind on the task you assigned them; how would you approach them in order to get your project back on track?”
The second interview session is the live coding demonstration, where the interviewer assigns the interview candidate a coding prompt. The prompt is typically some sort of problem that needs to be solved, and the interview candidate is expected to ideate a solution and write their corresponding code in front of the interviewer. Many first time interview candidates are understandably intimidated by the live demo, but that’s largely because they lack the proper preparation, says Samuel Taylor. “If you’ve never had someone ask you a coding question and worked through it, your mind is trying to figure out what you’re doing while you’re doing it. And that can be scary and hard.”
Samuel, a Senior Machine Learning Engineer and longtime volunteer for Code2College, is a seasoned veteran of the coding interview (both as a candidate and as an interviewer!), so he sat down with us to share seven best practices that he and other Code2College volunteers use to prepare their students for their upcoming coding interviews. Although the live coding demo follows the behavioral/value section, the demo is by far the most asked about section of the interview, so without further ado, we’ll begin there!
7 Tips for Nailing Your Next Coding Interview:
- Ask clarifying questions.
- Write an outline for your code.
- Explain your process while you code.
- Research the company’s blog or “About Us” page.
- Identify your unique strengths.
- Remember that you’re interviewing them, too!
- Utilize Code2College’s professional development resources.
#1 Ask clarifying questions.
When assigning the coding prompt, the biggest red flag for an interviewer is when the candidate immediately jumps into the prompt without taking a moment to think or ask questions. “Sometimes those questions are deliberately vague to force the candidate to gather more clarity on something, which is a skill that’s explicitly being tested here. The real world is ambiguous, so sometimes you have to gain clarity on what you’re doing.” Even if the prompt seems crystal clear to you, take a moment to repeat back in your own words what you think is being asked of you. In some cases, Samuel’s clear and concise prompts were repeated back to him in ways that made it obvious that the candidate had misunderstood the prompt. If this happens to you, it is perfectly okay, explains Samuel. “That’s the reason repeating back is helpful. It allows us to ensure we’re on the same page.”
#2 Write an outline for your code.
Samuel says the outline, or the pseudocode, can be one of the most overlooked aspects of the live demo. “Code is read hundreds of times more than it is written. So the biggest thing is not necessarily a working solution. More important than that is demonstrating a clear thought process.” Pseudocode is written using a combination of programming language and plain language and essentially breaks down how you are responding to the prompt. When writing pseudocode, Samuel says legibility is a priority. “Name your variables in a way that makes sense. Sometimes candidates will just call something X, and they’ll say out loud what X is, but in their pseudocode it’s just X. That’s not an immediate pass, but it’s a bad signal.” The ability to take an idea, break it down into a plan of action and communicate that plan clearly in writing is key to a well-functioning team, so interviewers regard this skill very highly.
#3 Explain your process while you code.
In a coding environment, at some point you may find yourself explaining to a colleague a particular function while writing it. This is admittedly one of the more challenging skills to develop, but in most cases, the coding interview will be the only time you’re expected to analyze and share everything you’re doing as you do it. However, it’s still very important to practice this skill, because interviewers want insight into your thought process while you work through plans and any potential challenges you may come across.
At some point in your coding maybe you find yourself having trouble remembering a particular python module – no need to panic! Samuel says it’s perfectly acceptable to ask permission to do a quick Google search. Many times these interviewers are your potential coders-in-arms, and have shared with past candidates that they look things up all the time in their day-to-day. Just be sure to keep your search brief!
Pro Tip: Don’t be afraid to invite collaboration from time to time. After explaining your pseudocode, Samuel recommends asking questions like, Does this seem reasonable to you? or, Do you see anything I’m overlooking? “You should think of your interviewer as a teammate, not as a teacher. When you’re working with a teammate on solving a problem together, you’ll say things like, Hey, I completely forgot this one thing. Do you happen to remember?” People enjoy working with those who are open to ideas and different perspectives, and your interviewer is no different, since in many cases they might be a future colleague!
#4 Research the company’s blog and “About Us” page.
Cultivating a strong company culture is usually of high importance for company leaders, and one of the ways interviewers will aid this effort is to find talent that aligns with their company’s values. Before your interview, explore the company’s website, specifically making trips to the About Us page and their blog, which is where Samuel says a lot of their values are on full display.
For instance, let’s say one value that frequently crops up is positive energy. You see multiple blog posts that highlight and celebrate employees who exemplify that value. “You can then go into your interview and say, Hey, I love that y’all care so much about positive energy. That’s something I try to bring to my day-to-day life, it’s important to me.” Identifying which of your own values and personality align with the company is an important part of preparation, since a key question in the interviewers’ decision meeting with colleagues is, How would you feel about working with this person? With that in mind, Samuel says a helpful framework going into your research is to ask yourself, How do I make this as easy as possible for the interviewer to say yes to me?
#5 Identify your unique strengths.
In one way or another, the interviewer will ask what you as a unique individual can bring to this role. Think about what the role description is asking of you and reflect on what you’re best at within that context: Are you a natural problem solver? A collaborator at heart? A deadline wizard? Or maybe you learn new languages quickly? Identify the innate strengths within yourself and explain how they position you for success in this role.
It’s easy for first-time candidates to feel intimidated by their lack of experience, but Samuel says this is actually something you can leverage. “I tell my students that even though you don’t have the traditional work experience, you do bring this new perspective and a new set of eyes, and that is really valuable to these companies.”
#6 Remember that you’re interviewing them, too!
At some point, the interviewer will turn the mic over to you to ask them questions. Although it may seem like a polite gesture, this is actually an important opportunity where your personal values and thoughtfulness can shine. It’s also a chance for you to show off your knowledge of the company from your prior research. For instance, you could ask to gain clarity on how a certain company value is encouraged in the day-to-day. “Those are really thoughtful questions that show that the candidate has prepared, it’s specific to my company, and it shows that they are looking for information on what it is like to actually work on our team. Those are all very positive signals.”
But arguably the most important part of this reverse interview is that you are gathering information to help you determine whether this company is the right fit for you. For example, let’s say it’s important for you to work for a company that takes meaningful action on diversity, equity and inclusion in the workplace. You might ask them how they fulfill that commitment: what if any bias training they receive, what DEI support is in place for employees, how they measure success, et cetera. Feeling like you belong at your place of work is important, so think about what would make you feel at home. Whatever you want to ask, just be confident with “taking that time for yourself, and making sure you’re getting as much of the data that you need to make the decision that’s best for you.”
#7 Utilize Code2College’s professional development resources.
Finally, Code2College has numerous professional development resources available to all of its students, regardless of whether they have an interview coming up. In addition to our staff that are always happy to answer any questions, Code2College offers interview workshops, where participants can engage in mock interviews and practice identifying coding prompts that need clarification, writing pseudocode, explaining their process while coding, and much more. For those who might be working towards landing an interview, Code2College offers resume and cover letter workshops, in which participants can work on drafting these application documents with volunteer instructors and receive feedback on their work. Furthermore, monthly professional development workshops are held for those who are current interns, who are coached on topics from organizational practices to networking.
Furthermore, many of Code2College’s volunteer instructors have been or are currently interviewers at their full time jobs, says Samuel, so don’t feel like you have to wait to be enrolled in a course to ask questions!
Although it seems like a lot to be thinking about and preparing for, just remember that these tips are here not to put the “right” answers in your mouth, but to help you feel confident and reassured in the interview setting. No matter if you’re preparing for your tenth interview or your very first, knowing what to prepare for and then acting on that information does a lot to keep interview anxiety at bay (knowledge is empowerment!). You’ll still probably feel a twinge of nervousness when the thought of your interview comes up, and that’s okay. Just take a deep breath and remember: “It’s just another person in a room. This is simply a chance to show them how brilliant you are.”
If you’d like to learn more about Code2College’s upcoming workshops and courses and how to get involved, please contact Marc at firstname.lastname@example.org if you’d like to be a student, or email@example.com if you’re interested in volunteer instruction. For more information on Code2College’s internship programs and opportunities, please contact firstname.lastname@example.org.