JavaScript

如何聘请JavaScript开发人员

JavaScript开发人员是编程语言(包括ide)方面的专家, frameworks, tools, and APIs. 本指南提供了一些有效的问题样本,以帮助评估候选人对JavaScript掌握的广度和深度.
Share

无风险试用,满意才付款.

Share

您可能已经意识到JavaScript有 最近很受欢迎 这并非没有充分的理由. 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的人,让他们帮你面试.

你也可以从 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 -社区驱动的万事通框架

比较React、Angular、Vue流行程度的饼状图.js和Ember,基于谷歌趋势数据.

UI State Management Libraries

这有助于降低大型应用程序的bug数, 阻止它们的内部工作在变得更复杂时变得混乱.

  • Redux — Functional-style
  • RefluxJS — Older, functional-style
  • Mobx — Object-oriented

比较Redux受欢迎程度的饼状图, Mobx, and RefluxJS, 基于他们在GitHub上的星级.

Back-end

首先将所有内容发送到浏览器的部分. 后端JavaScript已经确定了两个 de facto technologies:

  • Node.js -一个在服务器上运行JavaScript的工具(可能在云端)
  • Express — Used in Node.js to help make APIs

Build Tools

它们将你的代码转换成网页浏览器可以使用的东西.

  • Webpack -固执己见的建筑规范方式
  • Gulp -管道,低配置构建工具
  • Grunt —配置驱动的构建工具

饼状图比较Webpack, Grunt和gulp的受欢迎程度,基于谷歌趋势数据.

Before we wrap up, 重要的是我们要注意到巴别塔, 一个标准的工具,可以获取你的ES6代码并生成今天在浏览器中运行的代码(在ES6完全实现之前).

You’re Almost There

现在您知道在JavaScript开发人员中应该寻找什么了. 你也知道它们的成本, where to find them, 以及如何采访他们,并在采访时跟上他们的一些流行语.

所有这些都可以帮助您为JavaScript项目找到完美的开发人员. Good luck and happy hunting!

现在就聘请一名顶级JavaScript开发人员

Toptal是一个面向顶级JavaScript开发人员、程序员和软件工程师的市场. 顶级公司和初创公司选择Toptal自由职业者来完成他们的关键任务软件项目.

See Their Profiles

Jay Johnston

自由JavaScript开发者

United StatesToptal Member Since November 26, 2013

Coding HTML, CSS, 他从1997年参军时就开始学习JavaScript了, Jay喜欢通过电子商务解决方案为客户带来价值, legacy integrations, 以及优化的PHP和javascript驱动的应用程序. 他首选的DevOps环境是AWS, 他在关系数据库服务(RDS)方面有很强的技能(但不限于):, Redshift, Dynamo DB, 数据迁移服务(DMS), Lambda(无服务器和微服务), Cloudwatch, Cloudtrail, and Event Bridge.

Show More

Tyler Standley

自由JavaScript开发者

United StatesToptal Member Since August 3, 2018

同时具备较强的沟通技巧和模范的职业道德, Tyler带来了他对各种编程语言的实践经验. 不过,最近他的关注点转向了JavaScript库. Throughout his career, 他曾作为核心开发人员在多个敏捷团队中工作过,现在对任何与javascript相关的工作都很感兴趣.

Show More

Justin Michela

自由JavaScript开发者

United StatesToptal Member Since June 26, 2018

Justin是一名技术专业人士,对学习充满热情,拥有18年以上领导团队构建企业级分布式应用程序解决现实问题的经验. 贾斯汀坚信,企业的各个方面都需要合作, 从开发到市场再到销售, 是成功的必要条件吗.

Show More

David Mihal

自由JavaScript开发者

United StatesToptal Member Since January 8, 2017

大卫成年后一直在开发网站和网络应用程序. As a software engineer, 他曾在许多不同的软件公司工作过,从早期创业公司到谷歌. David对许多web框架和环境都很有经验, 但他特别喜欢使用Meteor进行开发.js. 他理解高质量代码的重要性,以及满足进度要求的必要性.

Show More

James Koshigoe

自由JavaScript开发者

United StatesToptal Member Since April 2, 2014

James是一名专注于网络开发的软件工程师和顾问. 他在创业公司和企业业务环境中拥有超过十年的经验,构建全栈技能的解决方案, creative thinking, 对细节的高度关注是关键, 快速周转是最重要的.

Show More

Ahmad Soliman

自由JavaScript开发者

SpainToptal Member Since November 6, 2019

Starting as a Google intern, Ahmad自2015年以来一直领导B2B服务和管理web应用程序的开发. On projects, 他通常做出关于状态管理的架构决策, framework selection, testing strategies, folder structure, 团队负荷和任务分配, 指导初级开发人员. Ahmad还构建了共享UI组件库, reusable CSS code, higher-order components, 以及可扩展和可维护代码库的最佳实践.

Show More

Ricardo Basto

自由JavaScript开发者

GermanyToptal Member Since May 7, 2019

里卡多已经编码20多年了, 参与过10多种编程语言的项目. He has co-founded companies, 在几家成功的初创公司担任首席技术官, 管理由开发人员和产品设计师组成的分布式团队. Ricardo最近的工作范围从数据科学和机器学习到高性能的网络和移动应用程序, including Web3 and crypto.

Show More

Stepan Anokhin

自由JavaScript开发者

RussiaToptal Member Since March 5, 2019

具有扎实的数学知识基础和专业的软件开发背景, Stepan拥有完成大多数软件工程角色的经验和技能. 在他的职业生涯中, 他参与过各种项目,包括大型企业系统, web development, and cloud computing. Stepan总是渴望探索计算机科学的新领域,并应用前沿技术.

Show More

Anton Razmakhnin

自由JavaScript开发者

RussiaToptal Member Since December 19, 2019

Anton是一名资深c#开发人员,拥有超过十年的开发原生(WinForms, WPF) and web (ASP.NET) applications for .NET and .NET Core platforms. 他有领导团队的专长, mentoring developers, automating processes, 开发web应用程序的前端. 他编写的代码非常干净,并且坚持测试,确保准确性和稳定性.

Show More

Davor Badrov

自由JavaScript开发者

CroatiaToptal Member Since December 12, 2019

Davor是一名拥有9年以上经验的高级全栈开发人员, 熟练制定可扩展和有效的解决方案. 精通单片和微服务架构, Davor对于任何对前端和后端技术有深刻理解的团队和项目来说都是一个通用的资产. 具有解决问题和不断学习的热情, 他是推动贵公司发展的最佳人选.

Show More

Nicolas Mazza

自由JavaScript开发者

ArgentinaToptal Member Since December 11, 2019

Nicolas是一名高级UI/UX设计师和web开发人员,拥有超过16年的开发和部署全周期工作经验. He studied web, desktop, 在Image Campus学习电子游戏开发,在贝尔格拉诺大学学习建筑与设计. As an experienced developer, Nicolas isn’t overly picky about projects; what he values is creating and maintaining a good relationship with the client.

Show More

现在注册以查看更多资料.

Start Hiring
See also:Toptal不断增长的社区驱动列表 JavaScript面试必备问题

Toptal Connects the Top 3% 世界各地的自由职业人才.

Join the Toptal community.