写点什么

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

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

评论

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

提升项目管理效率?9款软件帮你实现

爱吃小舅的鱼

项目进度软件

淘系商品详情数据接口全解析:探索Taobao API的无限可能

代码忍者

pinduoduo API API 性能测试

爱旭N型ABC组件闪耀粤水电集采,领跑集中式光伏新篇章

Geek_2d6073

修复损坏视频的理想选择TunesKit Video Repair for mac视频修复工具

Mac相关知识分享

视频修复

Pencils Protocol 用户福利,DAPP持有者将获 Scroll 生态空投

BlockChain先知

什么是边缘计算?边缘计算技术的优势与挑战

3DCAT实时渲染

实时渲染 边缘计算平台 边缘计算技术

《使用Gin框架构建分布式应用》阅读笔记:p101-p107

codists

Go gin框架 编程人

施工项目进度管理系统怎么选?9款工具评测

爱吃小舅的鱼

施工项目进度管理系统

Mybatis的<where>,<if>等标签用法

百度搜索:蓝易云

Lightroom Classic 2025(LRC2025)直装版

你的猪会飞吗

lrc2025下载 Lightroom Classic 2025

华为云开源引领,KubeEdge晋级CNCF毕业项目

华为云原生团队

云计算 容器 云原生 kubeedge

如何挑选适合企业的项目进度工具?9款推荐

爱吃小舅的鱼

项目进度系统

Arm架构Ubuntu使用Docker安装Gitlab并使用

百度搜索:蓝易云

若依vue前端 报错error:0308010C:digital envelope routines::unsupported

百度搜索:蓝易云

TunesKit iPhone Unlocker for Mac(iPhone设备解锁工具)

Mac相关知识分享

Pencils Protocol 用户特权:DAPP持有者将长期获得生态空投

大瞿科技

Pencils Protocol 用户特权:DAPP持有者将长期获得生态空投

加密眼界

CleanMyMac最新版本发布,全新界面与功能引领Mac优化潮流

阿拉灯神丁

#Mac 软件包 CleanMyMac X 清理软件 苹果电脑使用

centos编译安装的php多版本切换

百度搜索:蓝易云

PAI 大语言模型评测平台现已支持裁判员模型评测

阿里云大数据AI技术

人工智能 大语言模型 PAI 模型评测

CrossOver软件安装成功,但找不到为什么 crossover安装后找不到应用程序

阿拉灯神丁

容器 #Mac CrossOver Mac下载 苹果电脑使用 CrossOver 24

LCD、LED、OLED显示技术发展对比

Dylan

技术 科技 LED OLED lcd

Bitmap 和 布隆过滤器傻傻分不清?你这不应该啊

程序员小富

Java redis 面试 布隆过滤器

如何在2024选择8款项目进度跟踪系统

爱吃小舅的鱼

项目进度跟踪系统

项目延期频发怎么办?试试这8款工具

爱吃小舅的鱼

项目排期进度软件

AI手机的启明星:从分级标准到智能体手机

脑极体

AI

特斯拉自动驾驶出租车计划变成泡影?联想与Meta合作,推出面向PC的个人AI智能体AI Now|AI日报

可信AI进展

Pencils Protocol 用户特权?持有 DAPP 将获 Scroll 生态空投!

石头财经

linux三剑客之awk命令详解

百度搜索:蓝易云

硬盘分区数据恢复软件哪个好 硬盘分区数据如何恢复正常

阿拉灯神丁

EasyRecovery 电脑文件 数据恢复软件 硬盘数据恢复 软件包

哪些项目管理工具最实用?10款推荐清单

爱吃小舅的鱼

项目管理工具

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