我喜欢“前端开发人员”这个词。它概括了您工作的本质,如果您关注的是
- 为 Web 浏览器构建 UI
- 这些 Web 浏览器运行的设备和平台范围
- 使用这些 Web 浏览器及其相关辅助技术的人员
前端开发的各个方面的知识已经变得非常深入。我发现,将自己扩展到考虑自己为 全栈开发人员 的前端开发人员越来越多。我认为这很酷,也很有力量,但这并不意味着每个人都需要那么广泛。
Brad Frost 将频谱的各个方面称为“前端的背面”和“前端的前端”。我曾在 大分割中将这条线画在重量级 JavaScript 和非重量级 JavaScript 之间。这些区别并非为了区分人们,而是为了承认频谱以及存在于频谱中的每个人。
在一篇名为 “前端设计、React 和跨越鸿沟的桥梁,” 的新文章中,Brad 指出,“前端设计师”的角色存在于 频谱 中间,介于设计和开发之间,“开发”指的是后端或更深层的 JavaScript 内容。
这些工作呢?
- 制作语义 HTML 标记
- 创建 CSS 代码
- 编写主要操作 DOM 中对象的 JavaScript
- 跨浏览器和设备进行测试
- 优化前端代码的性能
- 与设计师合作
- 与后端和应用程序开发人员合作
在我看来,这听起来像是前端开发人员的“传统”解释——如果真的存在这样的解释——但由于前端开发这个词变得如此广泛,因此对该角色进行重新命名是有意义的。
Brad 在列表中添加了这些职责
- 创建一个展示性 UI 组件库
- 为每个展示性组件编写和记录一个健壮、直观的组件 API
- 确定组件库的灵活度或严格程度
- 将展示性组件作为产品进行维护
我认为这就是这个隐喻的用武之地

