浅谈前端天花板
前端天花板的高低
前端天花板的高低一直是一个争议性很强的话题。在网络上更是各派相争。
支持天花板高的人认为:前端的技术栈很广,每一个领域都是可以长期钻研的。如新的框架,脚手架工具,3D渲染等。
支持天花板低的人指出:从大厂高级别开发的分布来看,无论是P9还是P8,前端的占比都非常低。
而我的观点是:前端确实是一个天花板很低的岗位。
职业天花板
当然,要讨论这个问题,就必须带上范围。这里我想指出,当我们谈论“前端”天花板的时候,我们讨论的实际上是“前端工程师”这个岗位的天花板,也就是这个岗位的发展上限。
不同职业之间的天花板都有高低之分,这是无法避免的。正如我们不会认为一个保安或者清洁工的职业天花板很高。这是由职业的业务价值决定的。
对于雇主来说,只要清洁工保持区域卫生就可以了,至于用什么方式,雇主根本不在意。哪怕他对各种清洁工具了如指掌,干起活来无比勤奋, 这并不会给雇主带来额外的价值。换句话说,清洁工的职业天花板已经被雇主的需求限制了。
技术天花板
此外,前端作为工程师,存在职业天花板的同时,也存在技术天花板,而技术的天花板是无限的。
我们可以简单把前端的方向分为几个部分:
- 渲染框架(Vue,React,Svelte等)
- 脚手架/构建工具(Webpack,Vite,Esbuild等)
- 3D渲染(WebGL,WebGPU等)
分析后会得到一个结论:无论是哪个方向,都可以无限往下钻研。
- 渲染框架 —— 挖掘V8,硬件性能
- 脚手架/构建工具 —— 开始Rust的内卷
- 3D渲染 —— 点亮图形学技能
按照这个思路,如果用技术可挖掘深度定义前端的天花板,那么它就是无限。
定义前端天花板
但别忘了,通常我们开始讨论天花板的时候,我们大概率是在为自己的职业生涯感到迷茫。我们真正关心的是我们的职场还能往上走多远。
那么回到上文关于【职业天花板】的思路,我们来看看前端的业务价值究竟在哪里。
首先,我们要清楚软件产品的目标从始至终都只有一个,就是产品数字化。
以图书管理为例,在没有计算机的时代,我们需要用一个本子记录各种图书的信息和数量。一旦书籍被借走或者入库之后,我们需要在本子上涂改原来对应的数字。这就是图书管理的业务。
当我们把这个业务数字化之后,我们会创建一个图书管理平台,上面显示各图书的信息与数量。用户可以在平台上直接搜索书名寻找自己感兴趣的书籍。一旦确认借阅之后,只需点击按钮,平台上对应的数量就会修改。
总结这个流程,前端实际上只做了两件事:渲染和交互。 这个规律可以应用到任何软件中,这就是前端的业务需求,同时决定了前端的业务价值。
无论往后我们系统的图书量与用户量再怎么增加,图书信息再怎么丰富,图书标签之间的关系再怎么复杂。对于前端来说,业务需求是一样的,只需做好渲染跟交互就足够了。但与前端不同的是,随着业务越来越复杂,后端的业务需求难度会变逐渐高。因此,大家都偏向于认同后端的天花板比前端的高。
前端的方向建议
即便清洁工的天花板很低,但我们还是能找到一些高薪的清洁工作。因为总会有人对清洁有着更高的要求,而可以满足这部分需求的清洁工就成为了清洁领域的专家,专门处理社会上一些特殊的高级需求,如奢侈品翻新,豪车清洁等。
也就是说,对于一个天花板普遍低的工作,对应的最好策略就是往业务价值上疯狂地“卷”,成为领域专家。
回到前端,我们知道前端的业务价值在渲染跟交互。因此,可以大致推断出一些前端高价值领域方向的猜测。
3D渲染
要突破目前前端的渲染瓶颈,方向一定是3D。3D带来的用户体验将会是一个质的提升。想要插足这个领域,我们需要关注 WebGL 和 WebGPU 的动态。目前 WebGL 是被广泛应用的技术,但由于它底层还是 OpenGL 那一套,所以带来的价值是有限的。因此,我认为 WebGPU 应该是现在前端更值得关注的技术。
同时,Web 跟 Native 的斗争仍未结束。我们无法预估将来占据互联网3D技术的赢家是哪一派。虽然 Web 的开发军队很庞大,技术迁移成本更低,但随着 WebAssembly 的发展,Native 在互联网3D的落地效果越来越好,势头完全不比 Web 差。如果选择 3D 这条赛道,开发者需要持续关注业内动态,并提前掌握相关技术。
元宇宙
无论发生了多少负面事件,我仍然相信元宇宙会是互联网的下一个时代。对于前端而言,元宇宙带来最明显的改变就是用户交互方式的变化。 交互方式的改变必须依赖于新的硬件,这就会给现阶段的浏览器带来很大的挑战。在这个背景下,前端向客户端(或者说“大前端”)转移的可能性会非常大。
因此,选择这个赛道的开发者应该做的是,关注业内硬件动态,以及提升“大前端”综合能力。
低代码
除了渲染和交互以外,还有一个方向可以为业务带来价值,就是 “降本增效” 。目前,低代码工具就是应这个需求而生的。与前两个方向相比,低代码工具更像是传统的前端项目。但别忘了,这个产品的需求背景是“降本增效”,这就意味着工具本身必须具体很强大的功能与兼容性。一方面,企业希望这个工具能够满足尽可能多的需求,但又不会给员工带来太大的使用负担;另一方面,企业又希望在添加工具的同时,不额外购置新的硬件。
综上,低代码作为一个产品,它的瓶颈其实来自于产品设计。但从技术角度分析,低代码工具给前端带来最大的挑战应该是兼容与性能。它需要能在市场上大部分的硬件上运行,也要在功能增加的同时保证高效的性能。这个难度完全不亚于上方另外的两个赛道。
开发低代码工具的前端要注意的应该是浏览器的兼容性,以及对 JS 各种语法的了解。同时,为了高效解决这些问题,开发者应该尝试从构建工具入手。其次,性能的提升必须依赖渲染框架的能力。因此,开发者还需要对业内各种渲染框架有深刻的掌握,必要时,甚至可能需要自研框架以突破性能需求。
选择远比努力重要
真实情况是,无论你的技术有多强,如果雇主对你的期待本来就不高,那么一切都是徒劳。
想要突破自己的天花板,就必须主动选择更适合自己的舞台。例如,你决定了将来要死磕3D渲染这一赛道,那么就应该找一家专注这个领域产品的公司就职。不必过分在意公司规模的大小。重要的是,你的能力是公司所需要的。只有这样,公司才会尊重你的技能,你才能感受到自己的价值。
而这,才是对你的职业发展最好的长远对策。