第1章 绪 论

欢迎大家!

感谢选择这本书。我们将共同经历一次有关认知科学、神经学、学习和行为理论的旅程。你将看到人类大脑令人惊奇的工作机制,并研究如何克服这一系统的局限来提高自己的学习和思考技能。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

我们将开始重构你的“湿件”——对大脑进行“重新设计”和“重新连线”,使你更高效地工作。不论你是程序员、管理者、“知识工人”、技术奇人还是思想家,或者你只是想让你的大脑聪明一点,这本书对你都会有所帮助。

我是一名程序员,所以我的例子和言论都离不开软件开发领域。但是,如果你不是开发人员,也不必担心,实际上程序设计与使用神秘、深奥的编程语言编写软件没有多大关系(尽管我们总是习惯性地认为它们很相关)。

程序设计其实就是解决问题,它需要发明、创造和灵感。不论你从事什么职业,可能都需要创造性地去解决问题。然而,对于程序员来说,既要受到数字计算机系统的严格约束,又要展开丰富而灵活的人类思考,这就会展示二者的强大力量,又会深深地暴露二者的缺陷。

无论你是一名程序员,还是一位心灰意冷的用户,可能都曾认为软件开发是人类可以想象和遇到的最艰难的工作。它的复杂性耗尽了我们的全部智慧,而一旦失败则后果是可怕的,且往往极具新闻价值。我们曾经让宇宙飞船偏离了轨道,撞向遥远的星球;让昂贵的火箭爆炸,蒙受无法弥补的实验损失;给消费者寄去索要零美元的催款信,搞得人家莫名其妙;时不时还让航空旅客滞留在机场。

适才我们发现:这完全是我们自己的错误造成的。我们自身往往增加了程序设计的难度。随着软件行业的不断发展,我们似乎失去了作为一名软件开发人员所必需的最基础、最重要的技能。

不过好在,我们此时此地就能改正这个错误。本书将告诉你如何去做。

过去40年中,程序员引入到程序中的缺陷的数量已经基本保持不变。尽管程序设计语言、技术、项目方法论等都在不断改进,但缺陷发生的频率仍然保持在同一水平,没能得到改善〔1〕

也许这是因为我们一直关注着错误的事情。尽管技术上有了很多显著的改变,但有一样东西却始终没变:我们自己——作为开发人员的人。

软件并不是在集成开发环境(IDE)或其他工具上设计出来的,它是在我们的大脑中想象和创造出来的。

软件是在头脑中创建的。

Software is created in your head.

思想和概念是需要在团队(也包括付钱让我们开发软件的人)中分享和交流的。我们已经在改进基础技术——程序设计语言、工具、方法上花费了很多时间,当然这也是十分必要的,但现在是我们更进一步的时候了。

现在我们需要研究的真正难题是团队内部和团队间的交流,甚至更困难的问题是完全陈旧的思想。没有任何项目是孤岛,软件不可能孤立地创建或者运行。

Frederick Brooks在他的里程碑式的文章《没有银弹》[Bro86]中提出:“软件产品处于应用、用户、规则和硬件〔2〕的合力之下。这些因素总是在不断变化,迫使软件产品也随之改变。”

Brooks的言论把我们推向了社会漩涡的中心。考虑到社会中各个相关团体的复杂交互影响和社会的持续变化,在我看来当前最重要的两项技能就是:

□ 沟通能力;

□ 学习和思考能力。

软件行业正在逐步提高沟通能力。特别是敏捷方法(见注解栏),强调了团队成员之间、最终客户和开发团队之间的沟通交流。类似《演说之禅:职场必知的幻灯片秘技》[Rey08]这样的大众图书突然热卖,表明越来越多的人意识到简单、有效的沟通非常重要。这是个好的开始。

不过,提高学习和思考能力要更难一些。

程序员需要不断地学习——不仅仅是学习新技术,还包括应用的问题域、用户社区的奇思妙想、同事的古怪习惯、行业的八卦新闻和项目演进的重要特征,我们必须学习学习再学习,持续不断地学习,然后把学习成果应用到解决日常遇到的一切新旧问题上。

也许,这些听起来都相当容易,但学习能力、批判性的思考能力和创造力——所有这些扩展思维的能力,都取决于你自己。没有人教你这些东西,你必须自己学习。我们往往错误地看待老师和学生的关系:不光是老师在教,学生也要学。学习完全取决于你自己。

