6 Tips For Hiring a NodeJS Developer

by Rich Jones

So, you're looking to hire a Node.js developer or hire a Node.js freelancer. What should you be looking for? What makes a good candidate?

This short guide will give you a few tips for things to look out for when scouting Node talent.

1) Why Node?

6 Tips For Hiring a NodeJS Developer
Node has a sweet logo.


The first question is one you must ask yourself: Why Node?

Many companies are hiring Node developers now, but do all of them need to? I'm not so sure. Node is a powerful tool, no doubt, but it's a tough beast to tame. It might not be right for your application. Before you hire a developer, stop and think, why am I choosing Node? If you just need to build a CRUD (create, read, update, delete) application, you may be better off hiring a Django or a Rails developer instead, as they have larger communities and more established documentation.

2) Open Source

Once you've decided that yes, Node is for you, what should you be looking for?

The best place to get started when evaluating a candidate is their open source portfolio. This will usually mean looking through their GitHub profile, or something similar.

Hopefully, your candidate will have numerous open source Node projects under their belt. Ideally, those projects will be well maintained.

Even better than a candidate having their own Node projects would be a candidate who also contributes bugfixes and patches to other node/javascript projects, as this shows that they have good communication skills and good a good sense of community, which is crucial for any great employee. This applies doubly if they have contributions to the Node Project itself, as that shows they have a good understanding of the Node internals.

3) Data

At the end of the day, data is king.

There are many database options for Node.js applications, and you should make sure your candidate is familiar with them. Do you need a relational database or a NoSQL one? Why? Which implementation do you want to use?

There is no right answer, but there may very well be wrong answers. Make sure your candidate is well versed in the options available, has opinions about them and the knowledge to back those opinions up.

4) Beyond HTTP

6 Tips For Hiring a NodeJS Developer
Socket.io has a bad logo, but it still rocks.


Much of the hidden power of Node is that it goes well beyond just the normal HTTP applications. It can serve anything in an event-driven way.

Does your candidate have experience using Node for things beyond HTTP? Some awesome examples might be an XMPP server/client, or a peer to peer protocol, like BitTorrent.

Even if your candidate doesn't have experience with non-HTTP protocols, they should at least have experience with Socket.io, the awesome WebSockets package for Node which makes interactive, multi-user web applications possible.

5) Node Deployment and DevOps

Node is tricky to deploy. There is no canonical document about how to deploy it, as most node deployments have different requirements.

Every Node developer must also be a DevOp, a developer involved in operations. Does your candidate know what to do in the event of a crash? Do they know how to scale their application across many database servers? How should they be doing load balancing? You'll want to address all of these issues with the candidate.

For some of the challenges involved with deploying Node.js, checkout Node.js Deploy Guide, which addresses many concerns about deploying Node.

6) Security

Security is the elephant in the Node.js room. (Wow, I butchered that cliche. Sorry about that.)

Most guides to writing and deploying Node applications completely ignore security. There are going to be some major disasters with regards to Node security in the coming years, and you don't want to be one of them, so make sure your candidate knows their stuff when it comes to security!

Does your candidate know what SSJSi (server side javascript injection) attacks are, and how to mitigate them? If not, you might want to send them back to do their homework!

Conclusion

After reading this, you should have some good ideas about what to look for when seeking a NodeJS programmer for your next project!

Oh, and where should you look for a Node developer? Why, right here at Gun.io, of course, where there are thousands of top developers waiting for you to post a Node career or a Node freelance job!

Questions, comments? Leave them below!