Suppose you want to hire a Node. js programmer or outsource a project to an independent professional, what kind of person will you look? What capabilities do good applicants need? This short guide will provide some suggestions for filtering Node talents.
1) Why Node?
The Node logo is cool.
You must ask yourself the first question: why Node? Many companies now employ Node developers, but are they all necessary? I cannot see it.
There is no doubt that Node is a powerful tool, but it is like a tough beast. It may not be suitable for your application. Before you hire a developer, stop and think about why I chose Node? If you only need to develop a CRUD (add, delete, query, modify, and delete) application, you 'd better choose to hire a Django or Rails developer because they have a larger community and more detailed documentation.
2) Open-Source project background of candidates
Once you confirm that Node is suitable for you, what kind of developers will you look?
The best way to evaluate candidates is their open source work (open source portfolio ). That is to say, you can browse their GitHub documents or other similar information. It is very likely that candidates have a large number of open-source Node projects, which are well maintained.
Better candidates than those who have their own Node projects are those who provide both bugfixes and patches for other node or Javascript projects, this means they have good communication skills and team spirit, which are essential for outstanding employees. However, if they only contribute to the Node project, they can only understand the internal structure of the Node.
3) database experience
Finally, data is the key.
There are many optional databases for Node. js applications. you should be sure that your applicants are familiar with these databases. Do you need relational databases or NoSQL? Why? Which implementation do you want to use?
There are no standard answers, but there may be a lot of wrong answers. Confirm that your applicants are proficient in the relevant database and have their own opinions and skills to support these ideas.
4) Non-HTTP project experience
Although the Socket. io logo is not dazzling, it is still unstoppable
Many of Node's hidden functions-in addition to common HTTP applications, it can be event-driven to serve any application.
Does the applicant have experience using Node for non-HTTP applications? Some good examples may be the XMPP server/client protocol, or some point protocol, such as BitTorrent.
Even if your applicants do not have any experience in developing non-HTTP protocols, they need at least Socket. io experience. Socket. io is an amazing WebSocket package on Node, which makes interactive and multi-user web applications possible.
5) Node deployment and DevOps
Node deployment is tricky. There is no specification document on how to deploy a Node, because most Node deployments have different requirements.
Each Node developer must also be a DevOps developer and a developer involved in operations. Do applicants know what to do when the system crashes? Do they know how to extend their applications to multiple database servers? How can they achieve load balancing? You will expect your candidates to solve all these problems.
For more information about how to Deploy Node. js, see the Node. js Deploy Guide.
6) Security
Security issues are obvious in the Node. js field.
Security is ignored in most resource guides for writing and deploying Node applications. There have been many disasters about Node security in recent years. If you don't want to have trouble, make sure that your candidates have the ability to deal with security issues.
Do you know what SSJSi (server side javascript injection) attacks are? How can we avoid or mitigate the impact of attacks? If you do not know this, ask them to go home.
Conclusion
After reading this article, you should have a good understanding of how to find NodeJS programmers for your next project.
Http://www.webapptrend.com/2012/03/2005.html.