我希望本书能够帮你获得又快又强的学习能力和更实用的思考能力。

什么是敏捷方法

“敏捷方法”这个词最早出现在2001年2月的一次峰会上,与会的17个人都是软件开发行业领军人物,他们创建了各种开发方法,如极限编程、Scrum、Crystal,当然也包括我们的注重实效的编程。

敏捷方法在很多重要的方面都与传统的基于计划的方法不同,最显著的就是摆脱了死板的规则,丢弃了陈旧的日程表,注重实时的反馈。

我在本书中会经常提到敏捷方法,因为很多敏捷思想和实践都是与良好的认知习惯相融合的。

1.1 再提“实用”

从最初的《程序员修炼之道:从小工到专家》[HT00]到现在的Pragmatic系列图书,你会注意到我们一直在冠以实用(pragmatic)这个词。实用主义(pragmatism)的本质就是做对你有用的事情。

在开始讨论之前,请牢记:每个人都是不同的。虽然我引用的很多研究成果都已经被大部分人所沿用,但也有一些还未广为使用。我会运用大量不同的材料,既有通过对人脑的功能性核磁共振扫描证实的科学事实,又有一般概念性理论,既有荒诞故事,也有“嘿,Fred做了尝试,这对他管用”的日常生活中的例子。

在很多情况下,尤其是在讨论大脑时,根本的科学依据是未知的或不可知的。但你不必为此担心:如果某种方法是有效的,那么它就是实用的,我就会写入书中,供你思考。我希望这些方法中的大多数对你都有用。

切忌随波逐流。

Only dead fish go with the flow.

不过,总有些人与众不同,你可能就是其中一员。这也没关系,不要盲目地听从任何建议,包括我的建议。你可以用开放的思维来阅读本书,尝试执行一些建议,再判断哪些对你有用。

什么是湿件

wet·ware│wet, we(e)r│词源:wet+software

名词,谐语。指人脑细胞或思维过程,与计算机系统相对应。

也就是说,利用计算机模型类比人类的思维过程。

 

随着不断成长和适应,人们需要改变自己的习惯和方法。生命中没有什么是恒久不变的,只有死鱼才随波逐流,尝试改变自己。请把本书当作改变的开始。

我将会分享在我的经历中发现的实用思想和方法,剩下的就看你的了!

1.2 关注情境

万事万物都是相互联系的:自然界、社会系统、你内心的想法、计算机的逻辑——所有事物构成了一个庞大的相互联系的现实世界。没有什么事物是孤立存在的,一切都是系统和更大的情境的一部分。

由于现实世界的相关性,小的事物可能会有意想不到的巨大影响。这种不成比例的影响作用是非线性系统的标志,也许你并未注意到,现实世界毫无疑问是非线性的。

 

当我们试图将某个事物单独挑出来时,我们发现它与宇宙中的其他事物是息息相关的。

——约翰·缪尔(美国作家),1911年,《山间夏日》

 

在本书中,你会发现一些活动只有不起眼的差异,看不出它们之间能有什么区别。比如,冥想与大声说出你的想法,或者在纸上写一句话与在计算机编辑器中输入这句话。抽象地讲,这些事情应当是完全等价的。

然而,事实并非如此。

这些活动使用了人脑中完全不同的思维路径,这些思维路径深受人类思想和思考方式的影响。思想并没有与大脑或身体的其他部分切断,它们相互间是密切相连的。这只是一个例子(在本书的后面章节将会讨论更多关于人脑的话题) ,但它有助于说明理解这些相互作用的系统的重要性。

一切都是互相关联的。

Everything is interconnected.

在《第五项修炼》[Sen90]一书中,Peter Senge推广了系统思维(systems thinking)这个词语,描述了另外一种观察世界的方法。在系统思维中,人们试图将一个事物看作几个系统的连接点,而不是一个独立的个体。

例如,你可能把一棵树看作一个单独、离散的对象,立在地面。但事实上,一棵树至少是两个主要系统的连接点:树叶和空气的处理循环与根和泥土的处理循环。树不是静止的,也不是孤立的。更有趣的是,几乎没有人只是系统的一个观察者,不论你是否意识到,很可能你就是这个系统的一部分〔3〕

诀窍1

始终关注情境。

 

将这句话写下来贴在你的墙上、书桌上、会议室里、 白板上,甚至任何你独立思考或与他人共同思考的地方。我们将会在本书后面讨论这个主题。

