前端已死?全栈当立?取法于中,仅得其下。

by Liu Yue/2023-02-21

    开篇明义,前端已死?根本就是扯淡。前端技术精微渊深,驳杂宽广,除了基础的 HTML、CSS 和 JavaScript 技术外,前端技术还涉及到许多其他相关技术和工具,比如前端框架、UI 库、自动化构建工具、代码管理工具等等。这些技术并没有死,反而生态圈愈发健壮,但为什么前端已死的论调甚嚣尘上?

    前端市场萎靡

    前端技术并未消亡,但前端工程师的坑位却逐年减少,为什么?是由于竞争加剧、市场饱和、经济衰退等多种因素导致的。每年都有海量的应届生进入市场,但是岗位就那么多,三年经济下行,不是短时间能够缓过来的,所以前端岗的HeadCount比往年少也是合乎逻辑的,再者说,所谓出来混,迟早都要还,从2015年开始,前端岗市场就是一片蓝海,大部分人都吃到了前端市场的红利,但谁也不能保证一直在风口,所以蓝海变红海,也符合市场规律。

    此外,从技术层面来看,前端市场萎靡有下面几个原因:

    技术迭代快:前端技术在不断更新和迭代,新的技术和框架层出不穷。对于企业而言,要求前端工程师能够跟上技术的发展,并且具备不断学习和创新的能力,因此前端岗位的技术要求也会相应变高。

    工具化、标准化:前端开发工具和标准化规范不断更新和完善,如Node.js、Webpack、ESLint、TypeScript等,前端工程师需要具备使用和运用这些工具和规范的能力。这也使得企业在招聘前端工程师时,更加注重前端工程师的技术基础和工具应用能力。

    设计和交互要求提高:现在的前端开发要求不仅仅是实现静态页面和基本交互,更需要结合设计和交互,实现复杂的页面和动态效果。这对前端工程师的设计和交互能力也提出了更高的要求。

    全栈工程师的兴起:全栈工程师是指具备前后端开发能力的工程师,他们不仅能够开发前端,还能够处理后端业务逻辑和数据库等技术。在一些公司中,他们更倾向于招聘全栈工程师,而非仅仅只招前端工程师,说白了,前后端分离项目,只招一个全栈的成本明显比招一个前端和一个后端的成本要低得多。

    人工智能等新技术的涌现:随着人工智能、大数据、云计算等新技术的涌现,企业对前端工程师的需求也会发生变化。前端工程师不仅需要具备前端技术方面的能力,还需要了解其他相关技术,如机器学习、数据可视化等,ChatGPT的风靡也恰如其分的说明了这一点。

    其他行业类比

    一些岗位的衰退甚至消亡,都有其背后的深层次原因,类比的话,目前前端岗有点类似足球行业的古典前腰位置,古典前腰位置指的是足球比赛中的前腰球员,通常在球队阵容中处于前场中央位置,负责组织进攻和创造得分机会。这个位置在过去的足球比赛中非常重要,但随着现代足球的发展,它逐渐消失了。

    其中的一个原因是足球比赛的战术和风格发生了改变。在过去,球队的阵容通常是4-4-2或者4-3-3这样的传统阵型,其中前腰球员有着非常重要的位置。然而,现代足球比赛中,球队更多的采用了4-2-3-1或者4-1-4-1这样的阵型,前腰球员的作用被更多地分摊到了其他球员身上。

    另一个原因是现代足球比赛中球员的身体素质要求越来越高,运动员需要具备更好的体能、速度和耐力。随着比赛节奏的加快,球员需要更快地反应并更加活跃地在场上奔跑。这也意味着更多的球员需要参与到防守和进攻中,而前腰球员的作用也逐渐减少。

    此外,现代足球比赛中的技术和战术变化也导致前腰球员的角色发生了改变。如今,球队更多地依靠侧翼球员和边后卫来制造得分机会,而前腰球员的作用则变得更加多样化,需要具备更全面的技术和战术素养。

    比如曾经的世界杯金球奖获得者,哥伦比亚传奇前腰哈梅斯·罗德里格斯,江湖人称J罗,2014年巴西世界杯后,西甲豪门皇家马德里斥八千万欧元的巨资将其引进,一时风光无两,但今时今日,正值当打之年的J罗却混迹在欧洲末流的希腊球会,泯然众人矣。

    所以,足球比赛的发展和变化是导致古典前腰位置消亡的主要原因之一。虽然这个位置已经不再像过去那样重要,但是球员的多样化角色和更加全面的技能要求使得现代足球比赛更加具有挑战性和趣味性,同样地,如果想在前端岗位保持竞争力,就需要增加其他业务层面上的技能,或者展示出能够在业务上独挑大梁的多面手特性。

    如何破局

    虽然前端岗位减少,竞争加剧,但这并不是世界末日,除了前文提到的转型全栈工程师,变身行业多面手,作为前端工程师,也可以选择在前端这个技术栈上持续精进。

    金庸先生的传世名作《神雕侠侣》中,有一段情节是杨过在深山中找到了一代剑魔独孤求败的“剑冢”,其中刻着这样一段话:

