开篇:关于我的一些介绍
现阶段
本篇是我个人生平的一个简单介绍,希望能鼓舞到大家,或者能让大家有一些借鉴。
我是一名超过35+的码农,目前在一家教育公司做前端开发。我是从去年8月份开始重新在稀土掘金写文章的,至今写了60+篇,可以直接看我的稀土掘金个人主页。
关于我的一些思考和理念,可以参考我的文章《程序员应避免自我安慰式的无效学习》。这是重新写文章后的第一篇,因为关注度超出我的预期,所以鼓舞了我,我才能在后面坚持写下去。
大学阶段
我的家乡是河北,父母都是普普通通的农民,我所在的乡镇是过去我们县最穷的区域。但幸运的是我的父母,尤其我母亲一直支持我读书,觉得唯有读书才有出路,所以我最终经过2年的复读,上了吉林省吉林市的一个二本院校,学的机械专业。
我不知道其他人是怎么选专业的,我当初之所以选择机械这个专业,是2008年那会,我们班有4个人选了机械专业,而且当时机械还算可以吧,就业后不至于饿死人。所以也是羊群效应吧,我就成了第5个。
大学四年现在回忆起来真的好快,也没啥特别怀念和回忆的。唯一时长回顾的是我大学终于毕业了,但是我竟然对前途充满了迷茫,对工作没有丝毫信心,所以我决定考研,再给自己3年思考一下我究竟要做什么工作。
我的第一志愿是河北的燕山大学,2012年我的考研分数是328分,按照2011年燕山大学的机械专业录取分数328是够的,但没想到那年报考的人数很多,且或许是因为考题比较简单,我这个分数结果不够了。于是我进入了调剂流程,结果去了天津的一所二本院校。
研究生阶段
有时候命运就是跟你开玩笑。大学时候我本来是想跨专业考研的,想着跨专业考计算机,但是当我集齐了考计算机的四本书:操作系统、计算机组成原理、数据结构、计算机网络。我害怕了,我担心自己考不上,所以还是回归考机械专业。
我说有时候命运就是跟你开玩笑,是没想到研究生导师是搞机械设计优化方面的,研究的是NP难问题,关于NP难问题:简单来说就是穷举法下有限的时间内无法获得最优解的问题。其代表就是集装箱装箱问题,我研究的就是这个东西。然后使用的是c++,通过引入遗传算法、神经网格算法等优化出一个结果来,因为师兄师姐用的是遗传算法,所以我也用的遗传算法。
就这样我误打误撞的进了计算机领域。但我的故事远没有这么简单。
实际上我是一个英语好而数学不好的人。三年高考我的英语成绩平均分130,数学不及格。而且大学阶段我就很惧怕计算机,那种心里上就觉得自己不行那种惧怕,但选了导师之后的境况对我来说就是刀架在脖子上了,不上也得上。
于是我从图书馆借了一本《21天学通c++》的书开始啃,从0开始,泡在图书馆,然后使用研究室的电脑跑例子,大概是过了3个月,总算是将语法看了七七八八,这个时候也有些信心了,然后开始调试师兄师姐们留下来的程序,然后又过了一段时间,总算搞清楚了程序是怎么回事,然后开始想怎么提高算法结果。当然这是后话。