1.3 所有人都关注这些技能

在我构思如何写这本书的时候,我发现很多不同领域的人都在谈论这些我感兴趣的话题。这些领域包括:

□ MBA和高级管理人员的培训;

□ 认知科学研究;

□ 学习理论;

□ 护理、卫生保健、航空以及其他行业;

□ 瑜伽和冥想;

□ 编程、抽象和问题解决;

□ 人工智能研究。

有些东西是基础的、各领域相通的。

There's something funda mental here.

当你从以上各个领域发现事物虽有不同的表象却有着相通之处,这其实是一个信号。在如此众多的不同情境下却拥有类似的思想,那么必然存在某些根本和重要的东西。

瑜伽和冥想训练近来相当流行,却似乎想不出有什么明确的原因。大约2005年10月前后,我曾经在飞机上看到杂志上的标题醒目地写着“公司提供瑜伽和冥想训练以减少不断增加的保健成本”。

大公司以前从没有提供过类似活动,但是医疗费用的急速增长迫使它们去寻找一切解决办法。很显然,它们相信瑜伽和冥想的练习者会比普通人拥有更强健的体魄。在本书中,我们更关心这些方法与认知相关的地方,当然如果能获得全面健康那也是很不错的收获。

我也注意到MBA和高级管理人员的很多教程都在提倡各种思考性的、创造性的、直觉性的技能,这些东西都是当前已有的研究成果,不过还没有普及到奋战在第一线的员工,包括我们这些知识型工作者。

但是不要担心,我会在本书中讨论这些话题,非MBA也能享受这些成果。

1.4 本书结构

每一次美好的旅程都由一幅地图开始,我们的地图就在本节。尽管本书的章节是按顺序依次排列的,但这些章节却是相互关联的。

毕竟一切事物都是相互联系的,但是当你面对一本顺序写成的书时,却不容易领悟到这个观点。你也许无法通过书中各章节中无数个“又见”的提示,去体会到这种关联性。那么通过本节内容,我希望你能稍微明白一些各主题之间的联系。

请记住,以下的主题就是本书的方向,虽然讨论中我们还会说些别的话题。

1.4.1 从新手到专家的历程

在本书的第一部分,我们将研究一下大脑为何如此运转,一开始就引入一个流行的专业模型。

技能获取领域的德雷福斯模型(Dreyfus model)是研究如何超越新手层次、如何不断精通技术的有效方法。我们将会探讨德雷福斯模型,并特别关注成为一名专家的关键要素:应用你自己的实践经验、理解情境和利用直觉。

1.4.2 认识你的大脑

当然,在软件开发中最重要的工具就是你自己的大脑。我们将会讨论一些认知科学和神经系统科学的基本知识,因为它们与软件开发人员的兴趣密切相关,比如把人脑模型可以类比成双CPU、共享总线设计,以及如何对你自己的大脑作“手术”。

1.4.3 正确使用大脑

一旦对大脑有了更深的认识,我们将想方设法提高创造力和问题解决能力,以及更有效地获取经验。

我们还将探讨直觉从何而来。直觉是专家的基本特征,事实上难以驾驭。你需要它,依赖它,但或许也莫名其妙地反对经常使用它。你可能总会怀疑自己或其他人的直觉,错误地认为它是“非科学的”。

我们将探讨如何转变这种思想,给直觉更大的活动空间。

1.4.4 调试你的大脑

直觉是非常奇妙的技能,当然直觉出错时除外。在人类思考中存在着许多“已知的缺陷”:个人认知偏见、时代及同代人的影响、固有的个性,甚至是大脑底层的生物性缺陷。

这些缺陷经常会误导人们做出错误的判断,甚至走向灾难性的深渊。

了解这些常见缺陷是消除其影响的第一步。

1.4.5 积极学习

既然我们对大脑的工作方式有了深入了解,那么接着我们开始研究如何利用这个系统,引入有关学习的话题。

请注意,这里我所说的学习具有广泛的含义,不仅指对新的技术、程序设计语言之类的学习,也包括对所在团队的变化、所开发软件的重要新功能等内容的学习。在当今时代,我们必须不断地学习。

