Rem Kim - 2021-07-25
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.
- Recruiter phone screening
- Project Manager phone screening
- First technical challenge
- (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.
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
- 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.
- 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!
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!