You may already be aware that JavaScript has enjoyed a surge in popularity of late and it’s not without good reason. JavaScript allows developers to produce quick, app-like websites using just one set of technologies.
In this article, we’ll give you some valuable insights into how to hire the best JavaScript developer for your project.
Project Context
The context of the project you are undertaking will define what kind of JavaScript developer you hire. Below are some key considerations about a project and how they will influence your choice of developer.
Have You Already Started Work on Your Project?
If your project has already been started and you have some prewritten code, your task is much easier. You’ll be looking for someone with a specific skillset using the technologies and frameworks you’ve decided on to take the reins and produce the work you are looking for.
For example, if your codebase uses the React Native framework, you’ll be looking for someone with previous React Native experience. Whatever tech your project uses, you’ll want to find someone with good knowledge who can quickly add whatever features or make whatever changes you are looking for without having to later rewrite chunks of code.
Starting from Scratch
If you are starting your project from scratch, finding the right developer is a little more tricky.
The first thing you need to do is decide on a tech stack: the set of software, languages and libraries used to build your project.
Since new tech is developed all the time, a good way to do this is to choose from the libraries and frameworks that are most popular. Usually there’s a good reason developers have gravitated towards a certain tech stack—it might be that it lets them do the same work more efficiently, or because it marks an improvement in performance and quality.
We’ll provide some helpful charts (with links to live data) to give you an idea of which technologies are strongest at the moment in the Jargon Buster section below. You might also ask someone you trust who knows their stuff for their advice. It’s crucial to know what kind of framework you want to use before you start looking to hire so you can find the most qualified candidate.
What Are You Building?
The next consideration you’ll need to make is exactly what it is you’re building—is it a relatively static-content website, a website that has data that is likely to change, or do you need help with storage and/or APIs? You’ll need a different kind of developer for each of these.
Depending on what you’re building, you’ll want to choose from one of the following:
Front-end Developer
A front-end developer typically uses technologies like CSS, HTML, and JavaScript to create the user-facing portion of a project. If you only want to build a website, look for a front-end developer. They make sure your site looks and functions how you want it to, without worrying about things like servers, databases, and APIs.
Back-end Developer
A back-end developer deals with the stuff behind the scenes that keeps an application ticking. They are responsible for things like databases and APIs, among other things. Their code is usually run in the cloud, it does the bulk of the heavy lifting, and is usually concerned more with data than presentation.
Full-stack Developer
A full-stack developer will take care of both front-end and back-end development. As we established earlier, one of the advantages of JavaScript is that it allows developers to write both front- and back-end code, which means that you only need to hire one developer (or development team) for your project.
What’s the Length of Your Project?
Next you’ll want to think about how long your project is and what kind of tasks you’ll need completed. Depending on the length of your project, you’ll have different requirements of a developer, and you’ll want to restrict your search based on these requirements.
Short with Well-Defined Tasks
If your project requires short, clearly-defined tasks, you’ll be looking to hire a developer who has the specific skills you need to get the job done. This will be cheaper for you as you’ll be able to take on short-term hires who can get in and out and get the job done quickly and efficiently.
You’re most likely to require this kind of work when you already have some code written and just need someone to add features, upgrade or update your project, or perform maintenance.
Long Project
If your project includes more in-depth and complex tasks, chances are it will be longer. This kind of project can last months and will require a developer with a with a broader skillset.
A hire like this will need to be able to perform many different roles and, as your requirements will likely change over time, they’ll need to help you adapt as your project progresses.
Crucially, you’ll want someone who has good communication skills, especially if you aren’t well-versed in tech yourself. Someone who is able to clearly communicate what they are doing and why will help to improve your understanding tenfold.
This is an invaluable asset, as miscommunication can result in dissatisfaction on your part and frustration on theirs. The better you understand each other, the smoother your cooperation will be.
You’ll also want to consider their past experience. Experience working with other languages is a bonus if your project is a back-end or full-stack project. Developers with well-rounded experience tend to be of a higher quality.
Similarly, you’ll want someone who has worked on a larger project before. There’s a world of difference between writing snippets of code meant to perform specific functions and writing a whole codebase over a period of months. Someone experienced in larger projects is much more likely to understand the challenges involved.
Of course, a longer project will cost more. Not only will you have to pay someone over a longer period of time, but it’s also advisable that you contract a higher-rate developer. In this industry, you really do get what you pay for, relative to the region.
It really is worth the cost to have someone reliable and accountable with whom you can build a working relationship over time.
How Important Is Experience?
It might seem counterintuitive, but the amount of JavaScript experience a developer has is considerably less important than how recent that experience is.
JavaScript is brutally fast-moving, so someone with one year’s recent experience is probably a safer bet than someone with five years of experience who hasn’t written a line of code for the past year.
Typical JavaScript code looked completely different as little as three years ago. With a technology that changes so frequently, being current is crucial.
In fact, strange as it may seem, you might find more value in someone who has experience with a different language entirely if that experience was before 2014. Before this time JavaScript wasn’t very highly respected as a language by many skilled engineers. It’s often better to find someone who has experience with two or more languages, especially if they were coding before 2014.
What Should You Be Paying?
JavaScript developers are in high demand. Prices vary greatly depending on a developer’s skill, experience, region, and whether they work remotely or on-site. What you can expect to pay can range anywhere between $200 and $800 per day. The more skilled a developer is, the more expensive their time will be.
It can be hard to evaluate these costs if you’re not familiar with the tech industry. Building software is expensive—even at a low rate of around $300 a day, you probably couldn’t realistically expect to have a working Uber or Twitter clone in under two months. That’s around $12,000 for a low-rate developer, and the less you spend, the less likely it is you’re going to bag a highly skilled dev.
This means that not only might the work end up taking longer, the long-term quality of the software produced is also going to suffer. It’s always worth paying more to get the job done properly. If you hire a cheaper developer now, there’s always the chance you’ll have to hire another developer to fix the work anyway, costing you even more in the long run.
Where to Find a JavaScript Developer
Now you know when you should hire a JavaScript developer and what kind of candidate you should be looking for. But where to find your dream developer?
There are the obvious places: Advertising on job sites like Reed and Indeed, Reddit’s forhire boards, sites for people working remotely, etc. However, as you are looking for a specialist, there are a few more specialized places you should consider when hiring a JavaScript developer.
Firstly, there are a lot of JavaScript-related technology conferences and events replete with keen and knowledgeable industry developers—an excellent resource for people looking to hire tech personnel.
Even if you don’t find who you’re looking for, it’s a great way to learn more about relevant technologies and to network and forge relationships with people in the industry.
Next, there are helpful industry-specific sites that are a great way to find a developer who meets your criteria, as it’s you who will approach them rather than the other way around, allowing you to be selective before you even meet a potential candidate.
They also offer helpful tools for those who are unfamiliar with the kind of work they want done. Simply describe the kind of developer you are looking for and they’ll find the best people to fit that role based on your desired criteria. It should be much easier to detail your requirements using the tips we’ve given you above.
How to Interview a Candidate
As with any job, you’ll need to have an interpersonal interview. This is where you determine whether the candidate is the right fit for the job and whether they’re someone you’d like to work with.
However, in any field that requires such specific knowledge and abilities, you’ll also want to conduct a technical interview, which might be less familiar, so we’ll give you a few tips and resources that should help you along the way.
A technical interview with JavaScript exercises is a great way to put a programmer’s skills to the test. If you’re not so tech-literate yourself—or if you are, but not with JavaScript in particular—your best bet is to find someone you trust who knows JavaScript and ask them to help you with the interview.
You can also get started with this list of JavaScript interview questions (and answers). Beyond that, you can try to use your network to find a suitable interviewer. If all else fails, you might need to find an independent interviewer.
If you are tech literate, it still helps to have some solid examples for reference. Here’s a helpful list of examples—you can pick and choose those that will help to identify the best candidate for you. For more information on the challenges of a technical interview, try this article. For a few more practical tips, check out this concise how-to guide.
The best way to test a candidate’s suitability is to hire them for a day or two of paid work and review the code that they produce. This will give you a better idea of how they perform under real working conditions and will let you know how they go about completing the tasks you set them.
We appreciate that this might not always be practical, but if you are able to give a candidate a trial run like this, it’s well worth the investment.
JavaScript Technology Jargon Buster
JavaScript has a tremendous amount of jargon, so it’s helpful to understand what the most common tools are, what they do, and which are the most popular. Below is a list of the technologies you’ll hear about the most with a brief description of what they are and why you would want to use them.
General
- Lodash — A library which helps developers keep things tidy (used in a high proportion of projects)
- Underscore — Similar to Lodash (in function as well as in popularity)
- ES6 (also known as ES2015) and ES7, ES8, ESNext, etc. — The next version of ECMAScript (the JavaScript standard), which has important new features: New projects should probably be using it!
- Moment.js — For dates and times
Front-end
There are two major categories of libraries that run in-browser.
User Interface (UI) Libraries
These libraries allow developers to put dynamic content on the screen.
- React — Facebook’s focused library for rendering dynamic content
- Vue.js — Newer React-like library
- Angular — Google-backed jack-of-all-trades framework
- Ember — Community-driven jack-of-all-trades framework
UI State Management Libraries
These help lower bug counts in bigger apps, stopping their internal workings from getting messy as they grow more complicated.
- Redux — Functional-style
- RefluxJS — Older, functional-style
- Mobx — Object-oriented
Back-end
The part that sends everything to your browser in the first place. JavaScript on the back end has settled on two de facto technologies:
- Node.js — A tool to run JavaScript on a server (probably in the cloud)
- Express — Used in Node.js to help make APIs
Build Tools
These take your code and transform it into something that a web browser can use.
- Webpack — Opinionated way of building code
- Gulp — Piping, low-config build tool
- Grunt — Configuration-driven build tool
Before we wrap up, it’s important that we make note of Babel, a standard tool that takes your ES6 code and produces code that runs inside a browser today (before ES6 is fully implemented).
You’re Almost There
Now you know what to look for in a JavaScript developer. You also know what they’ll cost, where to find them, and how to interview them and keep up with some of their buzzwords when you do.
All of this should help you land the perfect developer for your JavaScript project. Good luck and happy hunting!