【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

  • 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:452805

评论

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

java零基础入门-Java正则表达式

喵手

Java 7月月更

系统入门-Linux系统基础命令

Albert Edison

7月月更

决策树算法

秃头小苏

决策树 7月月更

关于 Web Content-Security-Policy Directive 通过 meta 元素指定的一些测试用例

Jerry Wang

JavaScript 前端开发 CSP meta 7月月更

Scala 基础 (六):面向对象(下篇)

百思不得小赵

scala 大数据 7月月更

风靡B站的《看漫画学Python》到底是什么来头?

博文视点Broadview

得物客服热线的演进之路

得物技术

大前端 客服

【堡垒机】云堡垒机和普通堡垒机的区别是什么?

行云管家

云计算 数据安全 堡垒机 云堡垒机 IT安全

如何在博客中添加Aplayer音乐播放器

echeverra

前端

LeetCode-144. 二叉树的前序遍历(java)

bug菌

Leet Code 7月月更

Vue 灰度发布新功能的那些事

南城FE

Vue 前端 灰度发布 7月月更

如何参与开源项目 - 细说 GitHub 上的 PR 全过程

胡说云原生

GitHub 开源 pull request DevStream

云计算安全扩展要求关注的安全目标和实现方式区分原则有哪些?

行云管家

云计算 等保 等保2.0 云计算安全扩展

基于鲲鹏原生安全,打造安全可信的计算平台

Geek_2d6073

【Python技能树共建】动态渲染页面爬取

梦想橡皮擦

Python 7月月更

2022年,作为一名Java后端开发程序员,必须掌握哪些框架

了不起的程序猿

java程序员 Java 开发 Java’

ORACLE进阶(五)SCHEMA解惑

No Silver Bullet

oracle schema 7月月更

作战图鉴:12大场景详述容器安全建设要求

青藤云安全

网络安全 解决方案 容器安全

社会责任·价值共创,中关村网络安全与信息化产业联盟对话网信企业家海泰方圆董事长姜海舟先生

电子信息发烧客

重磅!海泰方圆工业强基智能网联汽车项目顺利通过验收

电子信息发烧客

千人规模互联网公司研发效能成功之路

laofo

互联网 DevOps 研发效能 工程效率

盘点JS判断空对象的几大方法

猪痞恶霸

前端 js 7月月更

【玩转 RT-Thread】 RT-Thread Studio —— 按键控制电机正反转、蜂鸣器

攻城狮杰森

OS 7月月更 RT-Thread

wallys/Qualcomm IPQ8072A networking SBC supports dual 10GbE, WiFi 6

wallys-wifi6

IPQ8072 IPQ9072a

为租客提供帮助

源字节1号

微信小程序 软件开发 前端开发 后端开发 租房小程序

最佳实践 | 用腾讯云AI意愿核身为电话合规保驾护航

牵着蜗牛去散步

人工智能 腾讯云 腾讯 技术干货 电话合规

Qt|多个窗口共有一个提示框类

中国好公民st

qt 7月月更

Android自定义TextView实现高度和宽度,解决字体适配问题

芝麻粒儿

Android Studio TextView 7月月更

Python|正则表达式

AXYZdong

Python 7月月更

开发一个小程序商城需要多少钱?

CRMEB

交付效率提升52倍,运营效率提升10倍,看《金融云原生技术实践案例汇编》(附下载)

York

云原生 金融科技 金融行业

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