您可能已经意识到JavaScript有 最近很受欢迎 这并非没有充分的理由. JavaScript允许开发者仅使用一套技术就能快速创建类似应用程序的网站.
In this article, 我们将给你一些关于如何为你的项目雇佣最好的JavaScript开发人员的有价值的见解.
Project Context
你所从事的项目的背景将决定你雇佣什么样的JavaScript开发人员. 以下是关于项目的一些关键考虑因素,以及它们将如何影响您对开发人员的选择.
你已经开始你的项目了吗?
如果你的项目已经开始了,你有一些预先编写的代码,你的任务就容易多了. 你要找的是有特定技能的人使用这些技术 frameworks 你已经决定掌握主动权,制作你想要的作品.
For example, 如果你的代码库使用了React Native框架, 你会寻找有React Native经验的人. 无论你的项目使用什么技术, 您将希望找到具有良好知识的人,他们可以快速添加任何功能或进行您正在寻找的任何更改,而无需稍后重写大块代码.
Starting from Scratch
如果您是从头开始项目,那么找到合适的开发人员就有点棘手了.
你需要做的第一件事是决定一个技术栈:一套软件, 用于构建项目的语言和库.
因为新技术一直在发展, 这样做的一个好方法是从最流行的库和框架中进行选择. 通常,开发人员被某种技术栈吸引有一个很好的理由——可能是它让他们更有效地完成同样的工作, 或者是因为它标志着性能和质量的提高.
我们将提供一些有用的图表(带有实时数据的链接),让你了解目前哪些技术是最强的. 你也可以向你信任的人寻求建议. 在你开始招聘之前,了解你想要使用什么样的框架是至关重要的,这样你才能找到最合格的候选人.
What Are You Building?
您需要考虑的下一个问题是您要构建的是什么—它是一个相对静态内容的网站吗, 一个网站的数据可能会发生变化, 或者你是否需要存储和/或api方面的帮助? 对于每一种情况,您需要不同类型的开发人员.
根据所构建的内容,您需要从以下选项中进行选择:
Front-end Developer
前端开发人员通常使用CSS之类的技术, HTML, 和JavaScript来创建项目中面向用户的部分. 如果你只想建立一个网站,找一个前端开发人员. 他们确保你的网站的外观和功能是你想要的, 不用担心服务器之类的事情, databases, and APIs.
Back-end Developer
后端开发人员处理保持应用程序运行的幕后工作. 他们负责数据库和api等事务. 他们的代码通常在云中运行, 它承担了大部分繁重的工作, 并且通常更关心数据而不是呈现.
Full-stack Developer
全栈开发人员将负责前端和后端开发. As we established earlier, JavaScript的优点之一是它允许开发人员编写前端和后端代码, 这意味着你只需要为你的项目雇佣一个开发人员(或开发团队).
你的项目有多长?
接下来,你要考虑你的项目有多长,你需要完成什么样的任务. 这取决于你项目的长度, 你会对开发人员有不同的要求, 您需要根据这些要求限制您的搜索.
Short with Well-Defined Tasks
如果你的项目需要短, clearly-defined tasks, 你要找的是拥有完成工作所需的特定技能的开发人员. 这对你来说更便宜,因为你可以雇佣短期员工,他们可以快速有效地完成工作.
当您已经编写了一些代码并且只需要有人添加功能时,您最有可能需要这种工作, 升级或更新您的项目, or perform maintenance.
Long Project
如果你的项目包含更深入和复杂的任务,那么它可能会更长. 这种类型的项目可能持续数月,并且需要具有更广泛技能的开发人员.
像这样的招聘需要能够执行许多不同的角色和, 因为您的需求可能会随着时间的推移而变化, 他们需要帮助你适应项目的进展.
Crucially, 你需要一个有良好沟通技巧的人, 尤其是如果你自己并不精通科技的话. 有人能够清楚地传达他们在做什么以及为什么会帮助你提高十倍的理解.
This is an invaluable asset, 因为沟通不畅会导致你的不满和对方的沮丧. 你们彼此了解得越好,合作就会越顺利.
你还需要考虑他们过去的经历. 如果您的项目是后端或全栈项目,使用其他语言的经验将是加分项. 拥有丰富经验的开发者往往具有更高的质量.
同样地,你需要一个曾经参与过大型项目的人. 编写用于执行特定功能的代码片段与在几个月的时间内编写整个代码库之间存在着天壤之别. 在大型项目中有经验的人更有可能理解其中的挑战.
当然,时间越长,成本越高. 你不仅需要在更长的时间内支付给某人, 但你最好还是选择高费率的开发商. 在这个行业,相对于该地区而言,你确实得到了一分钱一分货.
有一个可靠的、负责任的人,你可以与他建立长期的工作关系,这真的是值得的.
How Important Is Experience?
这似乎有悖常理, 但是开发人员拥有多少JavaScript经验并不重要,重要的是这些经验是最近的.
JavaScript的发展速度非常快, 因此,一个最近有一年工作经验的人可能比一个有五年工作经验的人更安全,而这个人在过去的一年里没有写过一行代码.
典型的JavaScript代码在三年前看起来完全不同. 技术变化如此频繁,与时俱进是至关重要的.
In fact, strange as it may seem, 如果是在2014年之前,你可能会发现有完全不同语言经验的人更有价值. 在此之前,JavaScript作为一种语言并没有受到许多熟练工程师的高度尊重. 通常最好找有两种或两种以上语言经验的人, 特别是如果他们在2014年之前编写代码.
What Should You Be Paying?
JavaScript开发人员需求量很大. 价格因开发者的技能而异, experience, region, 无论他们是远程工作还是现场工作. 你每天需要支付的费用在200美元到800美元之间. 开发人员越熟练,他们的时间就越昂贵.
如果你不熟悉科技行业,可能很难评估这些成本. 构建软件是昂贵的——即使是每天300美元左右的低费率, 你可能不太可能在两个月内克隆出Uber或Twitter. That’s around $12,000 for a low-rate developer, and the less you spend, 你就越不可能招到高技能的开发者.
这不仅意味着这项工作最终会花费更长的时间, 软件的长期质量也将受到影响. 花更多的钱把工作做好总是值得的. 如果你现在雇佣一个更便宜的开发者, 无论如何,你总是有可能雇佣另一个开发人员来修复工作, 从长远来看,这会让你付出更多.
在哪里找到JavaScript开发人员
现在你知道什么时候应该雇佣一名JavaScript开发人员以及你应该寻找什么样的候选人了. 但是去哪里找你梦想中的开发者呢?
有一些明显的地方:像Reed和Indeed这样的招聘网站上的广告, Reddit’s forhire boards, 为人们远程工作的网站, etc. However, 因为你正在寻找一位专家, 在雇用JavaScript开发人员时,还有一些更专业的地方需要考虑.
Firstly, there are a lot 与javascript相关的技术会议和活动,充满了敏锐和知识渊博的行业开发人员—对于希望雇用技术人员的人来说,这是一个极好的资源.
即使你找不到你要找的人, 这是了解更多相关技术、建立网络并与业内人士建立关系的好方法.
Next, 有一些有用的行业特定网站是找到符合你标准的开发人员的好方法, 因为是你来接近他们,而不是他们来接近你, 让你在见到潜在的候选人之前就能精挑细选.
他们还为那些不熟悉他们想要完成的工作的人提供有用的工具. 简单地描述你要找的开发人员类型,他们会根据你的期望标准找到最适合这个角色的人. 使用我们上面给你的提示来详细说明你的需求应该会容易得多.
How to Interview a Candidate
和任何工作一样,你都需要进行人际关系面试. 这是你决定候选人是否适合这份工作,以及他们是否是你想要共事的人的地方.
However, 在任何需要这种特殊知识和能力的领域, 你还需要进行一次技术面试, which might be less familiar, 因此,我们将为您提供一些提示和资源,以帮助您一路前进.
带有JavaScript练习的技术面试是测试程序员技能的好方法. 如果你自己不懂科技,或者你懂, 最好的办法是找一个你信任的懂JavaScript的人,让他们帮你面试.
You can also get started with this list JavaScript面试问题(及答案). 除此之外,你还可以试着利用你的人际网络找到一位合适的面试官. 如果这些都失败了,你可能需要找一个独立的面试官.
如果你是技术通,有一些可靠的例子作为参考还是有帮助的. 下面是一些有用的例子-你可以挑选那些可以帮助你找到最适合你的候选人的. 有关技术面试挑战的更多信息,请尝试 this article. 要了解更多实用的技巧,请查看 this concise how-to guide.
测试候选人是否适合的最好方法是雇佣他们做一两天的有偿工作,并检查他们编写的代码. 这会让你更好地了解他们在实际工作条件下的表现,并让你知道他们是如何完成你给他们布置的任务的.
我们认识到,这可能并不总是切实可行的, 但如果你能给应聘者这样的试用期, 这是值得投资的.
JavaScript技术行话克星
JavaScript有大量的术语, 因此,了解最常见的工具是什么是有帮助的, what they do, 哪些是最受欢迎的. 以下是您将听到最多的技术列表,并简要描述了它们是什么以及为什么要使用它们.
General
- Lodash -一个帮助开发人员保持东西整洁的库(在高比例的项目中使用)
- Underscore -类似Lodash(在功能和受欢迎程度上)
- ES6 (也称为ES2015)和ES7、ES8、ESNext等. 下一个版本的ECMAScript (JavaScript标准), 它有重要的新特性:新项目可能应该使用它!
- Moment.js — For dates and times
Front-end
在浏览器中运行的库主要有两大类.
用户界面(UI)库
这些库允许开发人员在屏幕上显示动态内容.
- React - Facebook专注于渲染动态内容的库
- Vue.js — Newer React-like library
- Angular -谷歌支持的万事通框架
- Ember -社区驱动的万事通框架
UI State Management Libraries
这有助于降低大型应用程序的bug数, 阻止它们的内部工作在变得更复杂时变得混乱.
- Redux — Functional-style
- RefluxJS — Older, functional-style
- Mobx — Object-oriented
Back-end
首先将所有内容发送到浏览器的部分. 后端JavaScript已经确定了两个 de facto technologies:
- Node.js -一个在服务器上运行JavaScript的工具(可能在云端)
- Express — Used in Node.js to help make APIs
Build Tools
它们将你的代码转换成网页浏览器可以使用的东西.
- Webpack -固执己见的建筑规范方式
- Gulp -管道,低配置构建工具
- Grunt —配置驱动的构建工具
Before we wrap up, 重要的是我们要注意到巴别塔, 一个标准的工具,可以获取你的ES6代码并生成今天在浏览器中运行的代码(在ES6完全实现之前).
You’re Almost There
现在您知道在JavaScript开发人员中应该寻找什么了. 你也知道它们的成本, where to find them, 以及如何采访他们,并在采访时跟上他们的一些流行语.
所有这些都可以帮助您为JavaScript项目找到完美的开发人员. Good luck and happy hunting!