2020前端前景如何?如何让自己在时代浪潮中立于不败之地?

 

我们现在把前端工程师的时代分为三种:史前时代、1.0时代、2.0时代

 

有一个非常明显的参考,就是看那些「技术视频」网站不同时期的视频类型。

 

史前时代

 

史前时代的前端停留在纯切图仔层面,是后端的附庸,后端不愿意干的活,比如切图、写模板、调样式、还原设计稿这种重复劳动力工作交给前端,这个时候前端靠的是还原设计稿的能力、浏览器兼容性的知识等等,你要真说有啥技术含量,没有,这也是很长一段时间「前端」不被认为是程序员的原因。

这个时候的视频以JQuery 、Bootstrap、切图为主。

 

 

 

1.0时代

 

这个时候随着移动互联网的发展和Node的兴起,前端进入了野蛮生长的时代,三大框架横空出世,各种构建工具、打包工具、转译工具、检查工具你方唱罢我方登场。

 

这个时期也是所有人都感觉前端突然变复杂了,所以能用好一个框架+全家桶成为了前端的标配,其中Vue以极低的入门门槛和友好的文档迅速占领了大量市场,但是注意,这个时候除了少数进行赋能(组件库开发、构建工具优化、前端监控系统支持等等)的前端从事一些有点难度的工作以外,绝大多数前端依然在糊页面,只不过用的工具更复杂了,前后端分离后相对更加自主了

 

这个时候前端视频网站被大量的教你用Vue开发QQ音乐、饿了么、美团等等的课程霸占,所以很长一段时间内面试官收到的简历大量都是饿了么、QQ音乐的项目(结果就是看到关键字直接扔垃圾桶)。

 

 

2.0 时代

到现在,前端已经进入了2.0时代,算是跟正儿八经的软件工程师接轨了,原因有两个主要方面:

  1. C端互联网红利基本消失,大量巨头企业开始转向B端,比如阿里/腾讯云、钉钉、企业微信、飞书,面向企业的工具类项目创造了大量复杂的新需求。
  2. 经济形势继续急转直下,大量企业倒闭,前端(何止是前端、何止是程序员)处在一个人员(注意不是人才)过剩的情况,没有突出能力的前端很难被企业招聘。

 

2.0的前端几乎进入了以下几个方向:的说法第一种赋能领域属于大量的赫鲁晓夫楼组成的小区,难点是规模大,但是赫鲁晓夫楼突出一个简单无脑,有很大的通用性,所以需要底层工具赋能加快研发。

 

第二种属于单座摩天大楼,难点在于本身的工程复杂度就很高,业务通用性差,需要专门定制。

比如现在居然出现了数据可视化的课,口号也是「打造差异化竞争力」,也侧面说明了1.0前端造不具备竞争力了。

 

 

但是这不是打广告,我一开始看这课的题目以为是讲「可视化知识」或者「可视化库开发」的,后来发现还是停留在介绍一点canvas、svg基础知识+套echarts的阶段,实际上还是停留在1.0的前端水平。

 

自己看看可视化的招聘要求和讲得内容符合吗?

 

回到正题,继续说为什么会出现招聘脱钩。

现在企业的需求已经转向以上方向了,即需要2.0的人才,但是市场上的前端大多数还停留在1.0阶段,所以这就造成了招聘的脱钩,大量前端找不到工作、大量企业招不到人才。

比如钉钉文档去年这个时候就开始招聘了,现在一打听说还有几十个HC填不满。

 

所以如果你是一个2.0的前端,你在今年找工作并不难,如果你是一个1.0 的前端,那么会非常难。

 

简短回答是 不好找

宏观上来说,2020 年找工作确实比 5 年前是难了很多,很多公司现在只招技术专家级别,连高级都不怎么招,门槛高了非常多。很多人以为是这波疫情导致很多公司倒闭所导致的,但我的判断是疫情仅仅是短期的减少需求量的因素,而主要因素是国内前端领域 正在进入拼智力的时代

近三年前端技术渐渐趋于稳定,初、中级前端工程师的技术栈和技术水平也趋于同质化,于是竞争进入白热化阶段。 拼周末时间学习新技术已经渐渐不再像几年前一样有助于赢得竞争了。同时,由于大量小公司的需求仅仅是简单的网站页面或 APP,甚至只做简单的小程序页面,用现有的组件化技术已经能很简单就能满足需求了;工程上也由于宽带和手机网速的加快,以及 Webpack 配置(甚至 Vite/Snowpack)的成熟,已经没有太多需要前端工程师来搭建复杂的构建系统了。在这样的生态位上,自然就非常难以进化。

于是自然便出现了我常说的「技术断层」的趋势,也就是小公司业务太简单,从而限制了眼界和思考,于是技术就难以进一步上升。而技术无法进一步提升,也导致了无法进入大公司,便没办法接触复杂业务场景。这里就出现了死循环,上升出现了停滞。

当然,我上面说的都是宏观上的情况,是我观察到的大部分人的现象,要注意宏观不能用于判断微观个体。


那怎么办?加扣扣群一起加入学习交流群1140931820

这就需要我最开始提到的:拼智力。这里智力并不是指天生的智商,而是指动脑筋思考。

在把基础知识学扎实编码能力练扎实(多刷题)之后,要开始多思考如何去抽象业务

同时,也要拓宽视野,把所看到的名词都去搞明白到底是什么意思,比如各类编程思维(函数式编程、流式编程)、大家都在聊的 Faas/Serverless、微前端等,甚至是 React Native/flutter 都去搞明白这些技术的工作原理以及最关键的设计思想,不要仅仅停留在「听过」、「用过」。拓宽视野能帮助你获得更多的设计思想,有助于你获得抽象业务和做架构设计的灵感。

也要建立影响力拓展人脉。影响力包括在公司内的和业界的,在公司内有良好的影响力能有助于推动技术项目落地,也会有更多人和机会来交流各种方案,进一步提高影响力和技术经验,形成正向循环。在业界也基本类似,做开源项目或找工作,如果在业界有影响力都能有不少的帮助。有不少公司更愿意录取有业界影响力的人,愿意给予更高的 offer。在业界有影响力后,还有助于认识其他有影响力的人,进入小圈子,进而能与更多高手一起交流,获得知识,换工作时也更方便。建立影响力的途径就是对外进行输出,多做分享(这也会反过来逼自己去学习东西),多写文章、多写回答,认真对待。


国内前端界进入这个拼智力的时代我判断是必然的且合理的,正如 「研发应该就是一种智力密集型的活动,不应当放弃思考和抽象,跟人去拼体力」,国内前端界从量变(拼人数、时间)到质变,进入了拼智力的时代,这助于国内前端行业的更好更良性地发展。

你可能感兴趣的:(前端,2.0时代,前端工程师,html5,typescript,css3,css,编程语言)