怎样成为某一领域的顶尖高手?
练习一万小时理论误区
这个题目是不是很成功学,这样的文章在网上一搜一大堆。前几年非常流行的马尔科姆·格拉德威尔(Malcolm Gladwell)的《异类》(Outliers)一书给出一个标准的答案:练习一万小时理论。但是我们在日常的生活中观察,生活中不缺乏一万小时的人,比如有些人天天打麻将一定超过一万小时,可是还是他们并没有成为一个高手。所以这其中一定有什么误区,一万小时只是其中一个条件,也不是必须。那么到底怎样成为一个高手呢?我以前看过 '罗辑思维'一个节目推荐的万维钢老师的一本书《万万没有想到--用理工科思维理解世界》特意找来这本书来看。这个其中一个篇文章"练习一万小时成天才?",下面是我提炼文章中关键的内容和一些程序猿的Tips。
1.只在“学习区”练习。
心理学家把人的知识和技能分为层层嵌套的三个圆形区域:最内一层是“舒适区”,是我们已经熟练掌握的各种技能;最外一层是“恐慌区”,是我们暂时无法学会的技能;二者中间则是“学习区”。如图: 比如说,我们看一本书,如果这本书所说的内容都是我们熟悉的,完全符合我们已有的观念,那么这本书就在我们的舒适区内;如果这本书所说的内容与我们原有的观念不符,但是我们在思考之后仍然能够理解接受,那么这本书就在我们的学习区内;如果这本书我们根本就理解不了,那么这本书就在我们的恐慌区内。
有效的练习任务必须在训练者的学习区内进行,它具有高度的针对性。训练者必须随时了解自己最需要改进的地方。一旦已经学会了某个东西,就不应该继续在这上面花时间,应该立即转入下一个困难点。
在舒适区做事,叫生活;在学习区做事,才叫练习。
持续进步的关键就是持续地在学习区做事。比如说我们的程序猿就需要持续在学习区中做事,学习一个新的框架,学习一个新的算法,学习框架的source code。或者直接去啃Linux系统的source code。我记得在看在看《linux内核完全剖析》这本书的时候作者引用Linus Torvalds一句话。
"Read the Fucking Source Code" -Linus Torvalds
所以走出舒适区是第一步关键的。这样才可以前进。但是脱离舒适区,需要强大的意志力,甚至是一种修炼。
2.把要训练的内容分成有针对性的小块,对每一个小块进行重复练习。
人所掌握的知识和技能绝非零散的信息和随意的动作,它们大多具有某种“结构”,这些“结构”就是套路。下棋用的定式,编程用的固定算法,这些都是套路。这个程序猿很能体会。程序就是一个一个的数据+算法+设计模式。懂得这个就可以对这个专门的练习了。比如工厂模式,单例模式,快速搜索随机树。套路积累多了写的code就得心应手了。
必须进行大量的重复训练。 训练必须有高度的针对性。 重复!重复!再重复!
3.在整个练习过程中,随时能获得有效的反馈。
这个程序猿的也是一个优势项目。一个程序是否写的是否正确。马上运行马上就要得到结果。这个就是及时的反馈。在及时反馈的情况下练习,一个人的进步速度是非常快的。有时候我想从小学到高中都有很多同学埋头苦读但是成绩还是不是很好,作者给我找到一个理由。比如一个学生把教科书里的东西看过好多遍,每次看的时候都感觉看得很明白,他会认为自己已经掌握了,可是一旦考试就会发现自己并没有真正理解。其实把一本书看好多遍,只是让我们对这个东西“熟悉”而已,而熟悉并不等于理解。想要真正理解,唯一的办法是考试和测验。这就是反馈!没有测验,你的知识只是幻觉。所以好的练习方法是debug,不停地debug调试,不停地给出反馈效果。
4.刻意练习时注意力必须高度集中。
刻意练习需要身体和精神资源全力的投入 学习时间长不等于用功。 能够特别专注地干一件事才是最酷的。 在刻意练习中没有“寓教于乐”这个概念。
所谓“一万小时”实在是个误导人的概念。练习时间的长短并不是最重要的,真正的关键是你“刻意练习”。
如果你想学点知识,最好的办法是找本书——最好是正规的教科书或者专业著作——然后老老实实地找个没有人的地方坐下反复读,而且还要自己整理笔记,甚至做习题获得反馈。如果你坚持不了8分钟,你不适合学这个。
练习需要重复,而重复一定不好玩。教育需要全面,而娱乐一定只关注其中好玩的部分。所以娱乐跟学习必然是不相容的,如果你是在娱乐,你就不是在学习。你可以用娱乐的手段号召人去学习,但娱乐本身绝对不是学习。
“寓教于乐”是个现代社会的发明,从来没有哪位古代哲人认为应该寓教于乐。