RK

Rem Kim

Rem Kim - 2021-07-25

Tips on preparing for an interview as a Software Engineer

Tips on preparing for an interview as a Software Engineer

Getting hired as a Software Engineer can be tough. Let me give you some important tips that helped me!

Let's say you are new grad and would like to apply for a startup, but you have no idea on what to expect from interview process. In this blog I will tell you my tips on how to pass technical interview and how to approach each step of the interview process! I will not cover types of coding questions and how to prepare for them. But will gladly describe those in my next blog.

Let me just quickly outline somewhat basic steps of hiring process for a tech company.
__

  1. Recruiter phone screening
  2. Project Manager phone screening
  3. First technical challenge
  4. (Virtual) Onsite interview - Final step

__

Those are the most common steps for an hiring funnel. Some companies might swap step 2 and 3 and/or have additional technical screening, because they are trying to fill Full Stack Engineer position and require additional Frontend or Backend challenge.

Recruiter phone screening

Quick chat with company recruiter to identify if you are a good match, in terms of experience level and technical stack.

Project manager phone screening

Same as recruiter phone screening, but this time will be more focused on your previous work experience.

First technical challenge

This is also called initial filtering. Usually conducted by one of the engineers you will be given a coding challenge to complete.

Onsite interview

Usually consists of 4-5 interviews and takes 3-4 hours to complete. You will probably need to allocate full day for it in case if you work ask for a day off.

  • 1-2 Technical challenges
  • Leadership
  • Growth
  • CTO or VP of engineering

Tips for each steps

Recruiter and Manager phone screening

  • Stay positive and energetic - show your interest in the company.
  • Do your homework - research about the company that will help you to form a good picture about what company does. Also go to Glassdoor and look at company reviews, that can tell you a lot. For example you can find out about company work/life balance or if product is not aligned with engineering and much more.
  • Prepare "About me" story - both recruiter and manager will ask you to tell about yourself and your past experience. This is easy to prepare. Write something up, no longer than 2 minutes, make sure its eloquent and contains all the highlights you are proud of to make great initial impression.
  • Prepare questions - at the end of each interview you will be asked if you have any questions. Now this could be moment where you can show that you did your homework and ask something about company or your concerns or questions about benefits package. Some recruiters and managers think that if you don't have any questions at the end it could mean that you are not really interested in the company, however not everyone.

Technical interview preparation

  • Pick your language - know your programming language of strength. This means language that you are most comfortable with. Your interviewer will probably say that you are allowed to use Google, but this can take your precious time to solve the coding problem and you will only have 30-45 minutes to do so.
  • Have backup language - let's say challenge is to create OOP model of something and your language of choice was JavaScript. While this still can do the thing, JavaScript is more of a functional programming language and if I was asked to do something like that I would prefer to switch to Ruby.
  • Explain your solution - while solving the problem is the main goal, explaining your solution and your decision making is second most important thing to do. Show your ability to clearly communicate your idea
  • Write tests - some coding challenges will require you to write tests, but if not, still write them to prove that your solution is correct and covers as many edge cases as possible. That will also help you identify flaws of your solution.

Growth, Leadership, CTO or VP conversation

  • Prepare for questions - Usually questions for Growth and Leadership are widely available online, so do your homework and find questions examples and prepare your answers.
  • Be honest - Be authentic, tell truth. If you want to be an awesome programmer in next 5 years say it. If you want to be team lead or product manager say it.
  • Prepare for unexpected - CTO or VP might ask you something that you wont expect. For some its a SQL question, for some its something that they found in your CV for example recent C++ experience and he or she might pull a tricky question under their sleeve. So this one could be a surprise!

Wrapping up

Preparation is the key, and for Software Engineers there is a huge emphasis on technical knowledge and making sure you solve the problem the most optimal way, while this is true make sure you don't forget about proper communication skills and prepare answers and questions in advance!

Good luck in your interviews!

interview
challenge
software
fang
coding
code

© Rem Kim - Powered by Next.js