杂谈:你可学点好吧
杂谈:你可学点好吧
我叫 LC,现在在做前端开发。
我刚入行的时候,当时缺少大佬的指点,自己的认知水平也不太行。走了很多弯路,看过很多粗制滥造或的教程。
所谓走弯路。用最近新学到的一个词 ROI(Return On Investment),即投入产出比来解释。对于学习而言,投入具有多种形态:时间、精力、金钱、情绪等,而最直观的产出则是是否学会了某项技能。所谓走弯路即是 ROI 低,效率低。
现在随着我的技能水平和视野不断提升,我已经接触到了很多优秀的资料,也认识了一些能给我指引方向的人,甚至我自己也逐渐成为别人眼中专业的人。今天的我如果穿越回去重新教自己,肯定少走一些弯路。
比方说时间角度,知道了从哪获取优质的、专业的、由浅入深的、合适的资料,避免大海捞针式地看低质的、业余的资料。有效信息密度提高了,学习效率自然也就高了。
经济角度,问题转而变成:我如何便宜地筛选和获取这些优秀资料?
其中有一个我觉得最亏的一笔支出,那是我花了一万多块买了一套为期几个月的“高级前端进阶课程”(具体名字忘了,反正都这个味儿)。
# 故事
当时比较 naive。试听了几个小时,看了下他们的课程大纲,对标大厂 P 几 T 几,挑战年薪几十万。我以为贵自然有贵的道理,一套十全大补汤下来我的水平肯定能再提高一个段位。
也确实不错,想必对于很多初级前端来说或许真的能让他们快速入行,或者跳槽的时候工资翻倍。
我自己也是有所收获。JS 的语言标准 ECMA-262、JS runtime 的 Execution Context Stack、Node.js 垃圾回收原理等概念我最早就是从这儿知道的。
但也仅限于此了。
当时我已经看过一些文章和书,有一些工程经验和理论储备了。所以课程中讲的很多理论性内容我早就知道了,高程和小黄书上都有嘛,无非就是用刁钻题再多训练几遍。但这没什么意义,实际工程中最佳实践是提倡少写骚代码的。
举个例子。我现在写项目,function
、class
、this
、var
、==
这些基本不用。现在 React 推行函数式编程,我直接箭头函数、const
、外加 ESLint 和 TypeScript 拉满就好了。精通 this 的四种写法干嘛呢?手写 ES5 继承和 new?这些知道下概念以后能看懂不就好了?精通八股文是哪门子的高级?
框架类库的实战训练课程也就是教下概念,调调 API 糊个玩具项目,还有面试装逼用的源码解析环节。但是没接触过的工具我不能自己学啊?官方文档、Demo、视频教程、源码解析这些网上遍地都是啊?碰到瓶颈了多用用 Stack Overflow、看看不同的解释不就完事了?
啊,还有什么前端图形学。听上去高大上,搞半天用下 three.js 而已,还以为会科普下 pbr 之类的呢…
就这?
所以总体来说并没有达到我对一个五位数级别知识付费的期望。除了最开始可能十个小时的内容我全部听完了,也刷了一些题目,之后基本就没再怎么打开过。
# 技术培训产业
有的小可爱比较机灵:那我去咸鱼买盗版,去网盘直接下各种全集,我也不是大佬,好歹能查漏补缺,学到点东西,白嫖总不会亏吧?
真不亏吗?之前提到,投入是具有多种形态的。培训机构只不过是没赚到一些钱而已,可你却失去了宝贵的时间啊!
我前几年零散看(嫖)过一些国内的视频教程(包括刚才提到的,以及像网易云课堂、慕课网、黑马之类的)。无论收费免费,大部分质量都很一般,甚至还有:
个别讲师对技术的理解僵化,教条主义,照本宣科。
个别讲师搞起直播文化,求弹幕刷礼物,不知道的还以为娱乐主播呢。
稍有经验的前端工程师应该都清楚前端技术更新的速度。如果不是长期参与实际项目、拥有扎实的基础训练、并不断思考,光靠别人把知识灌到自己的脑子里是很难理解到技术的本质、形成对技术的判断力和直觉的。
以状态管理为例,培训班顶多教教 Redux、Vuex 啥的速成一下,撑死了讲源码甚至手写一个。但我在工作中实际接触过的状管工具不下十个,做针对性项目选型、需求分析、看论文、自研。哪个培训班能提供这些冰山以下的东西?时间有限,大部分声称高大上的课程,都只是入个门而已。
此外我有时会直接关注业界的最新动向,看看大佬们在干什么:
- Dan Abramov:Redux 的作者,React 核心开发者
- Dmitry Soshnikov:JavaScript: The Core 的作者
- Douglas Crockford:JavaScript: The Good Parts 的作者
- Evan You:Vue.js 的作者
- Robert C. Martin:Clean Code 的作者
又有哪个培训班有这种教学资源?
# 如何学习
说到底是市场人才需求的膨胀以及人们的职业焦虑,影响培训产业也快速发展。
培训班的商业模式就是靠卖课恰饭嘛,恰饭多香啊。但很多有能力的人直接在开发者大会上做分享,搞开源项目拿赞助,给大厂做付费咨询。他们走另外的赛道了,会稀得开这种恰饭的培训班吗?
哦也是有的,我也确实认识一些创业做培训或是副业技术自媒体的大佬。恰饭嘛,不寒碜。广义上来讲,大学不也是付费培训班呗……我看过 CMU、Stanford 的公开课和教材,也听过尤雨溪讲 Vue、Dan 讲 Redux 的完整课程。
所以倒不是培训班本身不好,而是产业规模化之后整体质量的下滑或内卷跑偏,导致获取优质信息的成本变大了。
暂停一下,所以…不是培训班本身不好…吗?我认为本质问题也不在这,获取资源的成本先不谈,我认为培训班或者说系统性课程在形式上也有局限性。
学前端的时候来一套课程,那之后学后端和其他技术栈呢?想做投资,了解下商业、经济、法律呢?教育、心理学、沟通能力这些呢?生活技能像吉他、摄影、写作、烹饪、健身这些呢?全靠所谓的培训吗?就算钱包受得住(家里有矿是吧),时间也顶不住啊。
通常我们的需求只是够用就好,不可能对每个领域都进行无限的投入并以成为该领域专家为目标。
所以,我现在看待培训班,并不把它当做标准答案甚至救命稻草,反而是一个参考、一种学习工具。它就像电脑、技术框架、书一样都是工具。好的工具拿来用,不趁手的工具就不用。我们需要的不是“鱼”的结果而是“渔”的技巧。做工具的主人,不断形成自己的思考,训练和掌握主动检索信息的能力,才能多快好省地学到东西,更高效地实现自我提升。
现在那种成套的培训班视频我基本不看了(新领域也如此)。把钱用来买订阅服务和书(书可太便宜了),把时间用来看 Youtube 上的各种 Crash Course、开发者大会、官方文档、经典书籍、论文、技术专栏、博客……
You don’t need college to learn stuff
Everything is available basically for free
You can learn anything you want for free-- Elon Musk knocks the college experience (opens new window)