- Why did you want to be a software developer?
There might be certain reasons why the interviewee wants to be a software developer, but the most common answer would be, “Because I love coding”. A real developer would be passionate about his work and have a deep focus on his ongoing projects. If someone for being a developer just because they are paid high, then it’s better to ignore him.
- Why should we hire you and not the other applicants?
This is one of the most common questions which are not only asked to software developers but to applicants in other job industries too. So you would better understand what kind of answer the developer should give in order to impress the interviewers.
- Describe the software development process:
The software development process is like a life cycle of particular software. If the developer can answer and describe the process accurately, that means he is well acquainted with the cycle. The process is composed of the following activities: Requirement analysis > Specification > Software architecture > Implementation > Testing > Documentation > Training and support > Maintenance.
- What projects are you working on personally?
There might be some projects on which the developer is personally working on from home. If he is a passionate software developer then he would definitely strive hard to make a project successful. Therefore, you should learn about his ongoing projects which he is personally or professionally working on.
- What projects have you completed till now?
He might have a list of fulfilled projects on which he contributed his skills. Looking at those projects would give you a better knowledge of the practical skills of the developer. You will learn about his experience and the quality of his coding. If he is a bad coder then it will be revealed from those projects.
- What is the biggest problem you have faced in your projects and how did you solve it?
Every developer has supposedly faced problems while working on a project. If he is a genuine coder then he will definitely state the problems he has faced. Also, the developer will explain how he sorted it out and what the biggest challenges while working on the solutions were. Learning about the challenges will help you judge the developer better.
- Why did this project fail?
If a project fails, there must be a certain reason for its failure. If the developer is genuine then he’ll accept the responsibility of the failed project, if it really didn’t work because of the errors he made. This also provides a better experience next time when he works on similar projects.
- Which tools do you use to keep a track of requirements?
There are several ways to keep track of requirements. Although this is a technical question, the developer won’t hesitate to answer it. It can be an excel sheet or any other software he could use.
- Which design patterns have you used and in what situations?
A good developer would state about the design patterns which he has practically used. For example, if in a particular project he has used Singleton, MVC, Template pattern and Iterator, then he would tell only about these. And if a developer is just pretending to be an all-rounder in software development, he would say that he used all design patterns, which is wrong.
- Ask about his programming patterns:
Programming patterns include a number of variables like source control, testing, variable/file/class and application architecture decisions. If the developer straight away refuses to use any variable then it might be an awful answer. Instead, he’s supposed to say like his current employer does not use source control, but he has used it with his previous employers or for his personal projects at home.