How many developers does Uber employ

Hire JavaScript Developers in Ukraine

How can you hire JavaScript developers? Best Interview Practices

JavaScript is already synonymous with client-side web development, and is currently gaining momentum with technologies like Node.js as a server-side solution.

Because of this, almost every software developer on the market today has the need to include at least some degree of JavaScript experience on their résumé. On the one hand this makes the search for JavaScript programmers very easy, on the other hand it becomes a real challenge to test them all in order to find the best developers.

We worked with Stepan Suvorov, VP of Engineering at Studytube, to create this guide for identifying the best JavaScript developers, which also includes plenty of expert interview tips.

Before the interview

Taking a careful look at your candidates' résumés is the first step in making sure the JavaScript developers you interview are worth their time.

Start analyzing the list of technologies your candidate has given on their résumé. Too many irrelevant skills, like MS Word or Photoshop, can be a bad sign for two reasons.

First, it can mean that the applicant's knowledge of JavaScript and related technologies is insufficient, and in this way he tries to compensate for his lack of knowledge with other skills.

Second, strange areas of competency can indicate that the candidate has not read the requirements for the advertised JavaScript position and modified their résumé accordingly, which likely means that they are not really interested in working for your company.

You should also check how long the candidate has worked for previous employers. You don't want to hire a job hopper that will leave you in a few months, especially if you want to invest in on-the-job training or in additional training for the successful applicant.

Anyone can accidentally get into a terrible job that doesn't satisfy them - such employees usually quit after a few months - but if a résumé shows the candidate left multiple companies in less than a year, we recommend others To look for candidates.

What's bringing you here?

After reading through all of the résumés and inviting the most promising candidates for an interview, it's time to find out what inspired them to apply to you.

The questions like "What do you know about our company? ”And“ What interests you about our company and the position we offer you? ”Can seem very simple and straightforward, but the way a candidate answers them can be a lot about his or her professionalism and Does a candidate give an explicit explanation of why they are particularly interested in your position? Has they done their homework and found out about your company, your products and services, and maybe even the interviewer?

The more someone knows about what you're doing, and the more enthusiasm or genuine interest they show, the better. If you find that a real top JavaScript developer has been randomly submitting their resume to many potential employers and doesn't really care whether you employ them or not, you should try your luck with someone else.

Evaluate technical skills

A great way to evaluate a candidate's skills in relation to their technical skills on the résumé is to ask them to self-assess. Ask the interviewee to rate the listed technologies on a scale from 1 to 10 - 1 for "I know they exist" and 10 for "I know them better than the inventors of the technology".

With this method you will achieve two things: firstly, it helps the candidate highlight his or her strongest skills, and secondly, you can check whether your own assessment of the skills is correct by evaluating it more closely in the remaining phases of the interview.

For example, suppose a JavaScript developer gives one technology a 4 and another an 8. You can evaluate knowledge of the lower-rated technology first, and if that turns out to be pretty good, you can expect knowledge of the higher-rated technology to be better than expected are.

This also works the other way around. If you find that a candidate's self-assessment is a little (or significantly) inflated, it is likely to be consistently inflated across technologies.

Get practical

When it comes to testing candidates' technical acumen, it is a good idea to start with the basics and gradually increase the complexity as you go. 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.

Usually there is no need to spend too much time discussing theoretical concepts. Open a code editor or online tool when interviewing a candidate remotely. This allows candidates to illustrate programming concepts with examples and showcase their own style of coding.

When interviewing a junior JavaScript developer, ask them to create an array and populate it with some random numbers. If he doesn't manage that, you are sure to lack the basic knowledge for a position as a junior developer.

let ar = [];
for (let i = 0; i <100; i ++) {
ar [i] = Math.random ();
}

Once the candidate has successfully completed this task, you can have them fill an array with static functions. While this is still a fairly basic task, it has added complexity compared to the previous task.

//...
ar [i] = function () {}
//…
> get the index of an array element
//...
ar [i] = function () {
alert (i);
  }
//…

During these first tasks the alarm box should display the message "Hello world!" or display something similar. In the next tasks, we recommend asking the candidate for code that, when executed, displays the index of an array element as a warning message. This will allow you to verify that the candidate understands the concept of closure in JavaScript, that they are familiar with ECMAScript 2015 and how the task is solved using this technology.

You shouldn't be looking for a specific result. Use this opportunity to assess how your candidate thinks, how they comment on their work, whether they can suggest alternative solutions and whether they feel the need to ask clarifying questions. A candidate who can analyze the task is much more interesting than someone who has read online how to solve such general problems.

For middle and senior JavaScript programmers, we recommend going beyond the nuances of JavaScript and assessing basic technical skills and understanding as well as creative thinking and analytical skills. For example, ask experienced candidates to explain the term “object-oriented programming” and ask them to demonstrate how it is implemented in JavaScript.

This allows candidates to use the old school approach or ECMAScript 2015, which would be the optimal solution for this task.

You could also ask a candidate to describe a programming concept that doesn't exist in JavaScript, such as access modifiers, and have them explain how they would implement such a function.

Check how well the JavaScript developer interviewed understands the other technologies listed on their résumé. For example, if there is jQuery among the skills, then you can ask how this library is organized and how it works. Many JavaScript developers know how to work with jQuery, but they don't know how the library works.

Other things worth considering

Most developers provide links to their GitHub profiles. So don't miss the opportunity to look at their contributions to open source projects. Maybe they even have a personal project so you can get a sense of the quality and creativity that the candidate can bring to your company.

Also ask your interviewees where they can find answers to programming dilemmas and from which sources they get news from the tech world.

To test analytical and problem-solving skills one last time, you can give a candidate a few reasoning tasks at the end of an interview.

Summary

During the interview, don't forget to find out about a candidate's completed projects and what role they played in them. Usually it is advisable to hire a JavaScript developer who understands how business processes work outside of development and can thus contribute more to success and growth than to hire someone who has never looked outside the box as a coder.

This is especially important if your company is small as each and every member of your team has a greater direct and immediate impact on the quality of your product or service.

A top engineer will think about how he can really improve your company on a daily basis, which is exactly the mindset you need to be successful.