Node.js’s speed, accessibility, data streaming and sharing capabilities have made it an incredibly popular choice for creating intuitive, responsive and robust web applications — and one of the best-loved technologies according to the StackOverflow 2017 developer survey.
But what should you look for when hiring Node.js talent? And how can you assess a developer’s competency with the framework?
First, it’s important to understand what sets Node.js apart, says Tracy Hinds, education community manager of the Node.js Foundation.
Node.js offers code packages and modules – code written by other developers and made public — that any developer can use to help build certain aspects and functionality in the web applications they’re developing, which makes it easier and faster to build web apps, she says.
What should you look for when hiring developers with Node.js experience? Besides looking for the usual design thinking, logic, collaboration and communication skills you’d need when hiring any developer, there are some things that are unique to Node developers, says Jeff McAffer, director of open source engineering at Microsoft.
“Because the Node ecosystem is huge, and there’s so much code; so many modules already written, one of the first things any Node developer asks when they’re programming is, ‘Is there an NPM for that?’” McAffer says. NPM (node package manager) is an open, online repository for publishing open source Node.js projects and a command-line utility for interacting with that repository. “In other words, developers ask themselves, ‘Has someone already solved this problem and written code that I can use in my own project?’” McAffer says.
“You want your people to know how to look for an existing Node [package] that does what they’re trying to do — that demonstrates commitment to a level of efficiency,” he says. “Then, you need to make sure they can interact with and engage that code and make it integrate with your existing systems so the whole thing works. There are some developers who haven’t been successful who insist on doing everything from scratch, themselves, and they end up reinventing the wheel and wasting time.”
The flipside to this are candidates who claim to be Node.js developers simply because they don’t understand the fundamentals of the ecosystem, and who simply cut and paste from the NPM without having the skills or the experience to integrate, test and debug their projects, McAffer says. That’s bad news.
In addition, CIOs and hiring managers should look for candidates who have already used Node.js in production environments. Also, candidates who have attended developer meetups, conferences and taken advantage of education opportunities, as well as contributed code to the ecosystem and/or filed bug reports, also stand out.
“Not only does this show your commitment to the ecosystem, it demonstrates your coding ability in the real world and it proves to a CIO or a hiring manager that you can collaborate with others and communicate effectively,” Hinds says.