觉得前端简单,这肯定是跟其他领域对比而来的,我想从事前端这个岗位的同学应该不会觉得前端简单吧。
一种思维惯性
这个问题应该有一个预设就是非前端的程序员觉得前端简单,比如后端工程师。
这是一种惯性思维。我开始全职做前端大概是 15 年,之前也是做 java 的,当时前后端分离的概念在很多公司并没有实施,当时叫做 J2EE 企业级开发,前端写的是 JSP (Java Server Pages)看名字就知道,前端的概念跟后端不是泾渭分明的。按照现在前端的概念,我当时做的算是前端的事情基本是:写 JSP 页面,使用的 struts (简单可以理解为后端的 MVC 框架)把数据渲染到页面上,有点想 SSR,用 JQuery 写写 DOM 操作,引入 Bootstrap 的组件快速搭建页面,偶尔会自己写一些 JQuery 的库。
这些东西对于老程序员来说,可能都是经历过得,如果他们用那个时候的经验,来界定现在前端的概念,那必然会得出前端很简单的结论。这些人可能根本没有用过三大框架,react vue angular (可能用过 angular),当然也赖的学了。
前端入门简单
很多人学了个入门,发现很快就能做出页面,甚至可以 cover 大部分前端的需求了,就得出了前端简单的结论,那也无可厚非,确实前端的入门是很简单的。这相比于 Java 一大堆的框架、设计模式,人工智能一堆的理论基础来说,前端确实显得很亲民。但当你学个三五年,你发现前端是没有尽头的。
从广度上来说,写写页面只是前端的一个领域而已,当你听到什么中后台,中前台,H5,无线端,可视化,低代码,工程化的时候,前端的概念早已不是你之前认识的那个前端了。我们把他叫做大前端。觉得前端简单的人,首先是低估了他无线宽广的领域,我们甚至可以说一切与用户交互的界面都是前端的根据地。
从深度上来说,前端有的领域足够你花一生去研究了,比如我之前做了很久的可视化,当时我觉得我已经很牛逼了,什么大屏,什么各种报表,各种动画,3D 地图的需求,我都信手拈来,直到我们团队来了一个可视化专业的博士,天天看论文,写可视化相关的论文,我立马退出了,我觉得我配不上可视化这个领域。
一种鄙视链
在一个项目团队里,经常会出现一种现象,产品经理:设计师:前端:后端:测试 = 1:1:1:3:1 ,我们可以看出一个项目组里,后端的工作量似乎是比前端的工作量是要更大的,甚至由此带来了一种后端比前端难的假象,尤其是在 TOB 的项目里。就像我们还会觉得产品经理简单,测试更简单就是点点页面而已一样。
这是一种鄙视链。既然是鄙视链,就不会一条一条的论据摆出来,各个对比,我们算出一个分数,最后得出一个谁高谁底的结论。鄙视链大部分是凭感觉的,这里面掺杂了很多情绪,很多怨气,是大家长期合作中产生的摩擦,芥蒂。就像我觉得后端天天就是在写 CURD 接口,操作下数据库,简单的要死。每次跟他们联调都不能给我提供满意的接口,还问题贼多,甩锅一流。于是我也会对想要学后端的人说,后端太简单了。这是一种怨气的表达,跟骂娘一样。
前端难题少?
前端还会带来一种无法避免的假象,就是前端的难题少。我们在工作中最常见的难题就是查 bug,尤其是当线上发生问题,我们前端只要是直接回滚,基本就能解决大部分的问题了。但后端代码回滚以后,还有可能是其他系统的问题,中间件的问题,服务器的问题等。系统的复杂性,让后端的难题变得更多,也更难。
相比前端来说,我们的环境被局限在浏览器这个单一的环境里,大部分问题只要刷新下就能快速修复了。而且浏览器和浏览器之间并不相连,因此复杂性也大幅度降低了。从实际的情况来看,前端能够引起的故障的等级和频率确实远远低于后端。甚至去年我搞出了一个 P1 的故障,直接让老板惊呆了,心想前端怎么也能搞出这么大的故障,必须青史留名了。
前端晋升更难
虽然前端有很多够你学一辈子的领域,但在真正的职场上,尤其是大厂里,我们不能忽视一个事实,就是前端的 P9 非常少,跟后端比那是几十上百倍的差距。为什么会这么少呢?只有一个原因,就是盘子小,养活不了这么多的 P9。首先是前端人数就少,其次前端 P8 的老板很多是后端,如何向他们证明前端的价值这不是一件容易的事。至少相比于后端随便调整一下算法,就能帮助业务节省很多的成本,甚至能够创造一种新的商业模式(比如区块链)来说,前端确实需要费尽心机。
很多前端的 P8 都离开了,因为他们觉得真的没啥机会,或者他们没有找到那个在针尖上跳舞的方法。他们绝望了,出去搞知识付费了,去割前端新人的韭菜了。这个是他们擅长的领域。还有一部分 P8 的前端,成功转型开始做业务了,开始搞低代码,搞 node,搞 App ,可以小打小闹的搞一些独立业务了,比如语雀文档的后端是基于 node 的,比如宜搭做低代码搭建页面。这些都是用前端技术创作了新的业务,比如蚂蚁的玉伯算是通过转型做业务做到了 P10 ,可以算是前端的顶峰了,想了解他的心路历程的可以看看这篇文章,膜拜 一下。
然而,想玉伯这样的前端,真的是一个手指头就能数过来。由于前端天花板实在是太低,也会反向的带来前端太简单,不复杂的印象。可这确实是现在行业的现状,我也时长会被这件事所困,现在也渐渐的开始去学一些机器学习,区块链,大数据算法相关的后端技术,还有管理和业务。
总结
总体看来,前端由于其发展时间短,很多问题还没有比较成熟的解决方法,比如成长路径,应用领域等,但作为一个前端人,我们依然是开拓者,不要给自己人为的设置边界,虽然随着我们年龄的增长,这条路越往后越难,可做什么不难呢?幸运的是,我们还处在一个快车道上,还有行业红利,还有无限可能。
到底如何破局,欢迎关注我,我们一起再想想办法。