You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
19 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 不定期加餐2 | 学习技术的过程,其实是训练心理素质的过程
你好,我是宫文学。
最近,高考刚刚结束。每年一度的高考都牵动了很多人的心,学生和家长们都把高考看作是人生的一大关键关口。可是,等上了大学以后呢?很多同学也会感到不适应,因为缺少了一个像高考那样明确的学习目标,也没有老师和家长在旁边不停地鞭策和关注。到了工作以后,就更是如此了。
对于进入计算机领域的人而言呢,很多人迫于找一份好工作的压力,会刻苦学习一段时间,包括参加各种学习班。而一旦获得了一份工作,融入职场以后,很容易就进入舒适区。**反正当前的工作也能应付过去,为什么还要费力再去学呢?毕竟,工作已经够辛苦了。**
在这种情况下,人生的第二次转折点就出现了。
有的人能够管理好自己充分利用各种时间和机会不断地加深自己对技术的理解。虽然短时间看上去进步并不大但成年累月地积累下来效果就逐渐出现了TA们开始能够胜任一些关键岗位成了技术领头人。而另一些人则只能掌握那些比较容易掌握的技术时间一长就会显得平庸等年轻人赶上来的时候就更加没有竞争优势了。虽然这不是像高考一样能马上分出重点大学和普通大学的差别来但在进入职场5年、10年以后这两类人在发展上的差别并不比高考带来的差别小。
我说这些,不是在贩卖焦虑,而是想引出我们今天要讨论的话题:**从心理的角度看待学习技术的过程**。特别是自己管理自己学习的过程、跟自己相处的过程。
学习没有轻松的。尤其是学习像编译原理这样的基础技术,就会显得挑战更大。想要学好它,调整和保持一个良好的心态是非常重要的。而通常,我们在心理上会面对三大问题:
* 第一,我为什么要学习这么难的技术?学一些比较容易的、应用层面的技术不就行了吗?**这是学习的目的和动力问题**。
* 第二,以我的能力,能学会这么难的技术吗?**这是自信心和勇气的问题**。
* 第三,如何看待学习中经常遇到的挫折?总是找不到时间怎么办?等等。**这是学习过程中的心态调节和习惯养成问题**。
如果对这三方面的问题,你都获得了清晰的答案,那么你应该就能保持好持续学习、终生学习的心态,从而对自己的人生有更好的掌控力。
那接下来,我就给你解读一下,我对于这三类问题的理解。
首先,我们来说说**学习目的**问题。
## 为什么要学这么难的技术?
在做课程设计的时候,我和编辑同学都会尽量想着如何让这样的基础技术和你的日常工作关联起来,让你觉得它不是屠龙之术,而是能够在日常工作中发挥实际效用的。这确实是学习基础技术的收获之一。
不过,如果想长期坚持下去,我会建议你把心态调整成一种更高级的模式。用中国文化中的一句话来形容,就是“用出世的态度,做入世的事情”。如果一件事情你觉得应该去做,那就去做,不要太斤斤计较一些功利层面的东西。
那么对于学计算机而言什么是我们应该去做的呢那当然是要了解计算机领域的那些最基础的原理呀。如果搞了一辈子IT技术却不明白其中的道理那岂不是一辈子活得稀里糊涂的
我知道,大部分人不注重基础性知识的原因,可能是觉得它们不会马上发挥作用。可是,**那些最重要的知识、那些构成你知识结构的底蕴的东西,往往就是那些看上去不会马上有用的东西**。
我个人非常欣赏复旦大学做教育的一种态度,就是教给学生**无用之学**。哲学、艺术、写作、演讲、逻辑学、历史等知识在西方教育中被称作Liberal Arts我们有时候翻译成通识教育或者博雅教育。这些教育对于我们从事任何专业的工作都是有用的。
比如说,美学素养。一个设计良好的系统架构,一定是优美的。新东方的元老之一王强,在美国学习计算机的时候,会把写完的程序拉开一定的距离看。如果看上去不够美观,那一定是程序设计得不够好。
你乍一听上去,可能会感觉是无稽之谈,但有经验的程序员一定会认同这个看法。那些写得有问题的程序,往往本身就是又臭又长、非常难读;而高质量的程序,往往是模块划分清晰、简洁易读的。做不出好的系统设计的人,肯定美学素养也不够高。像爱因斯坦等大科学家,往往驱动他们做出某个研究成果的动力,就是想去发现一条更加简洁、更具优美感的公式,因为真理往往是简洁的、优美的。
我之前公司的一名股东,他以前是一位很厉害的软件工程师,后来被一个外企挖走,担任了多年的销售副总。挖他去外企的原因,就是因为当时该外企刚开始在中国推广中间件的概念,他听了介绍以后就说,那不就跟我写的某软件的原理是一样的吗?并且一下子就说出了这类软件的关键技术点。于是,该外企下定决心要把他挖过去,并且是去负责销售。去年,他突然又写了一套科幻小说,名称是《云球》。我这里不是为他打广告,我是想说,做一个优秀的软件工程师、担任销售副总和小说家,这三个职业从表面上看相差很大,但其实背后依赖的基础素质都是一样的,都是那些乍一看上去没用的基础知识、基础素质。
所以,从这个角度,我是同意素质教育的理念的。**一个缺乏美学素养、哲学素养和沟通能力等素质的软件工程师,潜力可能是有限的。**
说到基础素养,我补充一个例子。有一次,我和前面说到的这位朋友在一起聊天,结果一个软件公司的老总给我们吹嘘他们公司开发的某软件平台。在说到一些特性的时候,听得我俩目瞪口呆。后来我们告诉这位老总,他声称的东西违背了基本的物理学和信息学的规律。在违背科学的底层规律的方向上做事情,那就相当于去造永动机,根本是虚妄的。这是很多项目失败的根本原因。
而另一些人,却具备抓住事情本质的能力。众所周知,马云并不懂技术。但就是不懂技术的马云,在懂技术的马化腾、李彦宏都认为云计算不是趋势,只不过是新瓶装旧酒的时候,果断拍板做云计算技术。期间,来自内部的反对声一直很强,大家都不愿意在内部使用尚不成熟的云计算技术。然而时间证明,马云的眼光更准。并且,力主开发云计算技术的王坚博士,他自己的专业也不是计算机专业。那么,为什么一拨非科班人士会比科班的技术大佬们看问题还准呢?我想可能是他们的无用之学学得更好,基础素质更全面吧。
所以这就是我对于像编译原理、操作系统、算法等基础知识的态度。你就把它们看做是无用之学好了。我不仅鼓励你把这些基础知识学明白并且我也希望你可以尽量再往深里挖一挖。比如像图灵那样去思考一下计算的本质到底是什么编译原理用到的形式语言也可以被继续深挖从而跟整个西方科学体系底层的形式逻辑体系挂钩以此去深入地理解希尔伯特猜想和哥德尔定理了解面向对象、函数式编程这样的编程范式跟人类的认知和思维模式的关系跟Lamda计算、范畴论等数学工具的关系你还可以去了解复杂科学领域的成果并用这样的思维去看待大型复杂的信息系统。
如果你觉得编译原理这样的技术没啥用,那你一定会觉得我刚才说的那些更加没用。但我知道,一个优秀的软件工程师,其实一定是对我说的那些话题有所涉猎、有兴趣的。
总结起来,**一个人的基础素质,决定了他的思维方式、思维质量和眼光,那些看上去没用的基础知识、基础原理,其实是真正做大事、承担重任所需要的素质。**那,你到底要不要去学习呢?
好,如果你认可我的观点,那么我们接下来再探讨第二个话题,关于**学习的信心**问题。
## 我能学得会吗?
很多人都会有一个担心,说某些基础技术、基础原理太难,自己的基础又不够好,那么能学得会吗?如果学了半天又学不会,那不是白费力气吗?
从能力角度,我必须承认,**我们每个人都是有天赋的差异的**。你让一个普通人去跟姚明比赛打篮球,那不是难为人吗?
**学习这件事情也一样有天赋的问题**。
我本人当年在高考的时候,是省里的前几名,但是等我到了北大,看到周围的同学通常也都是身手不凡;在记忆力方面,我也比不过很多同学,有的同学对普通的词汇书根本不感兴趣,会去背词典,甚至背专业领域的词典;在数学等需要逻辑思维的领域,我又比不过另一些同学,直到今天,对于一些涉及数学的问题,我都会去咨询这些同学的意见。
但从另一个角度讲,**一些基础知识、基础原理,一定要有很强的天赋才能学会吗?**
不是的。在人类知识的殿堂中,你要想增加一点新的理论、新的原理,那是非常难的。所以我们必须对那些大科学家们,那些计算机领域的先驱们顶礼膜拜。那些顶尖的工作,确实需要天赋,再加上努力和机缘。
不过,即使狭义相对论和广义相对论发明起来那么困难,但一般的理工科学生只要想学,都是可以弄明白的。这就证明了,发现知识和学习知识所需要的能力,是极大的不对称的。在高考季,经常会出现妈妈级、奶奶级的考生,从陪考到变成跟儿孙辈一起上大学的故事。人家奶奶都能考上大学,我们年轻大学生学不会本专业的一些基础原理,这个道理说得通吗?
同理你常常会听到的一个理由也是不成立的这个理由就是我不是科班出身。这个我就不认真去反驳了。你想想看吧费马的本职是律师而他“业余”是个大数学家数学家罗素却获得过诺贝尔文学奖比尔·盖茨进的是哈佛大学商学院我前面说的王坚博士是学心理的罗永浩的专业也肯定跟IT没关系刘慈欣是业余写小说的。
所以,那些所谓的困难,只是你给自己设的玻璃天花板。这不是个能力问题,而是个心理问题。**儒家提倡“智、仁、勇”三种最高的道德标准,勇气是其中之一,它也是我们应该训练的一种品质呀。**
好,如果你又一次认同了我的观点,那么我们再来讨论第三个问题,**如何克服学习过程中的困难**。
## 如何持之以恒?
在我看来,如果理顺了前两个问题,也就是为什么要学,以及信心和勇气的问题,那么你最大的心魔其实就破除了。
但毕竟,学习贵在持之以恒的坚持。在这个过程中,我们可能会遇到很多的困难。但对于这些困难,我们也要用正确的心法来对待。所以,接下来我就针对如何面对学习中的困难、如何保证学习时间、如何找到学习的乐趣等常见问题,谈谈我的看法。
### 困难是必须的
首先你得明白,有价值的东西,一定是要克服困难才能得到的,这是公平的。所以**不要指望学知识而不需要付出努力,再好的教程和老师,也只是起到辅助作用**。这里你得注意一个问题就是不要被某些书籍和课程收了智商税比如说“7天学会XXX”“学英语其实不用背单词”等等。这种标题就是违背学习的基本规律的。
所以,当你知道了苦难不可避免这个道理,那你剩下的就只有面对这些苦难。在学习中,你可能经常会被一个难点阻碍住,这很正常。你正确的心态应该是这样的:
* 没有我拿不下的山头,正面拿不下从侧面,侧面不行走背面。多换几个角度,多几次尝试,多看点参考资料,总会成功;
* 那么多人都能学会,我没有道理学不会,一定有更好的方法;
* 这个问题既然有难度,那价值一定也大,所以一定不要放弃。
有了这样的心态,其实再苦再难的事儿都好说了。
### 在旅途中发现乐趣
我一个朋友最近正在从新疆骑行到西藏全程3000公里中间需要穿越无人区。这是他第三次做这样的骑行之前已经骑过川藏线、青藏线。虽然过程很艰苦但沿途美丽的风景和跟自己相处的过程就是这个旅途给他的回报。
我自己也喜欢户外。我家人有时不理解我,问我为什么要开着一辆大房车去那么远,累不累呀。我说,这就是旅行的意义呀。如果直接飞机过去,那有什么意思。
我用这两个例子作类比,是想告诉你:**当我们学习那些有难度的知识的时候,其实肯定能发现出其中的乐趣来。**比如,在学编译原理的时候,你去动手实现几个小例子,哪怕还不到实用的程度,但是好玩呀!当你找到了其中的乐趣,那么别人看你是在艰苦地学习,但其实你是乐在其中呢。就好像,别人看着一个人是在顶风冒雪一个人骑行,但他也是乐在其中呢!
另外呢,在互联网时代,各种不需要动脑的娱乐方式层出不穷。普通的人会在这种廉价的快乐中流连忘返。**而如果你的目标是持续进步,那要培养自己另一种习惯,就是习惯于获得那些艰难的乐趣,这种乐趣是真正的充实的乐趣。**
### 跟自己相处
我前面举的朋友骑行的例子,他是自己一个人。我也喜欢自己开车出去,因为没有了其他人,也就避免了因为人际关系而导致的分神,你只需要关注大自然和你自己。你能感受到自己跟自己对话的过程,自己跟大自然对话的过程。
**学习在大多数情况下也是一个人前行的过程,学到的知识也只属于你一个人。**在这个时候,就只剩下了你要去攻克的知识,和你自己。你能感受到自己跟自己对话的过程,自己跟知识对话的过程。当遇到困难了,你能发现自己的苦闷和焦虑;当解决问题了,你能感受到自己的欣喜。
真正有价值的成绩,都是在这样的跟自己独处、跟自己对话的过程中做出来的。这是一种值得追求的素质。
### 跟志同道合者相伴
独行难,众行易。除了那些内心特别强大的、从来都不屑于与普通人同行的天才,我们大部分普通人还是愿意有一些同伴一起结伴而行的,这样会大大降低驱动自己所需的努力。
我在读研时曾报过GRE的培训班。我感觉报班的最大作用其实不是跟着老师学到多少知识而是培训班乌泱乌泱的一大堆的同学给我提供了一种气场让我每天不想别的赶紧学习就是了。
这样的群体还会有效改变自己的学习标准。在学GRE之前我觉得一天背几十个单词已经挺辛苦的了。但到了GRE班我很快就接受了每天背200个的新标准因为其他人也是采用这个标准的。关键是就算每天背200个我也没觉得有多困难。所以你看人的潜力有多大的弹性而一个好的群体就是能无形中给人提供这种心理上的能量。
而且那时的同学都会有这种体会,就是每天如果不背单词就不舒服,上瘾。那段时间,随便看到一个单词,脑子里就会出现几个近义词和反义词,这种感觉很奇妙。再次印证了我前面说到的那种奋斗中的乐趣。
在软件领域,有很多技术社区,这些社区也能起到对人的心理加持作用,你可以善加利用。
最后,如果有要好的朋友和导师,能够鞭策你,那也非常难得。有管理经验的人都知道,虽然我们希望每个员工都有自我驱动的能力,但**合适的外部驱动能降低员工驱动自己所需要消耗的努力**。毕竟,我们大部分人其实是愿意工作在“低功耗模式”,能节省能量就节省能量。
### 使用运营思维
在互联网时代各种App在功能设计和运营上充满了心理学的套路以便培养用户的习惯。游戏公司更是会雇佣心理学专家来设计各种套路。
那么,与其让别人套路你,不如自己套路自己,同样利用心理学的知识来培养自己的学习习惯,把自己的时间、自己的命运把握在自己手里,不是更好吗?
心理学的基础原理并不难你自己就能从各种App的使用套路里体会到一些。比如说对取得的成绩即时给予奖励。从心理学的角度、从各种App背后的运营者的角度来看我们每个人其实就是巴甫洛夫实验室里的动物而已。通过这样的自我训练你可以达到一些很好的效果
* 建立良好的学习流程,有明确的开始和结束时间;确认一下每天的学习目标和学习成果,或者可以建立学习过程的仪式感;给自己一个良好的环境。
* 没有学习的时间?那是不可能的。这是因为你没有给学习安排出专门的时间来。
* 以输出带动输入。很多同学有写技术博客的习惯,这个习惯非常好。因为你要写出东西来,所以会逼迫自己把思路理清楚。
* 激进一点的:直播自己的学习过程,给自己提供外部监督和激励机制。
## 小结
今天这一讲,我聊了聊对于学习比较难的、比较基础的知识的心法的理解。总结起来,主要有三点:
* 第一,那些基础知识的素养,决定了一个人的发展潜力,这是你要学习它们的原因;
* 第二,没有学不懂的知识,真正的障碍是心理上的自我设限;
* 第三,学习的过程,就是砥砺前行的过程,经常能自省和调整自己的状态,就能养成自己的学习能力。
那么,你对于学习,有没有什么好的心法?欢迎在留言区跟大家交流!
感谢阅读。如果你也觉得很有收获,非常欢迎你把今天的内容分享出去,跟你身边的朋友一起做会学习的人。
我们接下来就要进入到期中复习周了,到时候你就可以来看看,在前半段的课程中,你都学习得怎么样!