限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

月影:别更新了,学不动了?千万别有这样的心态

  • 2020-12-30
  • 本文字数:3301 字

    阅读完需:约 11 分钟

月影:别更新了,学不动了?千万别有这样的心态

“别更新了,学不动了”、“前端十八个月难度翻一番”、“Deno、TypeScript 等新轮子层出不穷,我到底该不该学”,这是前端工程师平时在工作场景中,最常提到的玩梗。


是的,前端圈子变化确实挺快,React 还没学明白,Vue 就来了。Vue 2.0 还没搞清楚,3.0 就发布了。作为一名本来工作就很忙的前端工程师,你自然需要思考,到底我还需要投入多少时间去追那些新的技术?如果追,到底该怎么追?


对于这些问题,近期加入字节跳动的前 360 高级技术总监、奇舞团团长吴亮,也就是我们熟知的月影,之前曾经聊过自己的想法,他说,如果一个行业的新东西层出不穷,说明这个行业一直在高速发展,这本身对于从业者来说是一个非常好的事情,因为这说明这个行业中有更多的机会和成长空间。


至于怎么学,以及技术焦虑的问题,他也有自己的见解。他认为,如果你不盲目地去追求所谓的“时髦”技术,不去刻意担心自己是否落伍,而是去多观察这个行业,找到技术发展内在的规律和脉络,那么你就知道该如何前进,不会有任何恐慌。


12 月 6 日,在极客时间组织的主题为“前端人,咱别盲目追求新技术”的开放日活动上,知名技术专家月影分享了自己的观点。以下内容根据其演讲速记整理而成。


技术更新带来发展红利


首先我们得承认一点,前端行业发展得很快,各种新的技术不断出现。有人说今天学了一个 Gulp,明天又学一个 Grunt,后天再学一个 webpack,感觉好像永远也学不完这些东西。


为什么新技术层出不穷呢?


是因为现在的需求、使用场景和我们 5~10 年前是不一样的。用户对我们有更高的要求,并且应用场景和系统更加复杂了,所以我们才会用这些更加强大的工具,去解决那些遗留下来的问题。


比如,过去我们基本不会去想项目复杂化、代码工程化这样的问题,但现在这样的诉求却越来越多了,所以我们的技术是需要不断更新迭代的。只有这样,我们才能跟得上行业的发展。


当你在一个技术飞速更新的行业里面,你不要觉得害怕,你不要觉得自己很有压力,反过来,你应该要庆幸自己选择了一个快速发展的行业。因为这个行业在快速发展的时候,它是有红利的,你我作为从业者,就能从中受益。


因此,你要想一下,如果这些技术不断更新的话,你手里面的工具会变得更好,你会有更好用的东西,而不是说这些技术更新了,我还得去学,学不动了怎么办,千万别有这样的想法。我们应该更聪明地去看待这个问题,我们要仔细想想应该去学什么,以及投入时间到哪些方面。


我们要去学习前端基础知识


在前端行业里面,我们应该从整体来看待我们要去学习的东西,我们要去思考一下在前端这个行业里面,它的知识是怎么分类的。


就前端工程师来说,本质上还是软件工程师,所以我们其实还是在做软件开发的事情。在软件开发领域,其实有很多的基础知识,比如说数据结构与算法、数学基础。我写的极客时间专栏《跟月影学可视化》,里边其实有很多的篇幅在讲解基础的数学知识,那为什么要讲解这些基础知识呢?是因为我们在做可视化图形渲染的时候,没有数学理论你就很难理解渲染模型。


除了数学知识,还有很多计算机科学领域的理论基础,也是我们需要花一些时间去学习的。


这些知识往往是比较成熟的,相对来说不会有太大的变化。因此,我们还是需要花费一些功夫,好好地学习基础知识,把这些基础给打牢。


我们要去学习前端领域知识


除了基础知识之外,还有一类知识叫领域知识,领域知识里面又分成两类,一类叫做通用领域知识,另外一类是专用领域知识。


通用领域知识:定时更新,定时学习


在前端里面什么叫通用领域知识?举个例子,在我们做图形学的时候,你学了数学知识以后,你要知道图形系统,Canvas API、WebGL,像这样一些知识它就属于通用领域知识。再比如说像前端领域里面,HTML、CSS、JavaScript 这些也属于通用领域知识。