剑魔独孤求败既无敌于天下,乃埋剑于斯。呜呼!群雄束手,长剑空利,不亦悲夫!

    独孤求败于此葬下了其一生所用的四把剑,其中第二柄为“衣冠冢”,只有描述而无实物。

    事实上,剑冢所葬四柄剑,就代表了四个不同的前端技术阶段。

    第一把剑是一把青光闪闪的无名利剑:

凌厉刚猛,无坚不摧,弱冠前以之与河朔群雄争锋。

    独孤求败弱冠之前所用的这把剑就和他的少年心性一般,年轻气盛,锐不可当,好勇斗狠,争强好胜,但自身技术还欠打磨,也就是我们刚刚入门前端的阶段,也许已经熟练掌握了某一个前端库,比如JQuery,但JQ却已经并不足以让我们竞聘上任何一个前端岗,所以,只能与河朔群雄争锋,而不是技盖群雄。

    第二把剑是久历江湖之后,在恶臭的职场浸染了以后,能否还能保持初心,即进入到了“修心”的境界:

紫薇软剑,三十岁前所用,误伤义士不祥,乃弃之深谷。

    是的,不忘初心,追求技术的纯粹性,不会因为环境或者其他原因而轻易改变之前的那个少年。

    第三把就是誉满全球的玄铁重剑:

重剑无锋,大巧不工。四十岁前恃之横行天下。

    这是独孤求败四十岁之前所用的兵刃,天下已无抗手,无人能出其右。类比的话,作为前端工程师,我们已褪去了年轻时候的锋芒毕露,不再争论那个框架更好,而是将目光投入更底层的算法和数据结构。

    第四把剑却是一把剑柄已经腐烂的木剑:

四十岁后,不滞于物,草木竹石均可为剑。自此精修,渐进于无剑胜有剑之境。

    独孤求败从与人争胜变为了与己争胜,正在开辟一条没有人走过的剑道。是的,正如前端界的独孤求败:尤雨溪(Evan You),早已超凡入圣,研发出大道至简,重剑无锋的Vue.js框架之后,同样自此精修,渐进于无剑胜有剑之境,以前端技术傲睨一世,挟博纵辩,务欲胜人,所作亦颇博丽窈渺,声名甚著。

    试问,如果我们达到了“木剑”的境界,你还会在乎什么所谓的“前端已死”吗?前端死不死,Web亡不亡,都已经和你没有任何关系了,因为江湖上全部都是你的传说,你也将发出:“呜呼!群雄束手,长剑空利,不亦悲夫!”的慨叹。

    结语

    前端未死,前端技术仍在,市场凋敝,岗位要求变高。但那又如何呢,独孤前辈的事迹在激励着我们,与其悲鸣,不如精修,临渊羡鱼,不如退而结网,所谓技术,心有拘囿,便不能纯。

    最后,用古人先贤的传世名句和诸位前端同僚共勉:

前端犹如西山日,岗位终如草上霜,半世风流半世僧,看似无情胜有情。