Appearance
对于「前端」的一些思考
前言
最近我看了@Tw93大佬关于前端的分享,给我留下了深刻的印象。因此,我想分享一下对「前端」的一些思考。
前端的发展现状
实际上,我们可以通过观察过去几届的D2大会来了解国内前端技术关注点的变化。
结合实际情况,我们可以看出大约从2017年后,前端技术开始趋于稳定。React和Vue作为主要的前端框架持续且稳定发展,同时Webpack成为常用的构建工具。大部分常用的组件和工具已经被开发出来,所以很少需要重新造轮子。因此,近几年前端领域开发者开始将注意力逐渐转向更广泛的领域。例如,vercel、rust、bun、arc、chatgpt等。
前端工程师的发展困境
卷:一个部门一套微前端框架、一套组件库、一套低代码方案、一套 SSR 方案,该怎么办?
迷茫:好写的代码都被写了,好造的轮子都被造了,去画页面又很无聊,新东西又学不动,该怎么办?
天花板低:前端薄,高级岗位少,纯做业务难晋升,地位还不高,做到顶都难到技术管理层,该怎么办?
人才挤挤:从之前的「人才济济」到现在的「人才挤挤」,现在找工作的人能力也很强,该怎么办?
行情不太好:在降本增效的环境下,非正式化比例越来越高,低薪岗位很多,高薪岗位少,该怎么办?
如何去破局
需要先考虑一下,我在前端方面有哪些优势?
科班出身:自己属于计算机专业出身,综合基础比较扎实,学习能力也不错。
愿意折腾:前端属于天然就热爱折腾的岗位,见过前几年前端高速变化发展。
会写后端:熟悉node等服务端知识,能够做一个独立可用产品不需求助人。
用户视角:前端天然距离使用者的操作交互最近,因此对性能/体验/效率工具很敏锐。
那么,了解了自己的优势后该如何破局呢?
快乐地写代码比其他事更重要
首先自己需要真正热爱敲代码。保持持续的兴趣和激情将产生神奇的力量,多去寻找解决问题的满足感和创造有用工具的兴奋感。同时,找到适合自己最舒适的工作方式。自己可以保持生活中的性格不变,但可以改变在工作中的习惯,用自己最擅长的方式拿到结果。一定要注意在工作、学习和生活之间保持平衡。要意识到工作是为了过上更好的生活,学习是为了有更好的工作,它们三者之间可以相互促进。其实如果自己感到不快乐,通常是因为躺平和努力都不够纯粹,导致过得很纠结。
工程师应该很明白地做事情
首先,需要明确自己的定位。程序员应该是工程师,是脑力工作者,是通过科学和技术知识解决问题的专业人员,而不是码农,更不是资源。 因此来了需求后,不能埋头“搬砖”,而是要将事情理清楚,讲明白,做明白。
如何理清问题:找到最原始的需求问题来源,为什么需要解决这个问题,用思维模型去拆问题。
如何讲明白事:用RFC的标准去写文档,站在听众的视角去代入问题,尽可能简单明白,不要赋能。
如何做明白事:当自己都可以讲明白自己要做的东西了,尽管去做就好,除非自己不会敲代码,一般都可以做好。
不做传统前端,去做产品工程师
那什么是传统前端工程师呢?就是使用html、css、javascript来按照设计稿开发用户界面的程序员,也叫做画页面的那个人。
那什么是产品工程师呢?就是能够将痛点/想法用技术方式转换成产品让其发挥更大的作用的程序员,也叫做痛点解决工程师。
我觉得假设年底绩效考评,能够解决两个痛点问题的人要比完成100个页面开发的人更重要。因此我们要去做一名产品工程师。
成为一名产品工程师,我认为需要将技术思路或方案转变成可被销售的产品。当然也不能仅仅局限于前端或者岗位和技术领域,应该更注重用技术和产品思路去解决问题。 那么该如何做好一名产品工程师呢?
- 发现痛点。这个问题你是否觉得很痛但没有好用的解决方案?
- 产品思路。需求判断 -> 提出方案 -> 方案技术可行性分析。
- 画交互稿。产品流程图 -> 产品原型线框图 -> 产品高保真。
- 快速开发。优先解决最痛的问题,快速开发上线第一个版本。
- 产品MVP。产品能力最小闭环流程跑通,是心中想要的样子。
- 推广运营。清晰美观的使用介绍,及时获取用户反馈并迭代。
做一个给业务帮忙的前端
那么我们应该如何做一个给业务帮忙的前端呢?
- 记住数据。业务的现状数据是怎么样的,目标看什么?当前头疼急需解决的事情是什么?
- 视角转换。从工程师写代码的视角往业务用户视角去思考问题,也需持续训练,琢磨我可以做什么?
- 找聪明人。发觉到项目组最聪明、最懂这一块儿的人,多去请教,多去交流,一起互补搞些事情。
- 解决问题。利用前端工程师的专业优势,在过程中去发现痛点,甚至走访用户,解决大家头疼的点。
- 学会借力。多和使用者去交朋友,多和交互设计师去合作,多给后端、测试、产品、运营去帮忙。
提升自己的工程师实力
什么是工程师实力?其实就是可以写在简历上证明自己水平的东西。那么都包括哪些方面呢?
- 专业技能(最基础)
- 能讲明白事情
- 能把事情做成
- 不断学习,折腾有想法
- 懂做易于使用的产品