【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

  • 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:521927

评论

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

4步消除漏洞积压

SEAL安全

漏洞修复 软件供应链安全 漏洞管理 11月月更

基于OpenHarmony L2设备,如何用IoTDeviceSDKTiny对接华为云

华为云开发者联盟

云计算 华为云 企业号十月 PK 榜

COSCon'22 第七届中国开源年会圆满落幕

腾源会

开源

大专学历通过大数据培训好找工作吗?

小谷哥

学历通过大数据培训学习合适吗?

小谷哥

Spark+ignite实现海量数据低成本高性能OLAP

张磊

大数据 spark 分布式数据库 Ignite 内存计算

佛萨奇1.0 2.0矩阵公排项目系统开发详情

开发微hkkf5566

固定QPS异步任务功能再探

FunTester

破局 NFT 困境:实用型 NFT 是什么?

TinTinLand

区块链 NFT 元宇宙 web3

ironSource 与 Sensor Tower 宣布达成战略合作,共同拓展应用市场增长潜力

Geek_2d6073

自学前端达到什么水平才能找到工作,来看这套前端学习路线图

千锋IT教育

新能源锂电池极片制造设备如何实现故障智能诊断?

PreMaint

智能诊断 故障诊断 新能源 设备健康管理

java培训学习后怎么样

小谷哥

京东云开发者|经典同态加密算法Paillier解读 - 原理、实现和应用

京东科技开发者

联邦学习 同态加密 隐私计算 加密算法 多方安全计算

用低代码平台搭建低代码平台

iofod jude

如何通过机器学习赋能智能研发协作?

LigaAI

人工智能 智能化 LigaAI 研发协作平台 亚马逊云科技

在web前端学习中如何学习知识点

小谷哥

CnosDB 2.0 产品发布会预告:一切为了万物智联,用 Rust 打造云原生时序数据库

CnosDB

时序数据库 开源社区 CnosDB CnosDB 2.0发布会

【JVM】关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列

冰河

Java 性能优化 JVM Java虚拟机 系统编程

Java应用在docker环境配置容器健康检查

程序员欣宸

Java Docker 11月月更

解密GaussDB(for Influx) :让智能电网中时序数据处理更高效

华为云开发者联盟

数据库 华为云 企业号十月 PK 榜

武汉web前端培训学习前景如何

小谷哥

我偷偷学了这5个命令,打印Linux环境变量那叫一个“丝滑”!

wljslmz

Linux 运维 环境变量 11月月更

记一次TiDB数据库报错的处理过程

TiDB 社区干货传送门

管理与运维

工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

测试人

软件测试 自动化测试 测试开发

软件测试 | 测试开发 | 工作多年,技术认知不足,个人成长慢,职业发展迷茫,该怎么办?

测吧(北京)科技有限公司

测试

修改ElementUI样式

源字节1号

软件开发 前端开发 后端开发 小程序开发

网站停服、秒杀大促…解析高可用网站架构云化

华为云开发者联盟

云计算 后端 华为云 企业号十月 PK 榜

CSS写一个圣诞树Chrome浏览器小插件

肥晨

11月月更 css写圣诞树 Chrome插件

对比四大智能合约语言:Solidity 、Rust 、 Vyper 和 Move

One Block Community

区块链 程序员 编程语言 Solidity Move

文盘Rust -- 起手式,CLI程序

TiDB 社区干货传送门

开发语言

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