上面这段经历给我的启示是学什么都不要怕,先干起来再说,时间可以堆出质量来。
这里说个题外话我一度后悔读研究生,因为我家里没有余粮啊,这点还引发我的一个结论:就是对于家里穷的孩子还是先就业赚钱吧,就别读研究生了。
时间到了研二的上学期,我因为想法比较活,恰好也在网上看到了网络营销这个知识门类,遇到一些初中毕业的沿海城市混的年轻人,他们通过利用淘宝客以及百度,通过自建网站,再利用百度自然流量的方式导入到网站在导入到淘宝赚取差价。这个时候我没什么头脑,所以也花钱报名他们的所谓项目学习课,没想到他们卖的竟然是男性产品。
好吧,出于文人的那种自尊吧,我没有妥协的去卖这些东西,选择了退群,即使损失了当时的入群费。
现在看来那个时候真的是被割了韭菜,对他们要做的事情认识的过于浅薄了,想的也太简单了。
但即使发生了这种吃亏的事,我也没有更多别的什么想法,也没有加深认知。我依然认为网络营销要比做开发赚钱,所以我后来还是花钱专门学习了网络营销这门课程。
然后在我研究生毕业,阴差阳错的做了互联网运营工作。关于这个我会在后面解释。
总之,从研究生到毕业这段时间的说我笨也好,说我脑袋活也好,说我不定性也好,我觉得都对。
工作阶段
我研究生毕业实际是想做产品来着,为此专门学了原型绘制软件:axure,而且提前拿到了一个产品助理的offer,就是有些钱少。毕业那天去了发现原来是我理解错了,实际到手工资比我当初理解的还要少。
所以我重新开始在帝都找工作,一周的时间就找了一个创业公司。创业公司老板说要做产品需要从运营做起,因为产品需要很多知识储备,我觉得有道理,加上本来就想先就业再择业。第二天就入职了。
脑袋里规划好久不如下场试试。这是我现在的总结,想来如果当初我不考研直接就业,3年时间也该知道自己能做什么,想做什么了,也不用后来各种折腾,折腾学网络营销,折腾学axure,最后做了互联网运营。
在创业公司呆了半年我清楚了一件事:运营也并不好干,其晋升也是需要熬资历的。再加上当时我们创业公司业务发展并不是很好,我决定去搞开发了,这年是2016年。
2016年对于开发来说还是一个幸福的年份,互联网公司还处于高歌猛进的状态,这个时期开发的起薪还是比较高,至少是比互联网运营要高。
我于是花钱在极客学院上报了web前端的课程,开始了学习之路。此番学习之路相比较我c++的学习之路,艰难很多。我是只有下班加上周六日学习的。学习形式是视频讲授,然后做课后试题通关,我记得一共16关,只有过了14关才算毕业,才给毕业证书。
我也不知道为什么,照理说我学过c++,学习web应该轻车熟路,但我实际学的过程中差点学吐了,产生了应激反应,看多了视频就想吐,以至于后来一个课程实在过不去了我就求老师给我60,让我过去。
哎,现在想想不管怎么样总算是过了,学了半年时间,然后第二年5月我提出辞职,半个月找了前端开发的工作,然后终于算是走上了开发这条职业道路。但现在发现,过去认为的所谓的道路,也不过是一个过渡。
后来的时光里,陆续学习了php、nodejs、android app、java、微信小程序开发等技术。
回到当下
回到当下,在我的文章《程序员应避免自我安慰式的无效学习》下面有人评论说只要学习一门技术,并学深就可以了。当时读来也觉得是对的,但我不认为我学了这么多东西就是错的。
我学了这么多门类,我最大的体会就是在这种学习、应用的过程中,培养了我的一些好的习惯。并且学习了这么多门类,让我能够从多个角度去看问题,让我的知识体系有了特色,在职业发展上有了差异化。
我想也正是因为学了这么多知识,让我最终想到如何快速掌握一门新知识这个问题,而本文后半部分就是这个问题的答案。
原理篇:学会利用大脑反馈机制学习
本篇是我的一个思考。
得益于抖音、快手等短视频平台的流行,我们从文字自媒体时代进入了视频自媒体时代。
有句话说一图胜过千言,视频某种角度上肯定更胜过。视频降低了信息理解难度,让人更容易接受。但同时也产生了一个问题:过度刷视频会导致人对视频这种信息流形成习惯,进而让人对文字这种相对高成本的信息传递方式感到不适,进而让人对文字没有耐心,甚至于对复杂事物没有耐心。
这是我的一个担心。
我也有一个总结:人们喜欢及时反馈的东西,比如上面说到的刷短视频,还有打游戏。或者说我们人的大脑天生就喜欢及时反馈的东西。
但想要学习好新知识这样是不行的,这种大脑反馈机制很可能会成为学习新知识的阻碍。
单独来说,做好学习这件事,首先要对学习本身有深刻认识才能做好。学习需要与之相匹配的大脑反馈机制,或者至少要克服及时反馈带来的不良影响。
关于学习这件事的认知前人论述的已经很多,这里说几个主要的:
-
学习是延迟满足
-
学习是和脑袋中已经存在的知识建立关联
-
学习是一个熟练的过程
新知识与学习者肯定是弱关联的。既然是弱关联必然有一个熟悉的过程。掌握知识代表新知识已经与脑袋中的知识建立了关联,通俗说就是可以用自己的话来表述了。这个时候才算是给了一个效果反馈,我称之为终极反馈。
综上在学习过程中,要避免急功近利地要终极反馈,要有耐心。
同时我们也可以利用大脑喜欢及时反馈这个规律。在学习过程中带着思考去学习,简单来说就是主动构建一种及时反馈的模式,不给终极反馈给局部反馈给小反馈,比如当看到一个标题,要思考这个标题讲了什么,然后读完了给一个答案。
这样大脑就不再思考终极反馈,而是专注于当下的反馈当下的思考。这样就可以持续的学习下去。实现从陌生到熟悉,再到建立关联,再到学会。
原理篇:从依靠天赋到依靠学习方法
我有个亲戚,学习天赋很好,在我们县里一中读高中,成绩前三名的那种。但是他也有问题:就是太依靠天赋学习,虽然取得相对不错的成绩,但距离真正的高手还有一段距离。
他的理工科很不错,但英语不怎么好。我和他交流,他认为他英语不好的原因是单词不懂,解决的办法是提高单词量就可以了。但我认为不是这样的,我向他演示了如何答好英语试卷的法语填空,然后我指出他的问题是语法、单词甚至作文能力都不好。
他把自己英语不好归结为只是单词不会,反应出他对如何学好英语认识不够深。
我后来让他总结自己做对了什么:做对了什么才取的前三名的成绩。他说就是上课认真听讲,下课认真做作业。我反问道那为什么其他人也上课认真听讲了,下课认真做作业了,为什么成绩不好呢?
我给我这个小亲戚的总结就是他太依靠天赋了。
我帮他分析了目前的英语问题,并分享了自己大学阶段总结的理科学习方法,我希望他能从一个天赋型选手成为一个依靠学习方法的选手,进而实现真正的进步。
言归正传,很多人学习根本谈不上依靠学习方法,不管是上学阶段还是工作阶段。
有个学习方法叫费曼学习法:是通过给别人讲明白的方式,让自己对知识的掌握有所进步。这个方法充分说明了依靠天赋和依靠学习方法的区别,也说明了依靠学习方法要比依靠天赋更有深度。天赋不可传递, 学习方法可以传递 ; 天赋难以迭代, 学习方法容易迭代。
关键是可迭代。只有可迭代才能螺旋向上。
想要依靠学习方法,必须建立对科学知识的正确认知。复杂所以科学,科学之所以出现,一定程度上是因为事物到了一定程度的复杂度。
科学知识一定程度上就是分门别类+知识体系。前者对应科学的概念,后者对应科学的逻辑。
学习方法可以看做是对科学知识的解剖,如果科学知识本身没有明确的分门别类+知识体系,可以自己发现发掘总结出来。即使总结出来的分门别类+知识体系比较糟糕也没关系,因为它是一个起点,只要总结出来就是胜利。
有了分门别类+知识体系,接下来要做的就是熟悉和深化:理清概念,理清逻辑,知识体系扩大和细化。最终量变到质变到掌握。
执行篇:正向学习阶段
找到合适的教程/教材
这里教程/教材既可以是书:电子书或者纸质书,也可以是视频。在找教程/教材之前肯定是已经明确要学习什么。
找教程/教材不是说越是出名的越好,不是网购平台卖的越多越好,而是适合自己的才最好。
我找教程/教材的一个方法是多选几本或者几个教程/教材,然后每个都详细看一下,先看下目录,如果目录没法让自己做出选择,就买来对比下具体内容。
我比较喜欢纸质书,所以我经常是直接买2-3本相应的纸质书教程,然后每本都读一下,读着读着就知道哪一本更加适合自己了。
我是怎么判断是否适合自己的?
一本书读着读着更能引起共鸣,刺激到自己,这说明这本书的内容与自己大脑已经存在的知识有关联。这说明这本教材就很适合自己。
当然,就教材选择来说,要根据自己的实际情况来,有人喜欢视频,有人喜欢电子书,这都可以,核心是验证与自己是否有更多共鸣。
快速学完教程/教材
找到合适的教程/教材后,就是学习了。
万事开头难,这是学习的基本规律。没有办法跨过开头难这个阶段,只有充分认识到这点,然后快速度过这个阶段才是上策。
同时利用我在《原理篇:学会利用大脑反馈机制学习》提到的主动构建一种及时反馈的模式,不给终极反馈给局部反馈给小反馈。
比如,看到一个标题是人间正道不是沧桑,建立疑问为什么不是沧桑了?然后在阅读过程中给出答案。
快速学完教程/教材,第一遍略读,不要吹毛求疵,不要每个细节都了解,重要的是知道每一章节主要讲了什么,遇到问题知道去哪里找答案。之后就可以进行后面逆向学习阶段。
执行篇:逆向学习阶段
找到科目的重复单元
怎么理解科目的重复单元?
科目的重复单元就是科目最终应用那个行为的落脚点。比如开发语言的最终应用行为是写代码,准确的说写各种需求场景代码,其落脚点就是场景,这个场景就是开发语言的重复单元。
再比如高中阶段,不管是文科还是理科,学习文科或者理科的知识,最终的应用是考试,其落脚点是试卷,也就是重复单元。
再比如投资,真正想要搞好投资的人,一般都会学习会计,学习会计的目的是分析财报,这个的落脚点就是财报。
积累重复单元
找到了重复单元之后,就是积累。就是学习分析不同需求场景的实现代码、学习分析别人的优秀代码、学习分析优秀的开源库,学习分析不同的考试试卷,学习分析不同上市公司的财报......
学习分析不是目的是手段,目的是最终对科目知识有横向和纵向的认知,扩展知识体系,最终成为这个科目领域的专家。
学习循环
学习循环就是上面的两步:正向学习阶段和逆向学习阶段。重复这两个步骤,一直到你认为可以了为止。
第二遍学习教程/教材要至少了解主要概念和逻辑,然后开始逆向学习。然后逆向学习一段时间后,适当时机再学习第三遍教程/教材......
这个循环过程是由浅入深的,先简单重复单元积累,再复杂单元积累。

在这个循环中逆向学习在时间上的占比应该更大一些。
学习的持续性问题
很多人面临无法持续学习的问题,在我看来有三点
-
不知道学什么
-
没有科学的学习方法
-
没有通过学习获得实质性的进步、获得实质性的奖励
不知道学什么:在我看来就是没有找到人生的方向。这个需要自己主动去探索,也可以看下我的文章《程序员应避免自我安慰式的无效学习》最后一段。
没有科学的学习方法:本文讲的就是学习方法问题。
没有通过学习获得实质性的进步、获得实质性的奖励:我觉得一旦有过获得实质性进步和奖励的经历,就不会存在持续性问题。如果还存在持续性问题一定是学习给你的奖励还不够大。
(本文完,如果觉得写的不错,可关注我的公众号:通往自由之路pro)