`
WebAppTrend
  • 浏览: 54628 次
社区版块
存档分类
最新评论

聘用NodeJS开发者的六个建议

 
阅读更多

假设你正想聘用一名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

 

译文来源:http://www.webapptrend.com/
 WebAppTrend是一个独立的技术博客,关注Web App前瞻和实践,以及智能浏览器发展 

请大家在关注ITeye的同时,关注我们的新浪微博@WebAppTrend  http://weibo.com/webapptrend,Q Q群见官方博客右侧。
分享到:
评论

相关推荐

    基于NodeJS的开发者交流社区.docx

    基于NodeJS的开发者交流社区 本文旨在解决现有的技术交流社区网站的不完善...本系统基于NodeJS的开发者交流社区,旨在解决现有的技术交流社区网站的不完善问题,提供一个全面的交流平台,帮助开发者之间的交流和分享。

    基于NodeJS的Windows注册表操作设计源码

    项目包含23个文件,包括6个JavaScript文件、3个JSON配置文件、3个Node脚本文件、3个C++源文件、2个头文件、1个Git忽略规则文件、1个说明文件、1个授权文件、1个Markdown文件、1个构建配置文件。该工具旨在为NodeJS...

    nodejs-agg-test:Aggregion 的 NodeJS 开发者职位的测试任务

    前言当前存储库包含一个服务器应用程序 ( REST API ),它使用三个模型Item 、 SubItem和SubSubItem实现工作。 必须确保通过了可用的测试。 为了成功完成任务,仅允许您编辑模型,控制器和路由(分别为**/*.model.js ...

    深入浅出nodejs

    高清扫描版深入浅出nodejs 原本图书系列,nodejs开发者的必备!

    NodeJS开发指南_nodejs开发指南_

    NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,打破了JavaScript只能在浏览器中运行的传统。本指南将深入探讨NodeJS的核心概念、开发工具、模块系统、网络编程...

    NodeJS 安装包

    NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。NodeJS 的设计思想是事件驱动、非阻塞 I/O 模型,这使得它在处理高并发...

    postmaster-nodejs:开发者友好运输

    postmaster-nodejs 开发者友好运输Postmaster 消除了通过 UPS、Fedex 和 USPS 发送货件的痛苦。 在发货前、发货时和发货后省钱。安装``` npm install postmaster-shipping ``` 用法如果库是通过 ```npm``` 安装的: ...

    NodeJS学习手册

    NodeJS学习手册是一份专为中文用户设计的详尽教程,旨在帮助初学者和有经验的开发者深入理解和掌握NodeJS这一强大的服务器端JavaScript运行环境。NodeJS基于Chrome V8引擎,以其异步非阻塞I/O和事件驱动的特性,为...

    NodeJS学习笔记和代码

    NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个"NodeJS学习笔记和代码"的压缩包显然包含了帮助初学者掌握NodeJS基础知识和实践技能的所有必要资料。 ...

    NodeJS整理手册文档

    NodeJS是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程,从而打破了JavaScript只能在浏览器中运行的传统。本"NodeJS整理手册文档"旨在为对NodeJS感兴趣的朋友们提供一...

    NodeJS示例

    NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端使用 JavaScript 进行编程,极大地提升了开发效率。在 Windows 环境下配置和使用 NodeJS,主要涉及以下几个步骤: 一、安装 ...

    nodejs.pdf nodejs初级教程 nodejs初级教程

    nodejs初级教程

    Autodesk.forge.viewmodels-nodejs_nodejs_Forge_forgeviewer_Autode

    在"learn.forge.viewmodels-nodejs"这个压缩包子文件名中,我们可以推测这是一个学习资源,专为那些希望通过Node.js与Forge Viewer进行交互的开发者准备。这个包可能包含了示例代码、教程文档、或者是一个完整的演示...

    Nodejs16-x64 windows安装包

    Node.js 是一个开源、跨平台的 JavaScript 运行环境,它让开发者可以在服务器端执行 JavaScript 代码。Node.js 使用 V8 引擎,这是 Google 为 Chrome 浏览器开发的高性能 JavaScript 引擎。Node.js 16.x 版本是其...

    nodejs14.9.0

    nodejs14.9.0

    七天学会NodeJS

    6. **第六天:数据库集成** - 介绍NoSQL数据库MongoDB,学习如何使用Mongoose等库进行连接和操作。 - 探讨SQL数据库,如MySQL,以及如何使用Sequelize或Knex等ORM工具。 7. **第七天:进阶话题** - 学习Express...

    NodeJs图书8本

    6. **文件系统操作**:Node.js提供了丰富的API用于操作文件系统,这在《node.js开发指南》和《NodeJs入门》中会进行详细讲解。 7. **流(Stream)**:Node.js中的流是处理大量数据的有效方式,适用于读写大文件或网络...

    nodeJS文档

    #### 六、NodeJS的安全性与权限管理 - **监听特定端口**:在Linux系统下,如果你想要使用NodeJS监听80或443端口来提供HTTP或HTTPS服务,则需要root权限。 - **使用sudo命令**:推荐的做法是通过`sudo node server....

    NodeJS中文文档精编.pdf 全文免费

    NodeJS 实际上是对 ES 标准的一个实现,同时 Node 也是一个 JS 引擎。 Node 只对 ES 标准进行了实现,所以在 NodeJS 中不包含 DOM 和 BOM,当然也不能操作 DOM 和 BOM。 NodeJS 的特点是单线程的,传统的服务器都...

    jdk8 NodeJS16.20

    因此,了解和掌握如何正确配置这些环境变量是每个开发者的基本技能。 总结来说,JDK 8和Node.js 16.20是开发者工具箱中的重要组件,分别服务于Java和JavaScript的开发。配置好相应的环境变量,如`JAVA_HOME`、`PATH...

Global site tag (gtag.js) - Google Analytics