Want to know how to hire the best JavaScript developers?
Read our full guide below
How to Hire JavaScript Developers: Interviewing Best Practices
JavaScript has already become synonymous with client-side web development, and now with technologies like Node.js, JavaScript is quickly gaining momentum as a server-side solution as well.
As a result, nearly every software developer on today’s market feels the need to include at least some degree of JavaScript experience in their resume. On the one hand, this makes finding JavaScript developers pretty easy. On the other, however, screening all of them to find those at the top of their game becomes a real challenge.
We’ve collaborated with Stepan Suvorov, the VP of Engineering at Studytube, to create this guide for identifying the best JavaScript developers, including plenty of expert interviewing tips.
Before the Interview
Taking a careful look at your candidates’ resumes is the first step towards making sure the JavaScript developers you invite to interview are going to be worth your time.
Start by analyzing the list of technologies your candidate specified in their resume. Too many irrelevant skills, like MS Word or Photoshop, can be a bad sign for two reasons.
Firstly, this may mean that the candidate’s knowledge of JavaScript and related technologies isn’t good enough, and they’re trying to compensate for their lack of knowledge with all the other skills they have.
Furthermore, including an eclectic range of competencies could mean that the candidate didn’t bother to read the requirements for the JavaScript position you want to fill and tailor their resume accordingly, making it unlikely they’re actually that interested in working at your company.
You should also check how long the candidate has spent at their previous places of employment. You don’t want to hire a job hopper who’ll leave you in a few months, especially if you’re going to invest in on-the-job training or additional education for the successful applicant.
Everyone can fall by accident into a terrible, unfulfilling job — and these people usually end up quitting after a few months — but if a resume shows the candidate has left several companies in under a year, we recommend looking elsewhere.
What Brings You Here?
Once you’ve sifted through all the resumes you received and invited the most promising candidates to interview, it’s crucial to identify what prompted them to apply to you in the first place.
Questions like “What do you know about our company?” and “What interests you about our business and the position we offer?” may seem overly simple and straightforward, but the way the candidate answers them can reveal a great deal about their professional maturity and level of motivation. Does the candidate provide an explicit explanation of why they’re particularly interested in your vacancy? Have they done their homework on your company, its products and services, and perhaps even you, the interviewer?
The more they know about what you do, and the more enthusiasm or genuine interest they exhibit, the better. If you realize that the otherwise A grade candidate in front of you has simply shotgunned their resume to anyone and everyone, and as such doesn’t really care whether you hire them or not, try your luck with someone else.
Evaluating the Technical Prowess
A great way to evaluate a candidate’s proficiency in the tech skills they’ve put on their resume is to have them evaluate themselves. Ask the interviewee to rank the technologies they have listed on a scale of 1 to 10, with 1 being “I know it exists”, and 10 being “I know it better than the people who created it”.
This technique accomplishes two things: one, it helps the candidate pinpoint their strongest skills, and two, it allows you to check how much the opinion they have of their abilities is accurate once you’ve assessed them more thoroughly in the remaining interview stages.
Say the candidate gives one technology a 4 and another one an 8. You can check their knowledge of the former, and if it’s pretty good, you can expect their knowledge of the latter to be better than stated too.
This works the other way round, too. If you realize that a candidate has embellished slightly (or significantly) when rating themselves, this is likely to remain consistent across the board.
Getting Practical
When it comes to checking your candidates technical acumen, it’s never a bad idea to start with the basics, and then increase the complexity according to the candidate’s level. You don’t want to scare off a promising junior JavaScript developer with overly complicated tasks, but you also don’t want to bore an experienced senior engineer with too many simple questions.
There is no need to get too invested into discussing theoretical concepts. Open a code editor, or an online collaboration tool if you’re interviewing a candidate remotely. This way, they’ll able to illustrate programming concepts with examples, and you’ll get the chance to see their coding style.
If you’re interviewing a junior JavaScript programmer, start by asking them to create an array and fill it with some random numbers. If they can’t do this, they certainly don’t know enough to fill your junior position.
let ar = [];
for(let i=0; i < 100; i++){
ar[i] = Math.random();
}
Once the candidate has tackled this task successfully, you can move on to filling an array with static functions. This is still a pretty basic task, but a little more complicated than the one before.
//...
ar[i] = function() {}
//…
> get the index of an array element
//...
ar[i] = function() {
alert(i);
}
//…
In these first tasks the alert box should display the message “Hello world!” or something of this kind. For the next tasks, we recommend asking the candidate to write a piece of code that would get the index of an array element to show up as the alert message. This way, you can check whether the candidate understands the concept of closure in JavaScript, and also whether they’re familiar with ECMAScript 2015, and the ways this task can be solved using this tech.
Remember, you shouldn’t be looking for a specific result. Take this opportunity to assess how your candidate thinks, how they comment on what they’re doing, whether they suggest alternative solutions, or if they feel the need to ask clarifying questions. Someone who’s capable of analyzing the task will be preferable to someone who just picked up a way to solve a common problem online.
When it comes to middle and senior developers, it’s best to go beyond the nuances of JavaScript and evaluate their fundamental technical strengths and understandings, as well as their creative thinking ability and analytical skills. For example, ask stronger candidates to explain what object-oriented programming is, and then request they demonstrate how it’s implemented in JavaScript.
This again provides the candidate with choice of using the old school approach or ECMAScript 2015, which is the optimal way of tackling this task.
You could also ask the candidate to describe a programming concept that doesn’t exist in JavaScript, like access modifiers, and to explain how they would go about implementing such a feature.
Make sure to check how well the JavaScript developer you’re interviewing understands the other technologies they’ve listed on their resume. For example, if they have jQuery on their skills list, ask them about how this library is organized and what makes it function. There’s a massive number of JavaScript developers who know how to work with jQuery, but are clueless about how it works.
Other Things to Consider
Most developers include links to their GitHub profiles, so don’t pass up the chance to take a look at their contributions to open source projects. They might even have their own pet project, and based on how they approach their individual creation, you’ll be able to get the impression of the quality and the creative thinking they can lend to your business.
Additionally, ask your interviewees about the sources they use to find answers to their programming dilemmas and to keep up with the latest tech news.
At the end of the interview, you could also give the candidate a few tasks on logical thinking to check their analytical and problem-solving skills one last time.
Wrap Up
When you’re conducting an interview, don’t forget to find out more about the candidate’s past projects, and the part they played in them. It’s usually better to have an engineer who understands the way a company functions as a whole, and how they can contribute to its growth and success, rather than a code monkey who doesn’t see beyond the task at hand.
This is especially important if your business is small, meaning that every member of your team has a direct and immediate impact on the quality of your products or services.
An A+ engineer will think about how they can make your company better every day, and this is exactly the kind of mindset you’ll need to succeed.