学前端,我如何一年内学到三年的知识
这个大言不惭的标题源自我与我所认识的前端从业者的比较,也源自别人的评价。读者也可以看我其它文章,评估我的专业能力。当然我不是在每个领域都能匹配别人三年的实践经验。我还有很多技术栈没掌握,比如没写过小程序,没用过 jQuery(这个也不想再学了,只是依然还有用人单位在要求)。也有很多坑没踩过,比如没有做过浏览器兼容(说实话也不太想兼容 IE,浪费生命)。我想说的是我对 JS 这门语言以及 CS 这门学科掌握的深度,前端生态圈理解和熟悉的程度,以及知识迁移能力。
我不是想炫耀自己多牛,而是想帮助和我有相似背景的人。我在掘金发了几篇文章后,有几个朋友在知道我零基础学编程一年半就进步这么快后,想知道我是怎么学的。这篇文章就是对他们的详细回答。
一,背景介绍
我本科学的是国际贸易,乱选的专业。毕业后做了半年外贸,实在不喜欢,然后去做英文编辑了。第二份工作也很无聊,就是写英文软文,发表在国外的行业期刊上,给公司做广告。然后也做英文官网的内容。这是一个很没创意的工作。每天在一堆不利数据里找个别利好数据,包装一下,忽悠人。最重要的是,这份职业里我找不到持续精进的方向,做一年和做三年好像区别不大。
后来学前端也是误打误撞。因为我同时在做英文官网的内容和产品,会和前端打交道。当时公司的前端是学 UI 转过来的,我观察他的工作,以为就是 HTML 写个页面结构,然后 CSS 做个样式,然后用 JS 做点效果就可以了。这个简单啊,我也可以做。然后我就裸辞去学习前端开发了…… 后来发现我错了,但是自己跳的坑,流着泪也要爬出来。接下来我经历了人生中最难熬的一段时间,也经历了人生中第一次大的转变。
我从 2017 年年初开始高强度学习,去年十一假期之后开始我的第一份前端工作,到今天刚好工作一年时间。接下来我将我的学习路径,学习方法,和学习资源整理分享出来,希望可以帮到更多人。
二,准备工作
学习不只是找到好的学习路径,掌握好的学习方法就可以了的,要成为优秀的学习者,是要求很多素质和习惯的。我长期以来都是一个懒散的人,三分钟热度,自律很差。我相信大部分人都这样。在意识到学习任务的艰巨后,我想的是我不能再放弃了,我觉得我年轻试错的阶段已经过了,经不起再失败了,于是我专门花了很长时间来调整自己的习惯和行为。这里我分享一些对我帮助最大的资源:
1. 一本书
《习惯的力量》(
2. 一门课程
Coursera 上有一门课叫 Learning How To Learn, 目前是世界上参与人数最多的一门 MOOC 课程。这门课免费。讲师 Dr. Barbara Oakley 是奥克兰大学的工程学教授。她本来是学斯拉夫语言文学的,一直畏惧工科,数理学科成绩也很差,直到快 30 岁时,她才决定挑战自己去学工程学。听她讲学习过程是最有说服力的。另一位讲师 Dr. Terrence Sejnowski 是顶尖的神经科学专家。他会从脑科学和神经科学的实证角度告诉你为什么应该怎样学。下面讲下我对这门课程的一些理念的应用。
一,大脑的发散和集中工作模式
发散模式(diffuse mode)指的是注意力从工作对象处转移开来,放松下来,让灵感有机会出现。集中模式(focused mode)自然是指全部注意力放在工作对象上,高强度思考。学习时,我采用番茄工作法,每工作 25 分钟休息 5 分钟。然后每工作 2 到 3 个小时,出门散下步,或者在家时耍下壶铃。这个习惯养成后,很多神奇的事情会发生。比如有一次我在写 Rxjs 应用时,卡在一个地方,怎么也想不出来解决方案,然后去洗了个澡,灵感就来了,换几个操作符的组合就解决了。还有数不清有多少次在梦里想出一个解决方案,起床就去试,结果真的行的通。
二,多运动
Dr. Terrence Sejnowski 讲解了为什么运动会促发大脑新的神经元的生长。高强度的脑力活动,你需要大脑保持最佳机能。我在开始学习之前就是个健身狂魔(见下图),每周有至少四天要去健身房。找到工作前的学习期,我也保持着这个频率锻炼。工作后,没时间再去健身房了,我就买了个 Concept 2 划船机,早上在家锻炼。锻炼推荐 HIIT (高强度间歇训练)方法,燃脂迅速,最短时间内达到锻炼效果。