Why a strategic coding interview prep plan matters
Tags: career, discuss, programming, beginners
Published: 2022-01-06 17:57:46

Let’s face it: coding interviews are nerve-wracking. We go into interviews with the intention of impressing our interviewers and landing a new job. We know that when we interview, we show up to be evaluated and, in some ways, judged. It’s completely normal and acceptable to have pre-interview, mid-interview, and post-interview nerves. But how can we overcome our emotions to ensure we come across as prepared, confident, and desirable? Let’s talk about it!

Today we’ll discuss one of the best things you can do to help ease those interview nerves: prepare strategically.
 
**We’ll cover**:
* [How to prepare for your interview](#howtoprepare)
* [Tips and resources to help you prepare](#interviewpreptipsandresources)
* [Why strategic interview prep is important](#strategicinterviewprep)
* [Wrapping up](#wrapup)

<a name="howtoprepare"></a>

## How to prepare for your interview

### Determining your goals

When interviewing gets put on your radar, there are some general best practices that will help you approach your interviews with more confidence. While searching for positions, I recommend **establishing your goals first**. If in five years you want to be a TPM, consider roles and companies with leadership and growth opportunities. If you dream of being a technical architect, focus on roles and companies that emphasize system design. Ask yourself questions like *What is it I seek to accomplish in my career? What do I want to learn? What do I feel passionate about?* Determining your answers to these questions will help you set your sights on the right positions with the right companies. 

It’s important to remember to **apply to a company for the right reasons**. Many developers aspire to work for Big Tech companies (FAANG+), but remember that those companies aren’t the only ones where you can make an impact, earn a great salary, and grow as a developer. Start-ups and smaller companies offer a lot of flexibility, freedom, and corporate culture that will allow you to be successful *and* fulfilled. 

When looking into various companies, you should turn to social media sites like Reddit and Quora and sites like Glassdoor to hear from current and former employees about company culture, interview tips, common interview questions, and more. levels.fyi is another popular place to find out your “worth” in tech across various companies. You should also look on LinkedIn and the company’s website to learn more about the position and job description.

### Preparing for the coding interview

While three months is a good amount of time for someone newer to the coding interview, 4-6 weeks can be enough time for a candidate who feels comfortable with certain concepts. The timeline could even get a bit shorter than that if you’ve interviewed recently. But **interview prep is about more than just putting in the time, it’s also about doing it strategically**. 
If you’re looking for some guidance, check out the [Definitive Interview Prep Roadmap](https://www.codinginterview.com/interview-roadmap). This resource breaks down prep week by week in a 12-week timeline. If you feel confident about certain concepts, skip them! Just make sure you focus on concepts and subjects that will help boost your confidence and best prepare you for your interview. This interview roadmap also speaks to the behavioral interview, which is important to prepare for as well.
> Because of the COVID-19 pandemic, video interviews (and remote work) have become commonplace. Making a good first impression virtually is just as important as making a good first impression in person. Make sure to adhere to an appropriate dress code, practice approachable body language, and make eye contact with your interviewer.

<br>

<a name="interviewpreptipsandresources"></a>

## Tips and resources to help you prepare

We’ve spent a lot of time talking about how to prepare. Now it’s time to give you some tips and resources to help you get started. 

### Interview prep tips

A great hands-on way to prep for interviews is to work on some personal projects. You can **tailor these projects to showcase relevant, in-demand skills** for your next job interview. If the job you want requires experience with a NoSQL data structure store, like Redis, create a project using a NoSQL data structure store! When you get to your interview, you’ll feel more confident and comfortable talking about NoSQL data structure stores because of your hands-on experience.

Another way you can prepare for your interview is by setting up **mock interviews** with friends or classmates. Mock interviews are a **great way to practice demonstrating your soft skills**. In mock interviews, you can practice talking through common job interview questions, asking and answering questions, and showcasing your communication, collaboration, and leadership skills. 

You should even prepare for the possibility that you might not know how to solve the problem your interviewer asked you. Learning [how to ace a coding interview even if you can’t solve the problem](https://www.educative.io/blog/ace-coding-interview) will help you work through roadblocks intentionally.

### Interview prep resources

Educative has tons of **free interview prep content**, which can help you prepare for your next job interview. Some of our top interview prep blogs include:

* [Cracking the top Amazon coding interview questions](https://www.educative.io/blog/crack-amazon-coding-interview-questions)
* [Cracking the Google coding interview: The definitive prep guide](https://www.educative.io/blog/google-coding-interview)
* [Cracking the top 40 Facebook coding interview questions](https://www.educative.io/blog/cracking-top-facebook-coding-interview-questions)

[CodingInterview.com](https://www.codinginterview.com/) is another great resource for interview prep. This site gives you all the information you need to maximize your chances of success at top companies with company-specific interview guides. CodingInterview offers over 20 interview guides for companies like Microsoft, Netflix, Twitter, Stripe, and more!

If you’re looking for a more hands-on, comprehensive interview prep resource, Educative offers many different interview prep courses, ranging from the system design interview to the Python coding interview to the front-end interview. 
<br>

<a name="strategicinterviewprep"></a>

## Why strategic interview prep is important

The entire job search process can be tedious. You can apply to tons of jobs without hearing back from a single hiring manager or recruiter. Once you finally *do* hear back and schedule an interview, you typically spend a decent amount of time in the interview process until you get to the point of a job offer. 

On top of that, the interview preparation process also takes time. When getting ready for your coding interview, it’s important to prepare strategically. We advise you to set aside **up to three months** to fully prepare. While three months may seem like a long time, remember that coding interviews are filled with dense material and complex topics, so it’s important to give yourself enough time to study, practice, and understand each concept thoroughly. 

> It’s important to note that this time frame will decrease depending on certain factors, like whether you’ve interviewed recently or if you have ample experience with certain key topics.

When prepping, **following a structure is critical to ensure you hold yourself accountable and have time to cover all your bases**. That way, when it’s finally time for your coding interview, your in-depth preparation will have helped alleviate some of those interview nerves and build your confidence as an interviewee. At a high level, a key takeaway for strategic interview prep is that you don’t need to get extremely specific on tactical execution. Everything you need to know is a high-level concept that you apply in your coding language of choice. 

Another aspect of prepping strategically is **making sure you’re studying and practicing the right concepts** beforehand. Interviews at most tech companies cover the following concepts:

* Coding questions, problem-solving, and data structures and algorithms (DSA)
* Operating systems and concurrency
* System design
* Object-oriented programming
* Behavioral and culture fit

That being said, **the coding interview process is constantly evolving in response to market and product needs**. Educative’s CEO, Fahim ul Haq, wrote an insightful piece about the last 25 years of the software engineering interview. He says, *“It’s important today for you to go back to the software engineering and interviewing basics: understanding data structures and algorithms, preparing general-purpose skills that can be applied to unique problems, and understanding how various components relate to each other in OOP and multi-entity systems.”*
 
If you want to hear more about his experience and observations, I highly recommend reading Fahim’s full piece to hear his take on [how software engineering interviews have changed in the last 25 years](https://www.fahim.dev/25-years-software-engineering-interview/).
<br>

<a name="wrapup"></a>

## Wrapping up

To wrap up, remember that the hiring process at the end of an interview loop takes time. If you don’t hear back right away, that doesn’t mean you won’t get the offer! Think of your strategic job search like an engineering project: you put together components in a sequence to build a product you and your customer will love. 
So, go in with a plan and execute it.

*Happy learning!*
<br>
 
### Continue learning about interview prep
* [3-month coding interview preparation bootcamp](https://www.educative.io/blog/coding-interivew-preparation-bootcamp)
* [5 tried and true techniques to prepare for a coding interview](https://www.educative.io/blog/5-tried-and-true-techniques-to-prepare-for-a-coding-interview#practice)
* [Is LeetCode the best way to prepare for interviews?](https://www.educative.io/blog/leetcode-interview-prep)