这些知识实际上它会更新换代,不断升级。比如像 JavaScript,TC39(JavaScript 发展委员会)每年会发布一个新的 ECMAScript 标准,它也会升级,但是它的升级其实没有这么快。


你要真的去了解 JavaScript 特性的话,你每年可以等它发布的时候,花一点点时间去了解一下它的新特性就 OK 了,它不会突然有一个很大的改变,然后让你完全跟不上。所以像这样一些通用领域知识,我们还是需要去学习的,并且你学过的这些内容,是不会突然有一天要全部给废弃掉,然后再去学其他新的内容的。


专用领域知识:用到的时候再去学


还有一类知识是专用领域知识,比如说我们要去解决工程化,但不是所有的项目都需要工程化,而且不同的项目规模,不同类型的项目,工程化的方式是不一样的,我们可以在工程化当中引入各种步骤,去使用一些工具。


例如可以引入 Babel(开源的 JavaScript 编译器)的编译,我们可以去引入打包工具,然后我们可以去做一些自动的 CI/CD(持续集成和持续交付或持续部署的组合实践),可以去引入单元测试框架,这些都属于我们专用领域的知识。


在专用领域,我们解决的问题是明确的,我们可以在这个基础上开发各种各样更好的工具。但这些工具并不需要每个都掌握,有的时候我们要专注于领域本身。


比如说我们做响应式的一些设计,需要用 React、Angular,或者 Vue 这样的框架。那有些同学搞不清楚,他总觉得说要把这些框架都给学会,实际上他更应该去理解 MVVM(Model-View-ViewModel)的原理,理解这些框架为什么要这样设计,理解 React 为什么现在要用 Hooks 的方式?这些方式有什么优点,解决了什么问题?


你去研究这些问题,可能比你死记硬背接口里的 API,比你硬生生学 Vue、React 怎么使用更加重要。注意,我并不是说像这样的一些专用领域知识我们不应该花时间学它,而是说你如果真的用到了的时候,我们再去学也来得及。


我们要形成系统性的知识体系


前面讲到了这些知识该如何学习,我们再讲一些更通用的。现在互联网很发达,我们可以通过各种渠道获取信息,我发现很多同学去面试之前都喜欢去各个技术论坛和社区刷一些面试题。这些同学可能平时也会去关注各种各样的博客,或者各种各样的公众号,去看一些相对来说比较散的或者比较冷门的问题,然后发现这里有一些 CSS 的知识点,自己可能不了解,又发现那里 JavaScript 的知识点、题目,可能是我不会的,然后自己就会很恐慌。


其实我们不应该去收集这些碎片化的知识,当你发现有很多关于 JavaScript 的深入一点的题目你不会,这就说明你的 JavaScript 基础不是很好,这种情况下,你应该系统地复习一下 JavaScript。比如找本书看,提升一下你这块的能力。


这种情况下的话,如果你在工作或者准备求职的过程中,你发现自己有基础知识方面的不足,像 JavaScript、CSS 这种领域的基础知识,我们还是应该去系统性地学习一下。


总结


最后,我们总结一下,在高速发展的前端行业,我们不应为不断更新的技术感到焦虑不安,而抱怨学不动了。我们更应该持续地、有技巧地学习。我也提到了几点学习建议:


  1. 学习一些基础知识,例如数据结构与算法、基础数学等知识。

  2. 学习通用领域知识,它们更新升级较慢,我们只需定时学习即可,例如 JavaScript 语言的新特性。

  3. 学习专用领域知识,这类知识可以在实际应用到时我们再去学习,例如 Babel 编译工具等等。

  4. 学习要系统,不要东学一堆,西学一堆,要把自己的知识体系建立起来。


总的来说,前端是一个发展非常快的行业,我也很幸运地一直在这个行业里面,未来的话我们一定会走得更远,并且我们也要一起努力让这个行业变得更好。


我们不用去害怕,也不用去恐慌,觉得自己学不过来,而要更加信心满满地去看待这个行业,然后去参与到这个行业的建设中去。


月影邀你加入字节跳动


目前,字节跳动各部门正在火热招聘前端开发工程师。


字节跳动鼓励坦诚清晰表达的工程师文化,欢迎内驱、始终创业的优秀技术人才。


扫描二维码,即可投递简历,诚邀你加入👇



学习推荐


