How Do You Judge Software Developers While Recruitment - Important Questions?
Software Engineering is one of the extremely tough technical platforms that has its own challenges with so many programming languages and functionalities. To become a Software developer, one must have the excellent knowledge of what the programming language is about, how the coding is done, clear with OOPs concepts which are regarded as the ultimate base for selection. He / She should have a grip on at least one programming language to get selected in the interview. Remember, self-learning with in-depth research analysis always plays a vital role for the candidate while working. Because every company would prefer fast learners with less time spent on them. Apart from that, the candidate has to stay up-to-date with sharp skills, good at testing and debugging skills, coding formats, etc. These are some of the important factors that any custom software development company would be looking for in a candidate while the selection process.
Ask About Their Hobby Projects
“Asking the software developer about their hobby projects shows their interest and passion for the topic. It could be a red flag if the person does not have any hobby projects. For good reasons, the hobbyist generally has broader knowledge than a developer that is only programming as a profession. Since a developer often tries to explore and keep up with new technologies, they can be a huge asset to your organization and spur your innovation efforts. People, in general, like to talk about their hobbies so it will most likely result in a more interesting interview for both parties.”
- Andreas Pettersson, CTO at Right People Group
Developed a Program and Didn't Run, What You Will Do?
“Describe a time when you developed a program, and it didn’t run. What was your first action? Did you troubleshoot the code? How did you do it?
This question is both technical and behavioral. It encourages a long answer and allows us to evaluate both soft and technical skills. It helps us understand how a developer works under pressure and test his/her problem-solving skills.”
- Michael Yurushkin, CTO & Founder of BroutonLab
Test Them for Their Coding Skills
“You've started working on a new feature and have reached a point where you can do something in one of two ways. How do you decide which way to go? Why do I ask this? When it comes to recruiting software engineers, you can test them for their coding skills by giving them tasks to do, reviewing their code, and talking to them about why they made the choices they made from a technical perspective. However, coding is only one part of the role of an engineer. There is a huge amount of team work involved, and they are part of a larger group, so understanding whether their approach to a decision like this is to a) make their own choice, b) check with the development team, c) check with the product manager, d) investigate both options, e) present the options to others, gives you an idea of whether they see themselves as part of this bigger goal. Successful teams always have members who understand this bigger goal and their part in it, and who know when to crack on and when to collaborate.”
- Robert Drury, Software Development Head at gettingstartedinproduct.com
Are You Updated with Current and Relevant Skills?
“How do you keep your skills current and relevant, and how do you stay up to date with new software developments?
This is an important question to ask because it gives the candidate an opportunity to demonstrate how they intend to keep up with the changes in the industry. We need to know that the candidate will be continuously crafting their skill while employed, as this will be a major source of competitive edge as well as an opportunity to improve customer satisfaction.”
- Joe Bailey, Business Development Consultant at My Trading Skills
What's Your Favourite Tech Stack?
“What's your favourite tech stack? and why?
It's a very broad question that doesn't expect a narrow-minded answer but more a it depends type of approach. It's a good way to know how many technologies the candidate has worked with and what is his depth on each of them. Also a good way to test his curiosity and how savvy he is. Last but not least, nobody wants to work with some tech terrorist who only likes to work with one language... Asking this question will test for how open minded he or she is.”
- Jean Meyer, CEO and Co-Founder of Wanted
How Did You Get into the Software Development?
“Something that we've always asked is how did you get into the field? I find that this is a lovely question to get the interviewee talking about themselves and make them comfortable. Once they're explaining why and how they become involved with the field I can then start to deeper with their interest and evaluate whether or not they'd be a good fit for the company! For me, it's all about looking for that person that never settles for good enough but instead is constantly trying to improve a tool, a piece of software or a process. if they have the passion for the field then they're more likely to be the kind of person we need.”
- Seb Dean, Director of Imaginaire
How Did You Solve an Unexpected Software Development Issue?
“This is an important question since it allows you to understand the developer’s thought process, creativity and problem-solving skills. This is key to help identify the employee’s tendencies, such as whether they default to pre-set instructions and protocol or respond by finding a creative solution on the spot. Armed with this information, you can then make a better assessment of what role would work best for that particular employee.
Being able to think critically and independently is an important trait to have as a software developer. As a highly sought out position, it’s very competitive and many candidates have a similar skill-set and educational background. So understanding their thought process and critical thinking during an unexpected situation is one of those intangible qualities that can make the difference between getting hired or not.”
- Tom Winter, Co-Founder and Tech Recruitment Advisor at DevSkiller
Tell us About Your Most Successful Project
“This may sound like a behavioural interview question, but I like to ask this in technical interviews because it allows the candidate to discuss a project that they're deeply familiar with, rather than testing how quickly they can reason about a complex problem on the spot (which isn't usually a realistic scenario in most cases anyways). This lets me probe into different areas that they're familiar with, and gives me insight into their decision making process. Are they building something complicated or using cutting edge technology just for the sake of it, or do they have a good justification for doing so? Would a simpler solution achieve the same results with a faster time to market? If they cannot justify their decisions, that's a red flag. On the other hand, strong candidates can clearly communicate their thought process and justify why they chose to do things a certain way compared to alternative solutions.
Another question is about Design Instagram.
This is a pretty open-ended system design problem that can be taken in a variety of directions, depending on the candidate's skillset and experience. Strong candidates will ask clarifying questions to understand the product being built, and will design a system that can power a minimum viable product. I usually cater the question based on the candidate's skillset. For example, for frontend engineers, I'll ask about the various API's that will need to be built. For backend engineers, we'll discuss the database schema and how to scale the system in a distributed manner, and how to handle concepts like load balancing, consistency, replication, etc. If the candidate has experience with machine learning, you can also discuss how they might design a ranker to rank content. By exploring such an open ended problem with the candidate, I find that it pretty closely simulates what it's like to work on an actual project with them that we need to solve together.”
- Bruce Hogan, CEO of Software Pundit
Experience in Working with Clients
“One of the important questions we ask candidates during the recruitment process is the question of experience in working with clients.
This makes customers appreciate working with us and our developers have the opportunity to develop their people skills. We value people who can work closely with international clients. If the candidate has great technical knowledge, is open-minded, and can work as a consultant, this is the person we will certainly want to have in our team.
In interviews, we listen for clues about being open to travel to a client's office and openness in meeting people and developing close professional relationships. Extensive experience in working with international clients is a major plus, of course. Technical skills are a must, but those with a cooperative spark usually gets called back.”
- Adrianna Nowaczyk, From Espeo Software
How Do You Organize Class Modules and Assets?
“The best question I always ask is “How do you organize your class modules and assets”?
This will help you understand how the candidate organizes their code. There are lots of ways you can write your codes, and all of them are correct. Your team probably has a set standard, and it helps to know if the developer logically organizes code in a way that is easily maintained and can be further documented.”
- Michael Miller, CEO of VPN Online Multimedia Inc.
Multiple Important Questions
“What's the coolest thing you've done in the last year?”
“We ask this question to invite an applicant to show off something they're both comfortable with and (hopefully) excited about. The way they approach this can speak volumes about how they perceive themselves: look for enthusiasm, confidence, and empathy. Watch out for: ego, ambivalence. Some quality candidates, especially early in their careers don't respond well to this question due to impostor syndrome. If you foresee or encounter this, you can exchange or pivot to something more direct such as What part of your work in the past year had the most impact? On whom?”
“Tell me about a skill you learned in the last year. What were the circumstances of that learning?”
“This can lead many places, and how a candidate responds can give clues about how they understand personal growth. You might hear about technical skill growth in a very focused way (a particular language/framework or platform), or a broader way (patterns, best practices and principles), soft skills like writing, speaking or process refinement. It's important as an interviewer to also approach this as openly as possible, and to try to leave behind preconceptions about linear growth patterns. Learning is quite non-linear in the real-world, and even if a candidate relays recently learning a skill that you consider foundational or otherwise given for a new team member, recall that you also once had to learn it, and that their path was not yours. The goal here again is to understand more about the person as a whole, to gauge how they approach growth and learning and discover if they are a good match for your team.”
“Let's imagine we hire you: it's six months from now and things have gone poorly. What happened?”
“This tries to uncover a candidate concerns as well as exercise empathy. The goal here is to try to understand what facets of the match between candidate and company lack alignment and might lead to friction. Uncovering this in the interview (instead of six months later) pays huge dividends for both parties. Look for honesty, candor and considered thinking about longer term career goals.”
- Andrew Lindberg, Senior Software Development Mentor at Exelaration
“When asking interview questions I try to ask questions that get a developer to get into details on what they have down with technology. Generic technology questions tend to be less insightful. But here are some of the questions myself and the members of my team use:
- Do you primarily consider yourself a front end or backend developer?
This is kind of a trick question to see if someone feels confident on both front and back end tasks. It gets the person to talk about where they are most comfortable.
- Give me an example of a difficult issue you had identifying or fixing code that did not work and how you went about resolving the problem.
Debugging skills and problem solving skills are one of the keys to being a successful developer. Most interviewers focus on language skills rather than this important aspect of the job.
- What qualities in your work approach do you feel make you more effective than another developer?
Some developers can work at warp speed. They develop techniques to do this. They are the best developers. I want to understand if the developer can work fast and what things they do to make them faster / better than their peers.
- Are you responsible for any of the architecture and design work or is your focus primarily on coding and development?
Want to assess where they are in their career and what they are capable of.
- Tell me more about your Development background (Including Projects and Technologies)?
Open ended question to get to know a candidate.
- What are your strengths? What will you do if you are asked to work in an area that you have never worked before by the manager?
Open ended question to get to know a candidate.
- What do you feel are the most important thing to look for when reviewing another team member's code?
If they don’t understand this, they don’t know what’s important to include in their own code.
- What kind of tools / languages do you develop in? Which is your favourite & why?
Just to get a sense for what they know.
- What types of applications have you built?
Access functional knowledge.
- What steps do you take to get unstuck when dealing with a really difficult problem/design/bug?
Access problem solving.”
- Tom Mercaldo, The President of Aquinas Consulting