写给程序员的有效学习方法

在 9 月新西兰的 Kiwi PyCon (一个关于 Python 语言的年度例行研讨会)研讨会中,我就提出了针对程序员的有效学习方法。演讲中主要提到了两个方面:一个是思维模式方面,一个是具体可用的学习方法。下文是那次演讲中关于思维模式的一个简单指南。如果你想了解学习方法方面的内容,这里有视频

Recurse Center

在去年我加入Dropbox(美国一家云存储服务公司)之前,我在纽约一家叫Recurse Center的公司工作了两年。Recurse Center是一个针对程序员静修的社区,类似于作家的静修寓所。参与者在这里用三个月的时间来做他们最感兴趣的事情。因此一个做了十年java开发的人可能去Recurse Center学习一个新的语言,比如Clojure(Clojuer是一种在JVM平台运行的动态函数式编程语言)或者有人刚刚毕业于计算机专业可能去那里学习Web开发技能。再者,有人只是业余学习编程,可能只是去那里充电。在那里编写程序几乎是没有组织计划的——没有交付期限,没有任务分配,也没有教学指导。是成人自学的一次体验。

我的角色相当于一个导师,帮助人们充分利用他们在Recurse Center因充分自由而感到迷茫的时间。受过传统教育或者从事过传统工作出来的人们经常不知道他们该做什么。因此我会帮助他们设立目标,帮助他们充分利用经验。我们考虑的最多的事情是对编程者来说如何尽可能有效地充分利用他们的学习经验。今天我将讲一些调研案例,涉及到如何成为一个高效的学习者以及作为程序员和工程师怎么将研究成果应用到们的日常生活中。

想从这篇文章中学到什么

花一分钟想想你想从这篇文章学到什么。你可能想要学到怎样尽可能有效地工作。你可能想知道怎样成为初级工程师的更好老师或指导者。或者你可能想知道怎么在组织中做出一些制度上的改变,为高效地工作创建一个更好的环境。

以上的这些都是有用的目标,我将在材料中提及相关内容。然而,我建议你仔细思考一下你自己大多的学习方法。当我听到这些学习方法的时候,经常是这些方法明显适用于其他人,但是对我来说并不适用。我稍后会详述这个观点。

成长型思维模式:Carol Dweck

让我们来讨论一下有效学习的第一个关键。社会学家 Carol Dweck 在关于人们怎样看待智力的问题上做了大量有趣的研究。她发现对于智力的看法主要有两种不同的看法。一种,她称为固定型思维模式。这种观点认为,智力是与生俱来、难以改变的资质。另一种是成长型思维模式。成长型思维模式的观点是:这些人相信智力是可塑的,可以通过努力来改善的。

(译注:Carol Dweck,美国心理学、社会心理学和发展心理学领域的杰出人格研究者)

Dweck发现,一个人对于智力的观点——固定型思维模式还是成长型思维模式,可以显著地影响一个人选择工作任务的方式、对于挑战的应对方式、一个人的认知表现,甚至一个人的诚信。让我们看一些Dweck有趣的的研究。

两种思维方式引起努力程度的不同

第一个有趣的研究结果就是,思维模式影响了人们对努力的观点如果你是固定型思维模式的人,你相信人不是聪明的就是不聪明的,人们没办法真的改变这个事情。同时你相信如果你擅长某件事情,它对你来说就是容易的。如果某件事情对你来说是困难的,你就一定不擅长这件事。这是固定型思维模式人群的观点。成长型思维模式的人相信只要你在一件事情上付出