5 engineering interview hints
Tags: softwareengineering, interview, career
Published: 2024-07-01 06:06:23

Today, I want to share a few quick hints to help you frame your job search preparation and better understand interviewers' expectations. Recently, I participated in a [podcast (in Russian)](https://www.youtube.com/live/NT3bAtdBcGg?si=pvC32P1aeQAmUCUq) devoted to frontend interviews and preparation, where we discussed each type of interview in detail. Despite their differences, these interviews share many common elements.

I have over 10 years of engineering experience. I've interviewed candidates at various levels and been through the interview process myself. Last year, I navigated the job market and understand how challenging it is, even for senior engineers, especially if you are located outside the US or EU and looking for relocation and remote options.

So let’s go to the most interesting part.

## 1. Minify feedback loop

I often see engineers preparing for a job search by trying to fill every gap in their knowledge. They read computer science books, take courses, and experiment with unfamiliar frameworks and libraries. While continuous learning is great, it’s not the most effective approach for job searching. You don’t need to know everything to pass an interview. Interviews have their own rules, and it is beneficial to practice these specific skills as early as possible.

Mock interviews are invaluable for practicing and getting feedback on your answers, communication, and the actual knowledge gaps you need to address. You can ask friends, ex-colleagues, or people in your network to conduct different types of interviews for you. Another option is using online services like [pramp.com](http://pramp.com/), where people interview each other. Eventually, you can also take on the role of the interviewer to gain insight into what signals are expected from candidates.

I also recommend investigating the job market from day one and creating two lists. The first list should include top-priority companies where you really want to work. The second list should consist of less interesting options. Start with the second list to get a feel for the process, validate your CV, and refine your interview answers. This way, you can gather valuable information about potential questions without being too disappointed if things don't go as planned.

So try to get quick feedback on your readiness and start real interviews earlier to not be frustrated about the fact that the interviews are different from what you expected after a half year of tech preparation.

## 2. Focus on communication

As I mentioned earlier, interviews have their own rules. The process is not perfect, and interviewers have very limited time to assess your skills and level. This is why practicing communication is crucial. Interviewers look for signals about the tasks you've completed, the scope of your work, whether you just wrote code or organized large projects, or resolved company-level issues. It is important to focus on the value you have delivered. The helpful framework to tell about your experience is STAR - describe the project **s**ituation, **t**ask you need to complete, **a**ctions you are performed for it, and final **r**esult

For technical interviews, interviewers expect not only specific knowledge but also problem-solving skills, the ability to refine requirements, recognize task constraints, clearly deliver solutions, and test them.

You will need to articulate your experience and approach interview tasks as real problems you are solving in your usual responsibilities.

I strongly recommend speaking out loud during your tech interviews, whether it is live coding challenges, algorithmic sections, or system design interviews. Demonstrate your thought process and clearly explain your solutions. You may not always have enough time to complete the tasks, but discussing your approach helps the interviewer understand that you know how to solve it.

Remember, the interview is a dialogue, not a monologue. Always start by clarifying the requirements to ensure you understand them correctly. For coding and algorithmic tasks, explain your approach or write the algorithm in pseudocode. For system design, begin with a high-level overview before diving into details. If you go off track or encounter difficulties, the interviewer can assist you if they understand your current approach.

The best way to gauge how well you communicate your knowledge and skills is again to get feedback from mock and real interviews.

## 3. Prepare for specific environment

The specific challenge of interviews is that you will need to solve problems in an unfamiliar environment.

Previously, you would write solutions on paper or a whiteboard, but now most interviews are remote. The coding and algorithmic sections are usually conducted using online editors with limited syntax highlighting and code suggestions. You must be comfortable writing code in your chosen language, stay fluent, and be able to debug and test your solutions. Practice on platforms like [leetcode](https://leetcode.com/), [CodePen](https://codepen.io/) or [CodeSandbox](https://codesandbox.io/) to solve algorithmic tasks and code challenges.

System design interviews typically require you to write down requirements, draw diagrams, and create data models. Practice on such platforms to avoid wasting valuable time figuring out how to draw your solution. I recommend Excalidraw, a minimalistic and quick-to-go tool.

## 4. Show your interest

Interviews usually include 5-10 minutes at the end for you to ask questions about the company. Remember, the interview is bidirectional - you're also evaluating them as your potential workplace. Research the company, understand what they do, and show your interest by asking insightful questions. For example, identify their competitors, analyze the company's unique selling points, and ask how they achieve these and what challenges they face.

Your questions can also signal your level of expertise. Ask technical questions about their engineering processes and solutions, as well as their product strategies. It's best to prepare these questions in advance.

## 5. Stay positive

The interview process can be tough and feel like a full-time job. It’s easy to get frustrated by questions and challenges you don't like, but staying positive is crucial. Everyone involved in hiring is trying to find the best candidate, and they have limited time to assess each one. Your best strategy is to remain positive, empathic and friendly, share well-prepared stories about your experience, and send the right signals during technical interviews.

Do not forget to rest properly and avoid burnout during this process.

---

Hope you find it useful! Write in comments that you would recommend others from your experience. Good luck with your upcoming interviews!