写点什么

前端全职岗位依然坚挺,广大同志不必惊慌

  • 2023-08-21
    北京
  • 本文字数:1987 字

    阅读完需:约 7 分钟

前端全职岗位依然坚挺,广大同志不必惊慌

德国前端开发人员克里斯蒂安·海尔曼(Christian Heilmann)在这篇文章中阐述了前端开发作为全职工作的重要性和价值,并回应了一些人认为前端开发不是“真正”的开发工作的观点。


我最近刚好在找新工作。过程当中,很多雇主在收到简历后都表示满意,但随后又提到我好像太偏前端,想了解我在后端和全栈开发方面有没有经验。在我看来,这股歪风在 2021 年之前就吹过一波,总有人感觉 Web 开发或者说前端专家已经不足以支撑一个全职岗位了。所以我当时就做过如下解释。



请注意:前端开发者擅长的不只是 HTML、CSS 和 JavaScript 这些“简单”的编程语言。前端开发者需要主动为未知的场景构建交互界面,他们的水平直接决定着最终用户的实际体验。



Web 绝不只是普通的编译目标,更是一个允许用户完全控制其外观风格的平台。它也是唯一一个拥有充足弹性,能够承受种种修改调整的平台。Web 同时面向桌面、Android 和 iOS,依托同一套代码库就能实现。只有敬业的前端开发者才清楚自己到底在干什么,而不会愚蠢地指望依靠一款插件或者扩展程序就奇迹般地让所有人都能获得满意的产品访问体验。


这里我还想再强调一句:无论最终选择什么平台,使用哪种编程语言,或者指定什么框架和库,最终跑在 Web 用户设备上的仍然是 HTML、CSS 和 JavaScript。


其中每一样(HTML 相对会好一点)都可能引发性能问题、跨浏览器功能冲突,并在难以预料的低配置、低网络质量环境中造成令人头痛的用户访问障碍。大家都知道,糟糕的性能表现只会让用户愤然“点叉”离去,某些服务无法正常访问甚至可能导致法律和合规性问题,导致我们被送上审判席。


我曾在全球最大的网站(包括 yahoo.com、bing、微软等等)和 Firefox、Edge 等浏览器上做过开发,这些开发商始终专注于一个目标:不要因为响应缓慢或者“错误”提示而被用户怒喷。所以我们得跟众多内部向外部合作伙伴携手,了解他们产品无法正常运行的原因。合作对象可能是扩展程序供应商、框架创建团队或者开发小组。在 Mozilla 和微软的“性能俱乐部”里,我们也一直在遇到各种问题:Web 产品中包含大量毫无意义的 HTML、几乎用不上的 CSS 和让人崩溃的 JavaScript,它们都在被无脑发送给用户。而这么做的原因,就是要让开发人员更便捷、更灵活地用一套框架搞定所有构建工作。


正是由于向全栈开发的转变,导致我们的 Web 体系越来越臃肿,它不仅拉低了客户满意度,也让用户平白付出了不必要的流量。


当然,造成 Web 产品质量堪忧还有另一个原因:组件设计缺乏大局观。


现在的 Web 产品压根不是按照文档或者作为网站进行构建的。相反,它们被视作一个个独立的组件,每个组件都非常灵活以适应不同的运行环境。这听起来很棒,但开发者开始随意进行组装,想起什么就塞进来什么。有时候,我们会发现 20 多种不同的、高度可定制的按钮组件,而它们执行的其实是同一种操作。


有经验的前端开发者肯定立马能察觉到其中的问题,并追踪到相应的资源浪费。


前端开发者究竟该如何定义?他们是:


  • 浏览器性能专家

  • 跨平台开发专家

  • 辅助功能专家

  • 合规知识专家

  • 设计和测试部门间的桥梁

  • 最终用户的客服代表


但很多人的观念都被市场导向给扭曲了。他们之所以看不起前端开发者,主要是因为大多数人根本不知道做好这份工作需要哪些能力。


CSS 和客户端 JavaScript 不算真正的编码也完全是奇谈怪论。更讽刺的是,那些宣称自己不想碰 CSS 的家伙,给出的理由往往是“太难了,太怪了”。CSS 也不单纯是在调色加填充,它有自己的网格、子网格和伸缩布局框,这是一套完全成熟的布局系统,还能实现动画和响应式渲染。通过媒体和容器查询,开发者可以获得惊人的灵活性;通过级联层,大家甚至可以控制浏览器呈现当前设计的具体方式。


所以选择权在雇主手里。你可以聘请前端开发者专职构建自己的产品,也可以随随便便凑合搭建起来,再聘请性能和辅助功能顾问修复其中的问题。但请注意,越是来到生产下游,产品的优化和修复就越是困难,且往往会与新功能产生冲突。


