NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

评论

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

用EasyRecovery“监控硬盘”功能检测硬盘问题的方法

淋雨

数据恢复 EasyRecovery 文件恢复

快来,这里有23种设计模式的Go语言实现

华为云开发者联盟

线程 设计模式 单例模式 Go 语言

6月26日,HarmonyOS开发者日将于杭州举办

科技汇

JavaScript 学习(三)

空城机

JavaScript 大前端 6月日更

详解 Go 程序的启动流程,你知道 g0,m0 是什么吗?

煎鱼

Java php 后端 Go 语言

Python——字典的使用

在即

6月日更

项目经理如何有效管理需求变更?

万事ONES

需求管理 ONES 项目经理

校友会小程序开发笔记三:数据库设计

CC同学

小程序云开发 校友录小程序 校友会小程序

请阐述vue的diff算法

法医

Vue 大前端 6月日更

618 技术特辑(二)几百万人同时下单的秒杀,为什么越来越容易抢到了

华为云开发者联盟

数据库 服务器 流量 618 弹性负载均衡

开发者如何构建技术影响力

不脱发的程序猿

程序人生 开发者如何构建技术影响力 技术影响力

一分钟开发一个表单

蛋先生DX

vue.js 表单 动态表单 6月日更

缓存的世界 Redis(二)-持久化

卢卡多多

redis redis持久化 配置文件持久化 6月日更

PO 就是Scrum中的产品经理?别再搞不清啦

万事ONES

项目管理 Scrum 敏捷开发 PO ONES

MySQL中的pid与socket是什么?

Simon

MySQL

校友会小程序开发笔记二:功能需求设计

CC同学

小程序云开发 校友录小程序 校友会小程序

react源码解析13.hooks源码

全栈潇晨

React

618 技术特辑(一)不知不觉超预算3倍,你为何买买买停不下来?

华为云开发者联盟

电商 图数据库 知识图谱 618 图引擎服务

阿里云视频云 Retina 多媒体 AI 体验馆开张啦!

阿里云视频云

阿里云 短视频 视频处理 媒体处理 视频制作

密码学系列之:feistel cipher

程序那些事

加密解密 密码学 程序那些事

JAVA笔记(三)--变量及运算符

加百利

Java 程序员 后端 6月日更

并发王者课-铂金1:探本溯源-为何说Lock接口是Java中锁的基础

MetaThoughts

Java 多线程 并发 并发王者

【LeetCode】石子游戏Java题解

Albert

算法 LeetCode 6月日更

教你两招,解决数据膨胀

华为云开发者联盟

数据 GaussDB(DWS) VACUUM 数据膨胀 FSM

校友会小程序开发笔记四:UI基本元素设计

CC同学

小程序云开发

可视化协助矿山,打造“高效率运营战略”,年降成本500W

一只数据鲸鱼

数据可视化 工业4.0 智慧矿山

译文 | AI产品经理:如何打造一款SaaS+AI的优质产品

LigaAI

产品经理 研发管理

针对 MySQL IO 特点进行的存储优化揭秘

焱融科技

MySQL 技术 分布式 高性能 文件存储

拍乐云受邀2021亚太CDN峰会,技术创新赋能行业新价值

拍乐云Pano

RTC

校友会小程序开发笔记一:背景与技术方案的选型

CC同学

小程序云开发 校友录小程序 校友会小程序

Bzz节点分币系统开发,云算力矿机租赁系统搭建

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