Sometimes, it takes a long and difficult journey to hire the right candidate. You need to filter out clearly unqualified applicants who will lower the overall level of the team and find really talented developers. The technical side of this profession makes the search process much more difficult. So being able to ask the right questions during a software development interview is truly a golden skill.
We've analyzed various guidelines on how to interview IT professionals. In this article, we want to share our recommendations for a software development interview. Here you won’t find stupid things like "what is software development" – only 15 effective questions to hire a high-skilled specialist.
1. Are there any specialized sites or blogs that you read regularly?
This question allows you to make a first impression of a candidate’s awareness of current trends. Additionally, this indicates their enthusiasm in this direction. Such a simple question allows you to determine whether software development is just a job for a candidate or they consider it an interesting hobby.
2. What is w3c?
The candidate is expected to know that w3c is the standard for web development. Ideally, adherence to this standard is expected. There is no need to quote the tasks and goals of w3c introduction, a general presentation and basic information are enough.
3. Can you write tableless XHTML? Are you validating your code?
The table-based design has long been outdated and needs to be eradicated entirely with blocks and different types of positioning. A tableless site will be more dynamic, flexible in development, and easier to supplement/revise in the future.
Today, everyone prefers developers who use HTML elements for their intended purpose in order to fix bugs in the future (if tags are used incorrectly, problems will appear).
Not only the developer's ability to write without using tables is appreciated, but also the real adherence to this concept. Habit is a dangerous thing that can still lead to obsolete use of tables.
4. Which development tool do you like most and why?
Obviously, if a developer prefers to work with Notepad, most likely they’re not qualified enough. This question is simple but very informative. It specifies the competence of the candidate and how organically they can blend into the existing team.
5. Describe or show what you can do in a nix shell
It is necessary to determine how competently a software developer works in unusual working conditions, when the interface differs from the standard one. Along the way, you can ask to show a way to recursively copy a directory, set up limited access to the file so that it can be used exclusively by the owner, etc.
6. What is your favorite programming language and why? Are there any features you would like to add to it?
The second question is especially useful since it is a direct indicator of competence and readiness for growth if a more functional development language appears.
7. How large are the sites you typically build?
You don’t need to look for a developer of high-load sites if you have a relatively small resource, since your project may not match the requirements of the programmer. A specialist who can manage a site with a lot of traffic and a huge number of pages is sometimes helpless in the basic configuration of Apache, since junior technical specialists did it instead. Difficulties can arise at various stages of work, including very important ones – interaction with the database via SQL. Professional developers of small sites can notice details and little things their colleagues working on large projects may miss.
Therefore, it is better to hire a specialist with experience working on projects similar to yours in scale.
8. Can you specify a few sites that are impressive in terms of development (not necessarily candidate’s own creation)?
A source of a candidate’s inspiration can tell a lot about them. There’s no need for the developer to name a well-known, outstanding project, but a professional always notices a unique and interesting resource and sets it as a goal or a favorite.
9. What web technologies do you like? Do you think they will be in demand in the next few years?
Ask the candidate to characterize the web technology and the reasons (e.g. performance, community support) why it can outperform other web technologies. This question evaluates a candidate's passion for development and his skill in tracking new technologies and long-term vision for the future of software development.
10. Something needs to be fixed here
Ask the candidate to take a look at the code and find ways to improve it or fix the bug. This way you will learn about the candidate application testing process and their favorite debugging tools. You can also ask to analyze the code and the algorithms used line by line.
11. I launched the site you created and I see only a blank page. Describe please your step-by-step actions to fix the existing problem.
It’s a question to determine how logical the employee's actions will be to eliminate problems that arise. It will allow you to additionally evaluate the ability to protect your resource from simple flaws to problems on the main server hosting.
12. Have you ever had a tough software development problem and how did you deal with it?
Ask the candidate to share how they approach the problems and their solutions. This will show if they can withstand pressure and if they have enough experience and skills to find an effective way to solve the problem.
13. Are there any skills and technologies you want to improve or learn?
It’s an excellent question that tests the waters in terms of a candidate’s professional growth. Compare the candidate's response to the company's goals and expectations in line with the job provided and associated responsibilities.
14. Please provide an example of your code
Source codes are an important tool for identifying habits, abilities, skills, and knowledge in relation to the selected language and the correctness of the code. A clean, commented, and correct code makes a skilled and highly qualified specialist. When arranging the interview, don’t forget to tell the candidate to bring some code samples.
15. Please submit your portfolio
The portfolio will help determine the candidate's taste, creative ideas, and consistency in the creation of the site and code. The most significant advantages in favor of the developer are large, impressive, and most importantly completed projects. If you see only 5-10 sketches of altered scripts, your candidate is an inexperienced specialist who has room to grow.
P. S. Technical skills are not the only feature of a professional employee. So keep in mind to explore the soft skills and motivation of the candidates. Communication and collaboration are important for developers who need to work with people in non-technical departments, while organization and time management are essential for those who work alone.
P. P. S. You can also ask candidates to complete a test assignment. It can be writing code or solving a more difficult (than in an interview) problem. It goes without saying that the test assignment should be based on the candidates' experience and job requirements.
Now that you know what to ask a software developer during the interview and can be sure that you’ll choose a highly-skilled specialist for your company.
Also, if you’re looking for a professional team of software developers, you can get in touch with Yojji experts. We provide a full range of services in the field of professional development of custom software, application integration, strategic and technological IT consulting, testing, maintenance, and software support.
Our clients don’t just get the work done. They get a team of result-oriented professionals who think systematically and use well-established and time-tested project management methodologies. Dozens of successfully completed projects, thorough quality control, and flexible models of cooperation – that’s what you’ll get if you choose Yojji.
Yojji successfully delivered the project within schedule. They demonstrated excellent project management via weekly sprint demos and promptly made adjustments based on the client's feedback. Their responsiveness and collaborative attitude were key elements of their work.
Yojji was an instrumental part of the client’s team, working closely with them to achieve the product’s success. The team was very collaborative and timely, and their performance was amazing. Additionally, their resources were experienced, professional, and enjoyable to work with.
Yojii is impressive both in quality of development work as well as their commitment. Strong focus on delivery, highly technical personnel, flexible approach that allows for rapid development. Strong processes that allow for solid controls.
We’re very happy with the way that Yojji works, which is why we’ve spent so much money and engaged them for such a long time. We treat them as employees in regard to responsibilities and expectations, and they haven’t disappointed us.
As a company, we find Yojji to be excellent development partners - we cannot recommend them more highly and will be very happy to continue working with them in the future.
They are really nice people with excellent technical backgrounds.
We used Agile project management methodology and were in contact with the team and project manager daily.
They all had a super positive outlook and were dedicated to getting the work completed to a high standard.
Yojji has delivered an accessible product with thorough consideration for the client's requirements. Users have commented on the platform's user-friendliness and speed. Moreover, the team is easy to communicate with and provides frequent updates. Their development and design skills are impressive.