It can be hard to know who the best candidate for a position is until you see them in action. The notion is especially true when referring to coding and programming positions.
The first step is to assign the test to the candidates that have made it far enough in the hiring process. When you assign, you can give them a deadline, testing their ability to follow timing instructions.
You also want to give them an idea of what you expect, such as speed over accuracy or preferred knowledge in one section.
The easiest part is giving candidates the test! Most tests have time limits, but you can customize them to suit your desires. You can have them complete the test in-house or allow them to do it on their own time, depending on the kind of work you expect for the position.
Aspects of the Language
A low score in this area is likely a deal-breaker, so this should be the first section you evaluate before making further decisions.
Variables and Data Types
For example, if your project will require Boolean type coding and development, someone that excels in BigInt type or String type may not be the best candidate.
Likewise, if someone has experience with the Boolean type, but lacks expertise in other data types, you can overlook their other gaps in knowledge.
Asynchronous programming is an essential skill for all developers. A candidate that does poorly in this test section may slow down the production of your project. Asynchronous programming allows projects to be completed faster.
A junior programmer that can’t accomplish asynchronous programming regularly may not have enough experience to complete the work you need to be done.
If this is a slow-moving project and you want everything closely monitored, you may not want someone that emphatically performs asynchronous programming.
Familiarity with object-oriented methodologies is a useful skill, as it facilitates the reuse of software components.
The ability to reuse software components can help save time on labor and programming. You want a crafty programmer who will be able to incorporate software components into new code that otherwise may have gone to waste.
Larger companies typically don’t usually care about this, but small projects and businesses can benefit greatly from a thrifty programmer with object-oriented methodologies.
Unfamiliarity with the newest, lesser-known features may not be a deal-breaker, but understanding the new aspects can be the push that makes one candidate stand out over another.
Some people are self-taught, which is impressive but can also mean there are gaps in their coding knowledge because there are simply corners of the program they never ventured to.
But someone with a degree in computer science may have a better understanding of the nitty-gritty aspects.
Where they were educated isn’t everything and should not disqualify one from the position. But it’s worth considering when comparing applicants.
Nevertheless, here are some hard skills questions to ask in the interview to give you a baseline:
- Please explain the differences between WebSockets and server-sent events?
- Can you explain the advantages of using Ajax?
Soft Skills: Soft skills are more difficult to quantify but are equally important to consider when hiring a candidate. Soft skills are a candidate’s cognitive abilities and personal traits that will factor into their work as an employee.
Ask the questions listed below to get a sense of someone’s soft skills:
- Explain your typical process for fixing cross-browser compatibility issues.
- If you could master one technology, which would it be?
- How often do you check Stack Overflow, and what was the last question you remember?
Behavioral Skills: Behavioral skills are how someone handles a specific situation. To get answers about one’s behavioral skills, you’ll need to ask questions about past situations encountered and how they chose to handle them. You can also pose hypothetical scenarios and ask the interviewee how they think they would handle this circumstance.
- Recount a difficult web project that involved many stakeholders and how you went about the project.
- Explain a time when you experienced pushback on a project you were working on. How did you handle the situation, and what were the consequences?
- How do you ensure a website is accessible and user-friendly?
You can always schedule a second round of interviews if you decide you want to ask more probing questions.
Follow the steps detailed in the first section: assign, administer, and evaluate to ensure you use the test to its full potential. Remember, the highest score does not always coincide with the best candidate. The test is excellent for differentiating two or more strong candidates.
The test results can show how quickly and accurately someone can work and how they do under pressure in a professional situation. Some people may second guess themselves too much or work too slowly to meet your company or project’s needs.
As mentioned, the highest score does not always mean the best candidate. When reviewing applications, test scores, and interview answers, consider the following aspects of your project and needs for the position.
You should also consider these aspects when designing your interview questions to ensure you’re asking pertinent questions and getting the most information you can out of a single interview.
Consider if you’re hiring this individual for a specific project or to be an open-ended developer for your company or project. If you hire someone for a very specific and niche assignment, they don’t need to have immense coding flexibility or be a jack of all trades.
The project length can mean two things: when the deadline for the project is, and how long the project is expected to take.
An applicant that only has experience with open-ended projects or short, quick projects may not suit your needs. And if it's not a permanent position, but a temporary one until they complete the project, ensure you mention this in the job posting and interviews before agreeing to hire someone.
A great way to gauge an applicant’s capabilities is to ask them how long they expect the project to take, as this can indicate their knowledge and efficiency.
Consider how advanced the project you’re asking them to take on is, and try to design interview questions to determine how comfortable they are with in-depth coding and programming.
Some people can perform as well as you would expect, and the test shows you their skills in action rather than on a resume.