“The very collaborative environment that all these facets of Node.js development generates permeates the Node.js community.”
Node.js started as an open source project with contributions coming in from many developers around the world. It allows developers to extend it’s functionality with modules that are also open source. Modules have been created by even more developers for different purposes. The very collaborative environment that all these facets of Node.js development generates permeates the Node.js community. Ideally, your candidate has played some part in this giant ecosystem.
The vast majority of Node.js developers will not have contributed to Node.js itself, but may have contributed to a module in the Node.js ecosystem. The main index for Node.js modules is located at https://www.npmjs.com. If you have a candidate that can point to a module they created, or assisted on, then you know you have a good candidate.
Most modules are hosted on Github.com giving all Node.js developers decent experience using the Github repository system. Any developer who has contributed to a Node.js module, Node.js itself, or their own Node.js experiments will have a profile on Github showing their contributions. There are still many more Node.js developers who have never contributed to a module but most will have projects or experiments on Github. An active profile on Github is a characteristic of an experienced Node.js developer.
Talking to The Prospect Directly
The best place to find Node.js developers is going to be in the places they are most likely to frequent. The main Node.js site is run by Joyent at http://www.nodejs.org. This is the main hub of all Node.js activities. This site contains all the important information about Node.js: downloads, documentation, and outreach. There is a job board at http://jobs.nodejs.org. Having a position listed here is bound to get developer attention.
The runner up for most Node.js developer activity is npm. Npm is where all developers go to research modules they need for their projects or to find projects to contribute to. Npm has a page devoted to listing companies trying to hire developers, and you can have your company listed there. The page is located at https://www.npmjs.com/whoshiring. There is an email address at the bottom of the page to contact if you want to place your company on the list.
“Node.js is a server side technology and will often need to talk to other back end components.”
Node.js is a server side technology and will often need to talk to other back end components. A good Node.js developer is going to be familiar with NoSQL databases. Understanding flat databases also applies to being able to implement a caching system to improve performance. MongoDB is one of the current favorite NoSQL databases, and Redis is the best supported cache at this time. Although most Node.js applications will talk to NoSQL databases, all strong Node.js candidates should be familiar with the basics of a relational database system, like MySQL or MariaDB..
Node.js is for more than back end operations. Node.js is popular as a platform for process heavy operations that compliment the front end. For example, templating can be resource intensive and is a common task assigned to Node.js servers. Client devices (phones, tablets, computers) are not guaranteed to be powerful so having a template resolved on the server can be a huge performance gain. A good Node.js developer will understand templating as one of several front end performance improvement techniques along with websockets and offloading work to child processes among others.
Update 7/31/15: An earlier version of the article mistakenly referred to MariaDB as a NoSQL database. MariaDB is a fork of MySQL.