Hiring a middle/mid-level developer is one of the first things a company does when it's ready to build a website. However, the process of finding a good developer can be cumbersome.
When interviewing for a job in the tech industry, the questions you ask in the interview are essential. You want to ensure you're asking questions that will help you determine if the candidate is worth hiring. While there are no “right” or “wrong” questions, the following can help you decide if a developer is a good fit for your business.
What is a middle developer?
A middle web developer has a solid understanding of frontend programming and some experience with backend development. Their total number of work experience are usually between 2-4 years. Middle developers often have some knowledge of HTML, CSS, and JavaScript and are comfortable with server-side languages like PHP or Python.
Mid-level developers are a great asset to any organization. They are skilled, highly-educated software engineers who can write code in various languages and platforms.
Before you get started
An essential part of a hiring process is vetting your candidates beyond the interview. This can mean evaluating their technical skills and understanding how they would react in various situations. So, as a hiring manager, don't stop asking questions throughout the interview. Ask follow-up questions too. This will give you a more holistic idea of what it's like to work with someone and help you determine if that person has the soft skills and qualities needed to succeed within your organization.
General questions
1. What qualities make you a great developer?
This question is intended to help you understand what the candidate considers a defining characteristic of a great developer. For example, a good answer is they might say that they are a great developer because they are always willing to learn new things and have an open mind.
This question is crucial because it lets you know if the candidate is sure of their skills and if they can answer questions confidently. You want someone who is a good fit for your company culture, so they must be able to answer these questions without any hesitation or doubt.
2. How do you handle work-related stress?
As an interviewer, you want to see how well they handle pressure. And how they would cope with workplace stressors such as deadlines and long hours.
3. What do you like most about working at this company?
This question is meant as an icebreaker. You want to see if there's any mutual interest or chemistry between the candidate and the interviewer. The answer will also help inform whether or not this is an organization where the candidate would be happy working.
4. What's the biggest challenge you've faced in your career? How did you overcome it?
As a hiring manager, it’s a good idea to hear about some challenges that have come up for the potential candidate throughout their career and how they overcame them. This will give you an idea of how much grit and determination there is inside each of your candidates; if they can face challenges without getting discouraged or giving up.
5. What's your favorite feature of our product and why?
This question is designed to see how well they understand the purpose of the product they are working on. They should be able to explain how it helps customers and what features are most important for a user to see.
6. What are some of the most exciting technologies in your field right now?
This is an excellent question because you can test what the candidate knows about other people's work in the industry. They should be able to show that they’re aware of trends and keep up with them. It’s a great demonstration that they have the skills needed to keep up with industry changes as they happen.
Questions based on experience
7. What frameworks are you familiar with?
This question is intended to help you understand what technologies the job candidate has experience using and their comfort level with them. For example, if you're looking for someone with experience in frontend development, then someone who knows how to use JavaScript but not HTML or CSS isn't going to be as valuable as someone who knows all three.
That being said, it's important not to ask too specific questions like "Do you know how to use Angular?" because it's possible that someone could answer yes when in reality, they only know how to use Angular.js (which is now outdated). Instead, ask about specific versions of frameworks or languages such as "Have you ever used React 16?" or "What version have you used?”
8. How have you previously detected errors that weren't obvious?
This great open-ended question encourages an explanation – not just a yes or a no! This question is designed to see if they know how to find bugs in code without being told exactly where they are. If someone else tells them what they think might be broken, how do they diagnose it? They should also explain what kind of bugs tend to be more difficult for developers – for example, those related to security or performance issues – and why they tend to be harder to find than others.
9. What are the biggest challenges that have come up while working on a certain engagement?
This question shows that you're interested in what's going on in your potential candidate and gives you insight into what kind of tasks they're working on. It also suggests that you understand the scope of what they do and aren't just looking at their job description.
10. What tools do you use to work on tasks?
If a company uses specific software or has a particular workflow, it's essential to know so that the interviewee can familiarize themselves with it before starting the job. If your company is fast-paced, there might not be time for them to learn something new as they start. Hence, understanding what tools they are familiar with is vital at this point.
11. How do you prioritize your tasks as a developer?
This question is meant to gauge how well they can assess the priorities of their work and manage their time when it comes to completing those tasks. The answer should explain how they can determine what's most essential and when. For example, if two urgent tasks must be completed by the end of the week, but one is more important than the other (a software bug that impacts users' experience with the product versus research for new features). You would want to hear an explanation of how they would handle this workload.
The CTO's guide to different hiring models
How to hire for a fast-growing tech company
Other great technical questions to ask
-
What programming languages are you comfortable working with?
-
Take me through your process of testing and finding bugs in an application.
-
What’s the best way you have found to organize CSS files? Based on your approach, what are the pros and cons?
-
Tell me about the various ways you suggest to make a website faster.
-
What are the steps you take when a website isn’t working?
-
What APIs have you previously worked with?
-
Are you able to debug this code? (Provide a quick test with intentional errors they should find)
In summary, when interviewing developers for a mid-level software development role, it's important to remember that most candidates will likely have the same basic skill sets and education. What makes hiring a genuinely great candidate difficult is how well they match your company's culture and go about solving problems. The questions above will also provide insight into how candidates think through problems and communicate their thought processes.