《关键20小时,快速学会任何技能》读书笔记
仅看书名,这是一本容易让急功近利者奉为经典的书,但同时它又容易让某些培训机构反复炒作和利用。如果了解过《异类》中提到过的一万小时理论,都会觉得这违反了心理学常识,根本不可能做到的事。
我本人之所以看这本书,一方面是吃一堑长一智,由于主观意识太强,认为《如何有效阅读一本书》并不能教我学会如何阅读而错过了好多时间;另一方面自己也确实想自学一门技能——编程。而本书恰巧有提到小白自学编程的一些经验,这里的小白指的是自学编程需要一台电脑这样的程度。以我对编程的了解来看,这些经验是值得借鉴的。这本书并非只讲到编程,还包括瑜伽,围棋,尤克里里,冲浪,触摸打字等。
作者乔希·考夫曼在有了孩子之后发现属于自己的自由时间越来越少了,于是花时间研究学会一个技能需要多久。期间去图书馆阅读了大量的应用心理学书籍。发现一万小时理论讲的是专家级别,而学会一门技能并非需要这么长时间,最后他得出结论,学会一个技能只需20小时。他发现我们学习的时候的情况如下:
作者将快速习得技能的过程分解为四个:1.分解步骤;2.充分学习;3克服困难;4.集中练习。仅此这几个词看,我认为并没有什么新意,都是老生常谈的旧词,这种感觉是从宏观上来看待的,我们都知道精髓往往隐藏在细节上的,接下来继续向下挖掘。
作者首先将技能习得和技能学习做了比较:技能习得通常跟潜意识相关,比如我们学会说话或者学会开车或者游泳,这属于技能习得;而技能学习则往往运用到意识,比如我们小学时学语文,学造句,学写文章以及规范开车等,它通常需要通过系统和理论的学习,对习得的技能有规范和促进的作用;而现实中其实还有技能训练,比如你会跑步,但你未必能跑马拉松,这几乎就包括了技能习得和技能学习,因为这个过程已经不是左右脚交替变换前进就能完成得了的,需要考虑到鞋子的摩擦力,呼吸以及四肢的协调性,高手还会考虑到衣服与身体的摩擦等等。我认为作者这里算是把技能习得和技能学习讲得较清楚了。
作者在花大篇幅讲述他学习编程,瑜伽等经验之前先把他20小时掌握一个技能的10个方法先抛了出来,这样做的好处就是阅读经验的时候能够加深对这些方法的认识。
以下便是十个方法:
1.选择方向:兴趣,人世间最幸福的事情莫过于发现问题,爱上问题,设法解决问题,直至下一个更有意思的问题出现。
2.集中精力:巴不得一口气可以学很多技能,这是初学技能时最容易犯的错误之一,选择一个你心仪已久的技能,记住,“有且只有”这一个。
3.制定目标:说得简单一些就是学完这门技能后你要求自己达到什么样的水平?在日常生活中拥有这样的技能,你到底又能做些什么?
4.分解技能:分步骤学习技能,有助于我们在众多步骤中判断出至关重要的那一步。如果先努力把至关重要的步骤学到手,我想剩下的几步也会学得比较轻松顺利。
5.获得工具:学习这门技能需要什么样的条件?要使用什么样的学习用具?你能不能弄到这些学习用具?
6.扫除障碍:环境干扰。例如,开着的电视;突然响起的电话;刚刚收到的电子邮件。情绪障碍:例如,害怕;怀疑;害羞。
7.腾出时间:为技能习得腾出时间的最佳方法是筛选出低效时间,将之淘汰。
8.及时反馈:“及时反馈”是指尽可能快地准确了解你在技能习得中的表现。如果长时间都没能得到反馈,那么也谈不上快速技能习得了。
9.计时训练:这一步主要是要避免疲劳。
10.数量速度:练就一门技能必须用心,必须坚持。刚开始学习时,不要盲目追求质量,相反,必要的训练量和训练速度才是制胜法宝。练得多,练得快,才能学得快。
另外,作者还附上10个有效学习的方法,我挑选几条来讲:
1.收集信息:实践前查阅与这门技能相关的信息,为了尽快了解重要的基础技能,关键步骤以及必要的学习工具。
2.克服困难:参考资料往往有专业术语,概念等无法理解的困惑,而这些困惑通常需要在实践后解决。
3.排除干扰:电子干扰和生物干扰是最大两个干扰源。通常可以通过增加干扰源能干扰你的难度来实现,比如物理隔绝,把手机锁起来将钥匙交给他人。
4.创建定式:罗列清单,逐步进行。
5.关联类比:肿瘤病人需要进行放射性治疗,但射线太强会把健康细胞杀死,而射线太弱又杀不死肿瘤细胞,请问怎么办呢?联想类比:将军进攻一座有护城河的城池,太多人过去吊桥就塌了,但太少人过去又拿不下城池,解决方法就是兵分几路进去,这样既能解决掉吊桥承受不住压力的问题,又能拿下城池。
而作者关于瑜伽,围棋,尤克里里,冲浪和触摸打字等案例分析我没有看毕竟自己目前没有想学这些,我主要看了他关于编程的这部分。接下来谈谈作者对编程经验的分享以及可行性分析。
作者学习编程的心得:复杂的东西拆解之后就会变得很简单。
作者学习编程的背景,自己运营一个门户网站,在上面推荐一些书单。网站超过万的访客量时很容易崩溃,在换了五家服务商的服务器后仍然没有解决问题,于是想通过其他办法解决,逛网页的时候得知潜在的解决方案是换一种服务器框架,而要做到这个必须要用到编程。作者10年前曾在大学学过编程,但经久未用,所学早就忘光了。我认为这就是作者方向明确的表现。
接着作者开始对编程用自己的话进行描述,将其定义清楚。比如:作者认为“编写一个计算机程序”意味着要定义从什么哪里开始,定义计算机在输入时所进行的精确步骤以及定义程序完成运行之后计算机将返回的输出,最后将其跟流程图关联起来。这样的认知我想大多数人都知道,但这是在作者列了好几个关于计算机程序的句子之后得出的。我认为这算是搞清楚自己要具体到要做什么?属于拆解步骤的表现。
选择编程语言以及框架,这里的选择从自己的目标(解决访客量的问题)和技术论坛以及资料中相互参考得出。这一步我认为属于工具的选择。
准备就绪后,很多人可能会陷入一种先把所有资料先学一遍,这是属于学校的教学方法,从基础开始学习,但这种方法其实是建立在整体上有学校的课程以及老师把控为前提的。作者差点也陷入想把基础全部学完之后再开始,只是作者忽然明白,其实自己的目的就是解决问题。所以他采取马上实践操作,遇到不懂或者困难时就查阅资料,或者在论坛上寻找解决方案或者直接询问专业人员(发邮件或者社区提问)。以问题为导向来反过来学习所需要的知识,这不得不说是一个好的方法。
编程本身很快就能得到反馈,因为行不行得通一运行就知道了,而且编辑器还能快速告诉你问题出在哪里。这就是及时反馈。而且往往在这时候,对语法和基础才能理解更加深刻。
作为一个稍微接触过计算机的我来说,以前也曾想过学编程。但一直困于不知道如何开始。这篇经验是值得学习和借鉴的。也希望自己能通过自学学会这门技能。
整本书阅读下来,感觉这本书适合对某个技能很感兴趣并且不知道如何开始的人阅读;其中最重要的价值就是书中的六个案例,因为我深知一个道理,那就是通过两个以上的例子的学习效果远远超过一个例子加理论的学习。