In some areas, there are strict definitions for the terms engineers and developers. However, in this article, I will be using them interchangeably. Whether it is in-house or freelance, finding the right software engineer definitely takes some time and effort, and it is even more difficult if you are unsure of what to ask. As software developers are technical people, most interviewers tend to jump into the technical interview immediately, but there are plenty of personality and ethics questions that you can ask to ensure the one you hire is the most suitable fit for your project. Furthermore, software engineers are often asked to dive into the interview process with minimum preparation or training. This article is a condensed guide with some tips and insights to walk you through the process and help you get up to speed with technical interviewing.
Photo by Icons8 Team
Based on just a brief summary of someone’s professional history and a few hours with them (may be even less for some), you are going to decide whether you would want to work with them for several years (unfortunately it is getting shorter these days). It is almost like deciding to get married after a few dates. Yes, the stakes are high although it sounds a wee bit exaggerated when we put it this way. Here are a few thoughts that might help you out.
It is obvious that interviews are unnerving for candidates; however, do not be surprised that they can be stressful for interviewers too. It is fine to acknowledge that interviews can be weird for everyone. Many people struggle to put up a stern front and it ends up being awkward. Just be yourself and that will be helpful in the long run. Next, it is perfectly fine to interview people who might be better than yourself. You do not need to be at a level above the people whom you interview. Even if you are not able to fully assess their technical skills, you can gain insights into their critical thinking, whether they work well with others, and if they can demonstrate a certain level of proficiency. Additionally, do not be dazzled by what you see on some resumes.
It is essential to note that an interview is not a battle of superiority; it is a conversation to know the other party deeper and in fact, also to let him or her know you and the company better.
First and foremost, the preparation for it. As with any interview, you need to know what you plan to ask before you start. However, to even get there, you need to establish what are non-negotiable such as your project requirements, budget and deadline. You need your developer to understand your needs and the only way to achieve that is for you to have clear project specifications in mind. If you already have project documentation, review it and identify the critical components. Sticking to the budget may be key; however, it can also be beneficial to not limit yourselves from meeting a potential candidate who could be an absolute talent. After which, you have to know your own deadline and that will help when you ask the engineer for a time estimate for the completion of their previous projects.
Lastly, prepare to ask the developer questions that relate to both their technical and soft skills instead of focusing excessively on technical questions.
Here are a couple of suggested questions that interviewers can ask.
Share briefly about how you completed one of your previous projects successfully. This question allows you to identify if the candidate worked with a team and if he or she was able to work together to brainstorm solutions. It also helps you understand their time management skills, interactions with team members and project managers, and their contribution to the overall project.
What are the problems you encountered in your project and how did you resolve them? Most software development projects have hurdles of some kind, it is crucial to find out how a developer identify and deals with the obstacles to complete the job before the deadline.
Once the general questions are out of the way, we can ask the candidate some follow-up questions that are more specific to the tech stack or programming languages/frameworks that your project requires. These follow-up questions can also be used to allow the candidates either redeem themselves or solidify any opinion you may have.
Before you end the interview, remember to ask the candidate if he or she has any questions, as they should have several regarding your business, the specifications of the project, the team, and more.
Interviewing does not come naturally and it can be arduous especially if you are spending time going through unqualified engineers. For both interviewers and interviewees, it is a skill that improves with practice. Review past interviews to think about ways to improve the back-and-forth flow of conversation. Interviews are an opportunity to improve even for the interviewers as the candidates share about new technologies and methodologies.