如月影所说,很多同学都觉得应该要把所有框架学会,但其实更重要的是理解这些框架为什么要这样设计。


现在有一门课程,帮你掌握 Vue 框架的原理和实现方式,带你亲自动手实现一个 ToyVue


框架,推荐你来学习一下。


主讲老师是前手机淘宝前端负责人 winter,学完后你可以获得:


  • 了解一个 ToyVue 框架搭建的全过程

  • 掌握 Vue 框架背后的原理及实现方式

  • 掌握 Vue 中的组件化思想

  • 亲自实现一个 ToyVue 框架


扫码下方二维码回复【vue】即可免费领取👇



2020-12-30 09:453201

评论

发布
暂无评论
发现更多内容

TDesign 设计资源大更新,产品经理和设计师都可以省心啦~

TDesign

设计 设计师

什么数据库这么猛?5.6 版本刚开源一个半月,8.0 版本竟然就要启动了?| StoneDB 社区答疑第二期

StoneDB

MySQL 数据库 开源 StoneDB 8月月更

你就是函数响应式编程(FRP)啊?!【附 RxJS 实战】

掘金安东尼

前端 函数式编程 8月月更

他只是试图运用自己的能力,给这个领域带来改变

图灵教育

通信

无影云电脑

六月的雨在InfoQ

无影云电脑 云电脑 8月月更

诚邀|8月31日,【因果学习和决策优化挑战赛TOP10队伍作品秀】邀您共享因果学习智慧盛宴

九章云极DataCanvas

人工智能

九章云极DataCanvas YLearn因果学习开源项目荣获“可信AI实践优秀案例”奖

九章云极DataCanvas

【真送礼物】1 分钟 Serverless 极速部署盲盒平台,自己部署自己抽!

阿里巴巴中间件

阿里云 Serverless 云原生

付费会员之我见-02(44/100)

hackstoic

商业模式 付费会员

周一见!距离阿里巴巴开源开放周还有3天

阿里巴巴中间件

阿里云 开源

参与 TDesign 收获了什么?听听社区贡献者怎么说

TDesign

设计 产品经理 设计师

直播预告 | 流程挖掘如何助力头部制造业实现千万级增长?

望繁信科技

全链路灰度新功能:MSE 上线配置标签推送

阿里巴巴中间件

阿里云 微服务 云原生

828选华为云,实惠更实用——为什么选择华为云CDN的企业多?

sofiya

【杂谈】网络协议(二)

自然

网络层 8月月更

已有小程序应用转App的一种技术

Speedoooo

小程序 小程序容器 小程序转app

实力上榜|海泰方圆跻身2022企业网络安全服务Top15

电子信息发烧客

前端食堂技术周刊第 49 期:Deno即将迎来重大变革、Blitz 2.0 Beta、Chrome删除HTTP/2服务端推送

童欧巴

JavaScript typescript deno

[教你做小游戏] H5小游戏技术选型分析,低代码?小游戏框架?canvas或SVG?还能用React?

HullQin

CSS JavaScript html 前端 8月月更

分布式系统接口用例自动回归实践

转转技术团队

接口测试

多模态算法在视频理解中的应用

之家技术

人工智能 算法 视频 多模态

高项-第一章 信息化和信息系统(1)

索隆

项目管理 软考 笔记分享

“九章云极DataCanvas AI平台赋能厦门航空”荣获AI平台应用标杆案例

九章云极DataCanvas

人工智能

开源一夏 | 一个裸机工程转FreeRTOS的实例

矜辰所致

开源 stm32 STM32CubeMX 8月月更 FreeRTOS

在 WSL2 上部署 PyTorch

吴脑的键客

WSL2 Windows 10 PyTorch

【杂谈】网络协议(一)

自然

网络 8月月更

圆壹智慧创始人兼CEO 潘麓蓉:AI制药工业落地的痛点与前进方向

阿里云弹性计算

HPC 高性能计算 AI制药

多核驱动时代的降维打击 英特尔异构混合架构破局之路

科技之家

Beetle编译/部署自动化

转转技术团队

CI/CD

华为云CDN&云视频通信专场:828低价购,CDN0.05元/GB起,短信0.006元/条起

sofiya

开源一夏 | 23张图,4500字从入门到精通解释Redis

wljslmz

redis 开源 8月月更

月影:别更新了,学不动了?千万别有这样的心态_大前端_极客大学_InfoQ精选文章