但是我们绝大部分人并没有学习过如何去学习,只是凭自我感觉。我将告诉你一些具体的技巧来帮助你改进学习能力。我们将探讨做计划的技能、思维导图、阅读技巧(SQ3R),以及教学和写作的认知重要性。拥有了这些技能后,你将会更快、更容易地吸收新的信息,获得更强的洞察力,更好地融会贯通新的知识。

1.4.6 积累经验

积累经验是学习和成长的关键——实践出真知。但单纯的“实践”并不是成功的保证,你需要从实践中学习其中的价值,而一些常见障碍会让这个过程很艰难。

但你也不要刻意地拼命实践,过犹不及。我们将研究如何利用反馈、乐趣和失败来创造更有效的学习环境,关注设定最后期限的危害,并体会如何通过自我引导积累经验。

1.4.7 控制注意力

控制注意力是此次旅程的关键下一步。我将分享一些技巧,帮助你管理需要学习和实践的大量知识、信息和见解。我们生活在信息丰富的时代,而且日常工作很容易搞得你焦头烂额,你没有机会推进自己的职业生涯。让我们共同解决这个问题,加强你的注意力。

我们将研究如何优化你当前的情境,如何更好地处理烦人的打扰,并看一看打扰为何有害。我们还将探讨为何需要分散一些注意力,以便更好地聚焦于思维浸泡之中,并以更积极的方式管理你的知识。

1.4.8 超越专家

最后,我们将快速讨论一下为何改变自己比想象中的困难,并且我会提供一个你可以立即付诸行动的建议。

我将分享专家之上还有什么层次,并告诉你如何达到。

现在,请坐下,端起你的可口饮料,让我们揭开本书的神秘面纱。

1.4.9 实践单元

在本书中,我会设立一个“实践单元”,可以让你加深印象并真正掌握所学内容。这部分会包括练习、实验或者培养习惯。我使用多选框标记,这样当你完成一项后,可以画个勾,就像下面这样。

□ 认真思考一下你的项目的当前问题。你能指出它所涉及的不同系统吗?这些系统是在何处交互的?这些交互点是否与你当前的问题相关呢?

□ 找出情境中导致你的问题出现的三个因素。

□ 在你的显示器周围的某个地方,贴上一个标签“关注情境”。

关于插图

你可能注意到本书中的插图并不像通常采用Adobe Illustrator或类似软件制作出来的精致图片那样,这是我故意的。

从Forrest M. Mims的电子书,到敏捷开发人员所钟爱的小纸片上的设计文档,手绘插图具有独特的作用,我们会在本书后面的内容中看到。

1.5 致谢

非常感谢Ellie Hunt向我介绍了德雷福斯模型以及相关的护理方面的知识,帮助修改我不通顺的文字,确保了本书的进度,同时打理着我们的公司。编辑的工作通常非常艰苦且不讨好,仅仅在前言中表示感谢远远不够。集编辑、母亲和管理者的角色于一身,她展示了高超的技巧和极大的耐心。

感谢在Pragmatic Wetware邮件列表中的朋友们及审阅人,包括Bert Bates、Don Gray、Ron Green、Shawn Hartstock、Dierk Koenig、Niclas Nilsson、Paul Oakes、Jared Richardson、Linda Rising、Johanna Rothman、Jeremy Sydik、Steph Thompson,以及所有分享过他们的想法、经验和文章的人们。这些经验的碰撞极其宝贵。

特别感谢June Kim对整本书的众多贡献,他告诉了我许多研究线索和他本人学习与思考的经验,并且他在本书孕育的各个阶段均做出了积极反馈。

同样要特别感谢Patricia Benner博士,她将德雷福斯模型引入到护理行业中,感谢她的支持,允许我引用她的研究成果,还感谢她对学习能力研究的巨大热情。

感谢Betty Edwards博士,她是开展人脑半球研究的实际应用的急先锋,感谢她的支持,允许我引用她的研究成果。

感谢Sara Lynn Eastler为本书做索引,感谢Kim Wimpsett为本书校正单词和语法,感谢Steve Peter为本书做了精美排版。

最后,感谢你购买了本书,并和我一起开始这个旅程。

让我们的事业沿着正确的方向不断前进,运用我们的经验和直觉,创造适合学习的新环境。

注 释

〔1〕 引自Bob Binder,基于Capers Jones的研究成果。

〔2〕 也就是平台。

〔3〕 来源于Heisenberg的测不准原理,更一般性的观察者效应(observer effect)认为人必须通过改变系统来认识它。