Table of Contents
As a developer, you’ve probably encountered several interviews in your life, including technical ones. And while there are plenty of tips on preparing for a general interview, a technical interview seems more intimidating to many. In this article, we collected the best practices of preparing for a technical interview for software engineers and added advice from our colleagues who have both conducted and passed such interviews.
Refresh your knowledge and skills
Whether you are a junior or a senior developer, it is obligatory to prepare for interview and the first step is refreshing your skills and knowledge. Many middle and senior developers skip this step, firmly believing that their portfolio would be enough. However, technical interviews consist mostly of technical questions and the interviewer will make sure to ask as many details as possible about a certain technology that you work with. And don’t forget test tasks too!
With such an approach, here are a few things you can start doing in advance before your interview to maximize your chances of successfully passing it.
Read about tools related to ones you work with
While many people believe that interviewers will ask them only about technologies they work with, many interviewers also ask about related technologies (which may come as a surprise). The reason for that is to check how well-read a person is, how enthusiastic and interested they are in their work, and whether they keep aware of trends and news. Open-mindedness is valued highly and it’s one of the ways to test it.
Prepare for a test task
The main thing to remember about test tasks during tech interviews is that they are aimed at checking your critical thinking skills and the ability to quickly code. So even if you are a pro, dedicate some time to prepare for interview and get used to coding under stressful conditions and within a limited time frame.
Brush up your knowledge of theory
While a tech interview is supposed to check your skills, an important part of it is also checking how well you know the theory. Many developers tend to underestimate the importance of theoretical questions and this leads to failed interviews. In order to not let this happen, refresh your theoretical knowledge and prepare for possible questions on every tool that you work with.
Pay attention to soft skills
Soft skills aka personal skills determine one’s ability to fit in the company’s culture and in a project team. Alongside one’s technical knowledge, an interviewer will also evaluate your soft skills such as your ability to efficiently communicate, deal with stressful situations, and be part of a team.
When you prepare for interview, get ready for the evaluation of your soft skills in advance in order to make a good impression and to ensure an interviewer learns about you both as a person and as a professional.
Talk about the challenges you faced and how you overcame them
This is a great way to let the interviewer know about how you overcome difficulties and what methods you use for that. A challenge always implies a stressful situation of some kind so your interviewer will know that you are stress-resistant and can come up with an effective solution. Note though that you should never sugar-coat the challenge: be as honest as possible and never make up anything (as it will inevitably be revealed later).
Be honest
While seemingly obvious, this point is too important to be forgotten when you prepare for interview. In an attempt to make the best first impression, some developers tend to exaggerate their skills (both soft and technical). This is a big no because the truth will be revealed sooner or later and this may hurt your work.
While in the interview, try to do the following:
- Be transparent: admit your flaws but explain how you work on them and how you plan to improve them;
- List only those tools in your resume that you worked with and can talk about: do not list things that you have a vague knowledge of;
- Don’t forget to talk about your strengths: it is important to acknowledge them!
Get acquainted with the company
One of the biggest mistakes that many software engineers make is ignoring the information about a company before coming to an actual interview. And while some may say that it’s useless to learn about the company’s history and the year of its foundation, in some ways, information about a company can be really valuable:
- You can better understand the company’s culture and whether you like it (or not);
- You can see what kind of people work there and whether it will be comfortable for you;
- You will get an idea of what kind of industries/projects the company mostly focuses on.
In addition, if you attend an interview prepared and have a general idea of the company, it will save the interviewer a significant amount of time that would, otherwise, be spent on explaining the basics.
Questions about the project
Finally, one more thing to consider in advance when you prepare for interview is listing down questions about the project that you will be working on. It is in your best interest to learn as much information about the project as possible in order to avoid any misunderstandings in the future and get a clear idea of what might be waiting for you.
Here are some things you can ask about:
- Project duration;
- Tech stack;
- The project lead and the team;
- Your expected role and responsibilities.
Expert Opinion
I remember we had a developer who worked in a product company before and such work means a deep understanding of things, rather slow approach, a very thoughtful pace of work, etc. So when he came to SoftTeco and started working on our projects, he was completely taken aback by the quick pace of work and by constant changes and need for flexibility. Unfortunately, he did not manage to get used to it – so always ask about the kind of project you will work on and how exactly the processes happen.
.Net developer at SoftTeco
Raman
Ask about the future of the project
Also, remember that it’s not enough to ask about the current state of the project – you would also want to know about the future plans. It is important because a number of things may happen: a tech stack can get changed, deadlines may be postponed or shortened, the introduction of new members might happen, and so on. In order to be ready for future changes and ensure you can efficiently deal with them, don’t forget to ask these questions during the interview. If you think you might miss something important, we recommend writing these questions in advance while you prepare for interview.
Clearly define your role and ask about expectations
When discussing the project, the most important thing to talk about is probably your expected role vs the expectations of a company. Allow us to explain.
It often happens that a company plans to assign a person to a certain role, say, a managerial position. A person, on the contrary, may want horizontal, not vertical development so a clash of expectations happens. If you don’t define your desired role from the start, it will lead to many issues in the future. This is why it is a must to thoroughly talk about your position, what the company would like you to do and what you will be comfortable doing. During this discussion, you can also ask about what career and professional opportunities you may expect – this is another important thing to consider.
Expert Opinion
SoftTeco once interviewed a person who was a great specialist with a high level of skills and knowledge. The thing is, he did not say anything about his preferences in terms of career. So after some time, we decided to offer him a team lead position. When we started discussing his further career path, turned out we were on totally different pages. It took quite a while to sort things out – would have been much easier if he clearly defined his goals from the start. Of course, we should have informed him as well so miscommunication happened on both sides.
COO at SoftTeco
Viktor
Comments