How to Beat the Technical Interview
I don't think anyone enjoys the interview process.
Not too long ago I was looking for my first internships and jobs, and the pain points are still very fresh in my mind.
Especially for engineers, the process tends to be quite challenging. It starts with a phone screen that includes unexpected algorithms questions. Then you can expect a coding challenge either in the form of a take-home project or a live video call. If you do well, you will get to a final round where the questions test your culture fit and soft-skills requirements.
How do people do it?
Every company has a different process for screening and interviewing candidates. There are a few things you can start doing to make the entire process easier and much less stressful.
How to Beat the Technical Interview
Here's how to stress less, and get better results in interviews from my own experience.
1. Become a Valuable Candidate
The first and by far most important point. If you only have 1 minute to read this, this should be your main takeaway. Companies have limited resources. They are looking for the best candidate they can get given those resources.
You want to come off as a steal. Be a rockstar at what you do or someone with potential that will make a serious impact on the company's future.
Companies look at experience. There is no doubt about it. They'll get a sense of how valuable you are based on what you've done. For new developers, this might be discouraging, but this isn't just work experience. I landed my first job because of my personal projects and the experience those gave me.
2. Have a Personal Project
For new developers, this makes a MASSIVE difference.
When you have an awesome project to show off, interviewers will ask more questions about your project, and fewer questions about things you don't know.
They will ask how and why you built your project the way you did. This takes time away from harder questions like how to optimize and improve the performance of an API. They'll ask you questions you DO know the answers too. Get the point?
Plus the interviewer will be more interested. Engineers love learning and if you bring them something cool that you built they will love hearing more about it.
They will view you as a self-motivated and ambitious engineer. You are someone who doesn't need to be micro-managed.
You'll learn a LOT more than other applicants and have more experience because of that.
This makes you a stand-out candidate before anyone asks a single interview question.
3. Create a Rockstar Resume
It all starts with the resume, but I'm listing this third because it shouldn't be your primary focus. To earn the interview you need the company to love your resume. They will love your resume IF you are a valuable candidate. Covering the above points will make your resume more interesting by default.
Spend time and polish your resume as best you can, as it is your first chance to show how valuable you are.
The resume review process is subjective. Every single company and every single person reviews a resume differently. Some may not care if you misspell something. Some may immediately discard your application and move to the next candidate.
The point is to make sure your resume is clean and doesn't fall into anyone's discard bucket. Make sure there are no typos and that it displays your experience.
Also, interviewers will ask you questions about things on your resume. Stretching the truth will invite questions you won't be able to answer.
4. Learn to Solve Problems
Cover the above points and you will excite the company with your resume. It will help you get through the rest of the interview process too. You will make it to the late-stage challenge of the actual interview.
Again, every company interviews differently. BUT, from my experience, you generally don't need deep knowledge in a particular area. Especially for entry-level positions and new developers.
Rather than memorizing a bunch of code, syntax, and helper methods available in every language, focus on being able to solve problems.
More often than not, interviews are not about testing how much you know, but about how you solve problems and how you can work with a team and communicate your ideas.
In my experience, it's better to admit you don't know something than to guess and pretend you do. You can usually say "I usually look up the syntax here" and sometimes the interviewer will admit they do the same. This is much better than being wrong.
5. Practice Code Challenges
The coding challenge is difficult. It's an artificial experience that is nothing like the actual work you will do. It favors developers with the fastest problem solving and coding ability.
These are skills you can learn and improve with practice, and there are free resources all job-seekers should be familiar with.
LeetCode offers free challenges you can work on to warm up for interviews and coding challenges. They are one of my favorites, and often recommended by other developers too.
Hopefully, this has helped you approach interviewing in a slightly less-stressful way. Focus on being the most valuable candidate you can be, rather than learning the answers to every potential technical question.
Build a personal project, interviewers will love it and ask you about it instead of about hard technical areas you might not be familiar with.
Got questions? Follow me on Twitter!