假设你正想聘用一名Node.js程序员或者外包项目给独立职业者,你将寻找怎样的人呢? 好的应聘者需具备哪些能力呢?这个简短的指南将为了你筛选Node人才提供一些建议。
1)为什么选择Node?
Node 的logo酷毙了
你必须询问自己的第一个问题便是:为什么选择Node?现在许多公司聘用Node开发者,但是他们都是必要的么?我看不见得。
毫无疑问,Node是一个有力的工具,但是它像一头难以驯服的猛兽。它可能并不适合于你的应用。当你雇用一名开发人员之前,停下来想一想,为什么我会选择Node?如果你仅仅只是需要开发一款CRUD (增删查改) 应用,那么你最好是选择聘用一名Django或者Rails开发者,因为他们具有更大的社区和更详细的文档。
2)应聘者的开源项目背景
一旦你确定Node是适合你的,那你会寻找什么样的开发者呢?
评估应聘者最好的地方就是他们的开源作品(open source portfolio)。也就是说浏览他们的GitHub资料或者其他类似的信息。很有可能,应聘者拥有大量的开源Node项目,更好的是,这些项目被细心的维护着。
比拥有自己的Node项目的应聘者更好的,就是那些同时对其他node或Javascript项目提供bugfixes(Bug补漏)和patches(补丁)的应聘者,因为这意味着他们具备良好的交流技能和团队精神,这些是杰出员工必备的。但是如果他们仅仅是对Node项目本身 有贡献只能说明他们能够很好的理解Node的内部结构而已。
3)数据库经验
最后,数据是关键。
Node.js应用有很多可选的数据库,你应该确定你的应聘者熟悉这些数据库。你是需要关系数据库 还是NoSQL呢?为什么?你想使用哪种实现?
这些都没有标准答案,但是可能会有大量的错误答案。确定你的应聘者精通相关的数据库,并对他们有自己的看法,以及具有相应的技能来支持这些观点。
4)非HTTP协议项目经验
虽然Socket.io的logo不炫,但它仍然势不可挡
Node的许多隐藏功能——除了常见的HTTP应用外,它可以事件驱动的方式为任何应用服务。
应聘者具有为非HTTP应用使用Node的经验么? 一些不错的例子可能就是XMPP server/client协议,或者某一点对点协议,像BitTorrent。
即使你的应聘者没有非HTTP协议的开发经验,但他们至少需要有Socket.io的经验。Socket.io是Node上的一款了不起的WebSocket包,它使得交互式的、多用户web应用成为可能。
5)Node部署和DevOps
Node的部署是很棘手的。没有关于如何部署Node的规范文档,因为大部分的Node部署具有不同的需求。
每个Node开发者也必须是一名DevOps,一名涉足运营的开发者。应聘者知道系统奔溃的时候应该做些什么吗?他们知道如何将他们的应用扩展到多个数据库服务器上么?他们如何能实现负载均衡?你将期望你的应聘者解决所有这些问题。
一些部署Node.js的相关难点,请查阅Node.js Deploy Guide ,这其中包含很多部署Node的相关问题。
6)安全性
Node.js领域显而易见的就是安全性问题。
大部分撰写和部署Node应用的资源指南都忽视了安全性。近年来有很多关于Node安全性的大灾难,如果你不想遇到麻烦,那么就确保你的应聘者具有应对安全性问题的能力。
应聘者了解SSJSi(server side javascript injection) 攻击是什么吗?如何避免或减轻攻击的影响?如果应聘者不了解这些,请他们回家吧。
结论
读完本文,关于如何寻找你的下一个项目的NodeJS程序员,你应该有一些较好的认识了。
原文链接:6 Tips For Hiring a NodeJS Developer
发表评论
-
响应式Web设计资源整理
2012-03-02 22:50 839这篇文章是对以往发表在Smashing Magazine上关于 ... -
投身移动开发必须知道的20件事
2012-03-01 23:42 753移动开发需要具体的设计考虑。这个所指的范围非常广,可以从“ ... -
[摘要]Vision Mobile发布2012跨平台开发工具报告 PhoneGap最受欢迎
2012-03-01 23:41 900国外知名调查分析机构V ... -
Facebook发力Mobile Web 推出支付和测试工具
2012-02-28 23:49 819Facebook入场了,在MWC大 ... -
【数据】《移动优先》作者:为什么移动如此重要?
2012-02-28 23:48 938三 年前,前雅虎用户体验总监Luke Wrobl ... -
重新审视Mobile Web
2012-02-28 23:48 699作者简介:Byron是一个 ... -
WebAppTrend周刊:Google Chrome工程师推出Web App开发指南
2012-02-26 00:52 1216从本周起,WebAppTrend将精选一周内(2月20日~2月 ... -
Google Web App开发指南第四章:构建优秀的Web Apps
2012-02-24 23:13 1279构建漂亮的应用 一个web app 的视觉设计不仅 ... -
零基础学习Sencha Touch(资料和教程集合)
2012-02-23 00:41 1286译者注:本篇文章为开发者提供了零基础使用Sencha To ... -
Google Web Apps开发指南之项目样例(上)
2012-02-23 00:41 932如果缺少项目案例部 ... -
如何一步一步制作出高品质Infographic?
2012-02-20 21:23 978译者注:Infographic就 ... -
海豚浏览器CTO刘铁锋:Mobile Web App发展现状及展望
2012-02-18 00:10 877在计算机的发展过程中 ... -
海豚浏览器CTO刘铁锋:Mobile Web App发展现状及展望
2012-02-18 00:09 0在计算机的发展过程中 ... -
新手必读:PhoneGap入门六大问题
2012-02-18 00:08 1026很多PhoneGap新手总是需要一些基础问题的解答,Ado ... -
Google Web App开发指南第一章:什么是Web Apps?
2012-02-18 00:07 925很多人向我问起学习HTML5技术的权威入门资料,我总是毫不 ... -
Lanyrd是如何应用HTML5创建出优秀的移动Web应用的
2012-02-15 00:28 645当很多人都在等待观望 ... -
Appcelerator收购Cocoafish,旨在为Titanium平台提供即时移动云服务
2012-02-15 00:17 914译者注:Appcelerator是 ... -
Android官方文档之Web Apps最佳实践
2012-02-15 00:14 683为移动设备开发web页面或者web应用与为桌面浏览器开发web ... -
Android官方文档之Web Apps调试
2012-02-15 00:13 908概览 你可以使用控制台的Javascript方法调试你的w ... -
Android官方文档在WebView中构建Web Apps
2012-02-15 00:13 801概览 在你的Android应用布局中使用 WebView ...
相关推荐
基于NodeJS的开发者交流社区 本文旨在解决现有的技术交流社区网站的不完善...本系统基于NodeJS的开发者交流社区,旨在解决现有的技术交流社区网站的不完善问题,提供一个全面的交流平台,帮助开发者之间的交流和分享。
项目包含23个文件,包括6个JavaScript文件、3个JSON配置文件、3个Node脚本文件、3个C++源文件、2个头文件、1个Git忽略规则文件、1个说明文件、1个授权文件、1个Markdown文件、1个构建配置文件。该工具旨在为NodeJS...
前言当前存储库包含一个服务器应用程序 ( REST API ),它使用三个模型Item 、 SubItem和SubSubItem实现工作。 必须确保通过了可用的测试。 为了成功完成任务,仅允许您编辑模型,控制器和路由(分别为**/*.model.js ...
高清扫描版深入浅出nodejs 原本图书系列,nodejs开发者的必备!
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,打破了JavaScript只能在浏览器中运行的传统。本指南将深入探讨NodeJS的核心概念、开发工具、模块系统、网络编程...
NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。NodeJS 的设计思想是事件驱动、非阻塞 I/O 模型,这使得它在处理高并发...
postmaster-nodejs 开发者友好运输Postmaster 消除了通过 UPS、Fedex 和 USPS 发送货件的痛苦。 在发货前、发货时和发货后省钱。安装``` npm install postmaster-shipping ``` 用法如果库是通过 ```npm``` 安装的: ...
NodeJS学习手册是一份专为中文用户设计的详尽教程,旨在帮助初学者和有经验的开发者深入理解和掌握NodeJS这一强大的服务器端JavaScript运行环境。NodeJS基于Chrome V8引擎,以其异步非阻塞I/O和事件驱动的特性,为...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...
NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本"NodeJS整理手册文档"旨在为对NodeJS感兴趣的朋友们提供一...
NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端使用 JavaScript 进行编程,极大地提升了开发效率。在 Windows 环境下配置和使用 NodeJS,主要涉及以下几个步骤: 一、安装 ...
nodejs初级教程
在"learn.forge.viewmodels-nodejs"这个压缩包子文件名中,我们可以推测这是一个学习资源,专为那些希望通过Node.js与Forge Viewer进行交互的开发者准备。这个包可能包含了示例代码、教程文档、或者是一个完整的演示...
Node.js 是一个开源、跨平台的 JavaScript 运行环境,它让开发者可以在服务器端执行 JavaScript 代码。Node.js 使用 V8 引擎,这是 Google 为 Chrome 浏览器开发的高性能 JavaScript 引擎。Node.js 16.x 版本是其...
nodejs14.9.0
6. **第六天:数据库集成** - 介绍NoSQL数据库MongoDB,学习如何使用Mongoose等库进行连接和操作。 - 探讨SQL数据库,如MySQL,以及如何使用Sequelize或Knex等ORM工具。 7. **第七天:进阶话题** - 学习Express...
6. **文件系统操作**:Node.js提供了丰富的API用于操作文件系统,这在《node.js开发指南》和《NodeJs入门》中会进行详细讲解。 7. **流(Stream)**:Node.js中的流是处理大量数据的有效方式,适用于读写大文件或网络...
#### 六、NodeJS的安全性与权限管理 - **监听特定端口**:在Linux系统下,如果你想要使用NodeJS监听80或443端口来提供HTTP或HTTPS服务,则需要root权限。 - **使用sudo命令**:推荐的做法是通过`sudo node server....
NodeJS 实际上是对 ES 标准的一个实现,同时 Node 也是一个 JS 引擎。 Node 只对 ES 标准进行了实现,所以在 NodeJS 中不包含 DOM 和 BOM,当然也不能操作 DOM 和 BOM。 NodeJS 的特点是单线程的,传统的服务器都...
因此,了解和掌握如何正确配置这些环境变量是每个开发者的基本技能。 总结来说,JDK 8和Node.js 16.20是开发者工具箱中的重要组件,分别服务于Java和JavaScript的开发。配置好相应的环境变量,如`JAVA_HOME`、`PATH...