我和 Brad 以及你们中的一大批人都是前端开发人员。我们在浏览器中工作,我们关心用户以及他们在哪些地方以及如何与这些浏览器互动。我们做 Brad 列表中的第一件事,比如制作 HTML 和 CSS,与设计合作并进行测试。我们在上面树木的共同树干上共享这些共同的技能。
但 Brad 比我更像一个系统设计师。他的点在树上的位置不同。我不知道我是否特别擅长任何东西,但我的点肯定在树上的其他地方。也许在一个完全不同的分支上,因为我非常喜欢使用 JavaScript 工具和逻辑以及 API 等。Brad 文章的大部分内容都是关于 React 以及在前端开发领域找到一个位置,这个位置不会忽略 React,但会以一种不会让开发的各个方面都跟着走的方式使用它。
把它想象成一座新建筑。它不再是用石头和水泥建造的了。它是将预制的墙壁组装起来,这些墙壁需要相互配合。我们就是知道别人系统是如何工作的以及如何将所有东西组装起来的建筑师,即使我们不是真正建造墙壁的人。我们需要了解每个新系统以及它们如何与旧系统交互。我们将消费者的需求和制造商提供的需求结合在一起。我们是建筑师,我们是前端开发人员,而不是
水管工。
这是一个向非技术人员描述我们工作的非常好的方式!
好文章
作为一个总是做一些事情的人,这些区别对我来说意义不大。我认为我确实考虑过的一件重要的事情是一些主要的“后端”问题,我完全承认这不是我的专业领域,比如数据库性能、安全性和网络问题。在这些情况下,我会请人来完成这项工作,或者就我正在做的事情进行咨询。
所以,这实际上只是你拥有什么技能(或想拥有什么技能)的问题。我曾经认识一个人,他实际上是一个“后端”人员,但他不知何故对 CSS 很感兴趣。他不关心设计,也不碰 JavaScript,他只是擅长让一个有效的页面看起来和设计一样。
我来自欧洲,不是美国,我不理解所有这些关于不同职位名称和角色的文章和咆哮。职位名称在美国真的有那么重要的意义吗?谁在乎你们自己叫什么,重要的是你做了什么。如果你想做更多以设计为主的工作,就大声说出来,告诉你的雇主,如果你想做更多编程,就说出来吧!
每个人都应该明确表达他们能做什么,以及想在这个行业做些什么,这并不是一篇博客文章或一条推文能决定的。这只是博主和“网红”的夸大其词。
职位名称只是一个词,一个人或一家公司随机选择,它没有任何意义,它不代表任何东西。
开始关注工作,而不是职位名称。
职位名称很重要,因为你一起工作的人用它来定义你所做的事情。在我目前的雇主那里被雇用为前端开发人员后,我发现人力资源部门在我的职位名称中添加了“设计师”,这让我感到意外。我觉得这限制了我,让我被困在一个小盒子里,当我要参与代码时,人们会感到惊讶(轻描淡写地说)。当你的职位名称不能准确地描述你的技能,而其他人却用你的职位名称来分配工作时,这非常重要。
不错
我不担心标签,除非它们能告知人力资源和经理。而它们确实如此。
我在 2014 年在一家广告公司工作,他们意识到有些人更擅长 CSS,而有些人更擅长 Javacript。(而且,有些人精通这两者。)因为他们既关心代码功能,也关心设计保真度,所以我们团队中有人可以涵盖整个范围。
但在几乎所有职位描述中,我都看到了对 Javascript 的强调。人们认为“任何人都可以”做 HTML 和 CSS。它们不被认为是困难的技能领域。
鉴于公司也在试图通过让前端开发人员做全栈来减少开发人员的数量,开发人员的工作量正在压缩,但对技能集的重视程度也在下降。
这种偏见会影响我们生产的产品。它会给设计师和 UX 带来复杂性,并进而影响用户。
既然这些是我们的技能领域,我们需要有语言来描述我们所涵盖的能力范围。它们在哪些地方适用,以及我们如何才能生产出功能强大、有用、引人入胜的网站。如果我们不能与我们能力范围之外的人交流,我们就无法准确地表达我们所做的工作。
例如,物理工程有许多学科,土木工程、电气工程、机械工程等。我认为他们现在不会互相争吵,试图为自己争取简单的“工程”职位名称。他们不必将所有专业领域都塞进一个毫无意义的单一术语下。
与其争论“前端”这个简单术语的具体范围,我们每个人都将自己的专业知识作为定义的中心,不如我们继续讨论这个问题,并找到一种语言,使我们能够讨论我们所涵盖的各种不断扩展的能力。
我喜欢这一点,因为作为一个总是感觉到需要不断学习新技能的人,它反而表明,根据你所做的事情来磨练你当前的技能仍然是成为一名优秀前端开发人员的绝佳方法。
我想知道更好的职位名称是否应该是“UI 开发人员”与“API 开发人员”。UI 开发人员将负责用户实际交互的任何内容,而 API 开发人员将负责状态管理以及应用程序如何与服务器交互。API 开发人员也更擅长处理数据库,而 UI 开发人员将拥有真正的设计技能。“前端开发人员”将负责客户端的所有内容,但不被期望成为专家。
这也表明,“全栈开发人员”这个词正变得越来越过时,要同时在所有领域产生专业质量的工作,实在是太难了。
不错。谷歌已经有一个词来描述这种情况了。UX 开发人员。我就是这样。终于找到了。
2004 年 4 月 1 日。
那是 Gmail 推出的日子,它开启了“Web 应用”的现代时代。突然之间,人们意识到,在浏览器中可以做的不仅仅是构建一个略带交互性的网站。你可以使用一些高级的 JavaScript 来构建像一个真正的程序一样工作的東西。
你所说的“大分割”就是从那时开始的。
所以,我的建议是,基于过去 15 年的历史,将 "前端开发人员" 这个词保留为其原始含义,即 HTML/CSS 人员——那些能够在不需要任何 JavaScript 代码的情况下,创建出完美功能且美观的网站的人。对于专注于 JavaScript 编程的另一方,则可以创造一个新的词语, "前端程序员"。
毕竟,每个 "阵营" 都是这样做的。一个是开发网站,另一个是编写网页应用程序。