所以当雇主们问我为什么“只做前端”时,我以自豪的心情解释了这一切,并强调我以身为前端工程师为荣。



附录:其实同样的道理也适用于市场上的其他职位。好的数据库工程师能帮你省下几秒钟的加载时间;优秀的云工程师能帮你节约云运营成本;优秀的后端工程师能确保你的服务器只跑有用的负载,用不着为一大堆根本没用的前端代码运行优化管线。如今科技大厂都在收缩规模,所以市场上的人才水准随之提升。也许请一位 10 倍全栈“技术大师”的预算现在没准够请 3 位专项技术专家,毕竟他们刚刚逃离要拿全部收入的 80% 交房租的“宇宙一线城市”。


原文链接:


https://christianheilmann.com/2023/05/09/the-ongoing-defence-of-frontend-as-a-full-time-job/


相关阅读:


Web前端设计开发工具集(JS 框架、CSS 预处理)

只需两步,快速提升你在前端圈的技术力和影响力

从 0 到 1 普及前端知识|内容合集

使用 Lambda Web Adapter 在 Lambda 上 构建 web 应用

2023-08-21 11:522024

评论

发布
暂无评论
发现更多内容

不惧繁杂背景,视频编辑服务一键实现人像抠图

HarmonyOS SDK

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v5.0版已发布

JackJiang

Netty 即时通讯 im开发 开源im

【精通内核】Linux内核写锁实现原理与源码解析

小明Java问道之路

读写锁 锁降级 Linux内核 9月月更 锁唤醒

敏捷Scrum实施落地中的3大典型问题及解法

爱吃小舅的鱼

OKR之剑·理念篇01: OKR带给我们的改变

vivo互联网技术

OKR 目标管理 研发管理

前端高频面试题汇总(一)

loveX001

JavaScript 前端

Java后端每日学点系列?线程知否,List懂否,垃圾回收器晓得否

知识浅谈

线程 垃圾回收器 9月月更

头大了,Mysql写入数据十几秒后被自动删除了

南城FE

MySQL 前端 nodejs

Java知识点锦集1

喜羊羊

9月月更

图系列算法在转转推荐算法召回及粗排的实践

转转技术团队

深度学习 推荐系统 图算法 graph embedding

C/C++生态工具链——gcc/g++编译器使用指南

独立开发者_CoderZZ

c++ C语言 GCC g++ gcc 编译器

恍然大悟,才知道什么是真正的思维导图!

博文视点Broadview

大数据ELK(一):集中式日志协议栈Elastic Stack简介

Lansonli

ELK 9月月更

Java进阶(二十二)使用FileOutputStream写入文件

No Silver Bullet

9月月更 FileOutputStream 写文件

推荐:实现 SVG 动画的 5 个 JavaScript 库~

掘金安东尼

前端 9月月更

想成为数据科学家,哪些技能你必须具备?

雨果

Github点击破百万!这部《从零开始学架构》神书就此霸榜

Java-fenn

Java 程序员 java面试 Java书籍 Java面试题

数据结构与算法 之线性表

喜羊羊

9月月更

Java知识点锦集2

喜羊羊

9月月更

前端二面必会面试题(附答案)

beifeng1996

JavaScript 前端

【C语言深度剖析】深入理解const的用法(趣味小故事解析)

Albert Edison

指针 C语言 const 9月月更

MFC框架下,加密图片加载并显示功能

中国好公民st

c++ 加密 9月月更

数据库的视图该怎么用?

阿柠xn

MySQL 数据库 视图 9月月更

使用 FSM 管理 osm-edge 服务网格入口流量

Flomesh

Service Mesh 服务网格

为什么阿里人成长速度极快?看完他们 Java 架构进化笔记,值得学习

Java-fenn

Java 程序员 java面试 Java学习 Java面试题

Elasticsearch聚合学习之三:范围限定

程序员欣宸

elasticsearch 9月月更

[Go WebSocket] 多房间的聊天室(六)为什么要加锁?不加锁行不行啊?

HullQin

Go golang 后端 websocket 9月月更

数据库的schema与数据类型优化

阿柠xn

数据库 sql 高性能 优化技巧 9月月更

为什么Vue中的v-if和v-for不建议一起用

达摩

Vue

腾讯前端一面常考面试题合集

loveX001

JavaScript 前端

智能湖仓架构实践:利用 Amazon Redshift 的流式摄取构建实时数仓

亚马逊云科技 (Amazon Web Services)

前端全职岗位依然坚挺,广大同志不必惊慌_团队搭建_Christian Heilmann_InfoQ精选文章