首页 程序员的思维修炼_开发认知潜能的九堂课

程序员的思维修炼_开发认知潜能的九堂课

举报
开通vip

程序员的思维修炼_开发认知潜能的九堂课 1.1 再提“实用” 1 绪 论 欢迎大家! 感谢选择这本书。我们将共同经历一次有关认知科学、神经学、学习和行 为理论的旅程。你将看到人类大脑令人惊奇的工作机制,并研究如何克服这一 系统的局限来提高自己的学习和思考技能。 我们将开始重构你的“ 湿件” ——对大脑进行“ 重新设计” 和“ 重新连线”, 使你更高效地工作。不论你是程序员、管理者、“ 知识工人”、技术奇人还是思 想家,或者你只是想让你的大脑聪明一点,这本书对你都会有所帮助。 我是一名程序员,所以我的例子和...

程序员的思维修炼_开发认知潜能的九堂课
1.1 再提“实用” 1 绪 论 欢迎大家! 感谢选择这本书。我们将共同经历一次有关认知科学、神经学、学习和行 为理论的旅程。你将看到人类大脑令人惊奇的工作机制,并研究如何克服这一 系统的局限来提高自己的学习和思考技能。 我们将开始重构你的“ 湿件” ——对大脑进行“ 重新设计” 和“ 重新连线”, 使你更高效地工作。不论你是程序员、管理者、“ 知识工人”、技术奇人还是思 想家,或者你只是想让你的大脑聪明一点,这本书对你都会有所帮助。 我是一名程序员,所以我的例子和言论都离不开软件开发领域。但是,如 果你不是开发人员,也不必担心,实际上程序设计与使用神秘、深奥的编程语 言编写软件没有多大关系(尽管我们总是习惯性地认为它们很相关)。 程序设计其实就是解决问题,它需要发明、创造和灵感。不论你从事什么 第 1 章 第 1章 绪 论 2 职业,可能都需要创造性地去解决问题。然而,对于程序员来说,既要受到数 字计算机系统的严格约束,又要展开丰富而灵活的人类思考,这就会展示二者 的强大力量,又会深深地暴露二者的缺陷。 无论你是一名程序员,还是一位心灰意冷的用户,可能都曾认为软件开发 是人类可以想象和遇到的最艰难的工作。它的复杂性耗尽了我们的全部智慧, 而一旦失败则后果是可怕的,且往往极具新闻价值。我们曾经让宇宙飞船偏离 了轨道,撞向遥远的星球;让昂贵的火箭爆炸,蒙受无法弥补的实验损失;给 消费者寄去索要零美元的催款信,搞得人家莫名其妙;时不时还让航空旅客滞 留在机场。 适才我们发现:这完全是我们自己的错误造成的。我们自身往往增加了程 序设计的难度。随着软件行业的不断发展,我们似乎失去了作为一名软件开发 人员所必需的最基础、最重要的技能。 不过好在,我们此时此地就能改正这个错误。本书将告诉你如何去做。 过去 40 年中,程序员引入到程序中的缺陷的数量已经基本保持不变。尽管 程序设计语言、技术、项目 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 论等都在不断改进,但缺陷发生的频率仍然保 1.1 再提“实用” 3 持在同一水平,没能得到改善①。 也许这是因为我们一直关注着错误的事情。尽管技术上有了很多显著的改 变,但有一样东西却始终没变:我们自己——作为开发人员的人。 软件并不是在集成开发环境(IDE)或其他工具上设计出来的,它是在我们 的大脑中想象和创造出来的。 思想和概念是需要在团队(也包括 付钱让我们开发软件的人)中分享和交 流的。我们已经在改进基础技术——程序设计语言、工具、方法上花费了很多 时间,当然这也是十分必要的,但现在是我们更进一步的时候了。 现在我们需要研究的真正难题是团队内部和团队间的交流,甚至更困难的 问题是完全陈旧的思想。没有任何项目是孤岛,软件不可能孤立地创建或者运行。 Frederick Brooks 在他的里程碑式的文章《没有银弹》[Bro86]中提出:“ 软 件产品处于应用、用户、规则和硬件②的合力之下。这些因素总是在不断变化, 迫使软件产品也随之改变。” ① 引自 Bob Binder,基于 Capers Jones 的研究成果。 ② 也就是平台。 软件是在头脑中创建的。 Software is created in your head. 第 1章 绪 论 4 Brooks 的言论把我们推向了社会漩涡的中心。考虑到社会中各个相关团体 的复杂交互影响和社会的持续变化,在我看来当前最重要的两项技能就是:  沟通能力;  学习和思考能力。 软件行业正在逐步提高沟通能力。特别是敏捷方法(见注解栏),强调了团 队成员之间、最终客户和开发团队之间的沟通交流。类似《演说之禅:职场必 知的幻灯片秘技》[Rey08]这样的大众图书突然热卖, 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 明越来越多的人意识到 简单、有效的沟通非常重要。这是个好的开始。 不过,提高学习和思考能力要更难一些。 程序员需要不断地学习——不仅仅是学习新技术,还包括应用的问题域、 用户社区的奇思妙想、同事的古怪习惯、行业的八卦新闻和项目演进的重要特 征,我们必须学习学习再学习,持续不断地学习,然后把学习成果应用到解决 日常遇到的一切新旧问题上。 也许,这些听起来都相当容易,但学习能力、批判性的思考能力和创造力 ——所有这些扩展思维的能力,都取决于你自己。没有人教你这些东西,你必 1.1 再提“实用” 5 须自己学习。我们往往错误地看待老师和学生的关系:不光是老师在教,学生 也要学。学习完全取决于你自己。 我希望本书能够帮你获得又快又强的学习能力和更实用的思考能力。 什么是敏捷方法 “ 敏捷方法” 这个词最早出现在 2001 年 2 月的一次峰会上,与会 的 17个人都是软件开发行业领军人物,他们创建了各种开发方法,如 极限编程、Scrum、Crystal,当然也包括我们的注重实效的编程。 敏捷方法在很多重要的方面都与传统的基于 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 的方法不同,最 显著的就是摆脱了死板的规则,丢弃了陈旧的日程表,注重实时的反 馈。 我在本书中会经常提到敏捷方法,因为很多敏捷思想和实践都是 与良好的认知习惯相融合的。 1.1 再提“ 实用” 从最初的《程序员修炼之道:从小工到专家》[HT00]到现在的 Pragmatic 系列图书,你会注意到我们一直在冠以实用(pragmatic)这个词。实用主义 第 1章 绪 论 6 (pragmatism)的本质就是做对你有用的事情。 在开始讨论之前,请牢记:每个人都是不同的。虽然我引用的很多研究成 果都已经被大部分人所沿用,但也有一些还未广为使用。我会运用大量不同的 材料,既有通过对人脑的功能性核磁共振扫描证实的科学事实,又有一般概念 性理论,既有荒诞故事,也有“ 嘿,Fred 做了尝试,这对他管用” 的日常生活 中的例子。 在很多情况下,尤其是在讨论大脑时,根本的科学依据是未知的或不可知 的。但你不必为此担心:如果某种方法是有效的,那么它就是实用的,我就会 写入书中,供你思考。我希望这些方法中的大多数对你都有用。 不过,总有些人与众不同,你可能就是 其中一员。这也没关系,不要盲目地听从任 何建议,包括我的建议。你可以用开放的思维来阅读本书,尝试执行一些建议, 再判断哪些对你有用。 什么是湿件 wet•ware | wet ,we(e)r | 词源:wet+software 切忌随波逐流。 Only dead fish go with the flow. 1.2 关注情境 7 名词,谐语。指人脑细胞或思维过程,与计算机系统相对应。 也就是说,利用计算机模型类比人类的思维过程。 随着不断成长和适应,人们需要改变自己的习惯和方法。生命中没有什么 是恒久不变的,只有死鱼才随波逐流,尝试改变自己。请把本书当作改变的开 始。 我将会分享在我的经历中发现的实用思想和方法,剩下的就看你的了! 1.2 关注情境 万事万物都是相互联系的:自然界、社会系统、你内心的想法、计算机的 逻辑——所有事物构成了一个庞大的相互联系的现实世界。没有什么事物是孤 立存在的,一切都是系统和更大的情境的一部分。 由于现实世界的相关性,小的事物可能会有意想不到的巨大影响。这种不 成比例的影响作用是非线性系统的标志,也许你并未注意到,现实世界毫无疑 问是非线性的。 当我们试图将某个事物单独挑出来时,我们发现它与宇宙中的其 他事物是息息相关的。 第 1章 绪 论 8 ——约翰·缪尔(美国作家),1911 年,《山间夏日》 在本书中,你会发现一些活动只有不起眼的差异,看不出它们之间能有什 么区别。比如,冥想与大声说出你的想法,或者在纸上写一句话与在计算机编 辑器中输入这句话。抽象地讲,这些事情应当是完全等价的。 然而,事实并非如此。 这些活动使用了人脑中完全不同的思维路径,这些思维路径深受人类思想 和思考方式的影响。思想并没有与大脑或身体的其他部分切断,它们相互间是 密切相连的。这只是一个例子(在本书的后面章节将会讨论更多关于人脑的话 题),但它有助于说明理解这些相互作用的系统的重要性。 在《第五项修炼》[Sen90]一书中, Peter Senge 推广了系统思维(systems thinking)这个词语,描述了另外一种观察世界的方法。在系统思维中,人们试 图将一个事物看作几个系统的连接点,而不是一个独立的个体。 例如,你可能把一棵树看作一个单独、离散的对象,立在地面。但事实上, 一棵树至少是两个主要系统的连接点:树叶和空气的处理循环与根和泥土的处 一切都是互相关联的。 Everything is interconnected. 1.3 所有人都关注这些技能 9 理循环。树不是静止的,也不是孤立的。更有趣的是,几乎没有人只是系统的 一个观察者,不论你是否意识到,很可能你就是这个系统的一部分①。 将这句话写下来贴在你的墙上、书桌上、会议室里、白板上,甚至任何你 独立思考或与他人共同思考的地方。我们将会在本书后面讨论这个主题。 1.3 所有人都关注这些技能 在我构思如何写这本书的时候,我发现很多不同领域的人都在谈论这些我 感兴趣的话题。这些领域包括:  MBA 和高级管理人员的培训;  认知科学研究;  学习理论;  护理、卫生保健、航空以及其他行业;  瑜伽和冥想;  编程、抽象和问题解决; ① 来源于 Heisenberg 的测不准原理,更一般性的观察者效应(observer effect)认为人必须通过 诀窍 1 始终关注情境。 第 1章 绪 论 10  人工智能研究。 当你从以上各个领域发现事物虽有不同 的表象却有着相通之处,这其实是一个信号。 在如此众多的不同情境下却拥有类似的思想,那么必然存在某些根本和重要的 东西。 瑜伽和冥想训练近来相当流行,却似乎想不出有什么明确的原因。大约 2005 年 10 月前后,我曾经在飞机上看到杂志上的标题醒目地写着“ 公司提供瑜伽和 冥想训练以减少不断增加的保健成本”。 大公司以前从没有提供过类似活动,但是医疗费用的急速增长迫使它们去 寻找一切解决办法。很显然,它们相信瑜伽和冥想的练习者会比普通人拥有更 强健的体魄。在本书中,我们更关心这些方法与认知相关的地方,当然如果能 获得全面健康那也是很不错的收获。 我也注意到 MBA 和高级管理人员的很多教程都在提倡各种思考性的、创造 性的、直觉性的技能,这些东西都是当前已有的研究成果,不过还没有普及到 奋战在第一线的员工,包括我们这些知识型工作者。 改变系统来认识它。 有些东西是基础的、各领 域相通的。 There’s something funda- mental here. 1.4 本书结构 11 但是不要担心,我会在本书中讨论这些话题,非 MBA 也能享受这些成果。 1.4 本书结构 每一次美好的旅程都由一幅地图开始,我们的地图就在本节。尽管本书的 章节是按顺序依次排列的,但这些章节却是相互关联的。 毕竟一切事物都是相互联系的,但是当你面对一本顺序写成的书时,却不 容易领悟到这个观点。你也许无法通过书中各章节中无数个“ 又见” 的提示, 去体会到这种关联性。那么通过本节内容,我希望你能稍微明白一些各主题之 间的联系。 请记住,以下的主题就是本书的方向,虽然讨论中我们还会说些别的话题。 1.4.1 从新手到专家的历程 在本书的第一部分,我们将研究一下大脑为何如此运转,一开始就引入一 个流行的专业模型。 技能获取领域的德雷福斯模型(Dreyfus model)是研究如何超越新手层次、 如何不断精通技术的有效方法。我们将会探讨德雷福斯模型,并特别关注成为 一名专家的关键要素:应用你自己的实践经验、理解情境和利用直觉。 第 1章 绪 论 12 1.4.2 认识你的大脑 当然,在软件开发中最重要的工具就是你自己的大脑。我们将会讨论一些 认知科学和神经系统科学的基本知识,因为它们与软件开发人员的兴趣密切相 关,比如把人脑模型可以类比成双 CPU、共享总线设计,以及如何对你自己的 大脑作“ 手术”。 1.4.3 正确使用大脑 一旦对大脑有了更深的认识,我们将想方设法提高创造力和问题解决能力, 以及更有效地获取经验。 我们还将探讨直觉从何而来。直觉是专家的基本特征,事实上难以驾驭。 你需要它,依赖它,但或许也莫名其妙地反对经常使用它。你可能总会怀疑自 己或其他人的直觉,错误地认为它是“ 非科学的”。 我们将探讨如何转变这种思想,给直觉更大的活动空间。 1.4.4 调试你的大脑 直觉是非常奇妙的技能,当然直觉出错时除外。在人类思考中存在着许多 “ 已知的缺陷”:个人认知偏见、时代及同代人的影响、固有的个性,甚至是大 1.4 本书结构 13 脑底层的生物性缺陷。 这些缺陷经常会误导人们做出错误的判断,甚至走向灾难性的深渊。 了解这些常见缺陷是消除其影响的第一步。 1.4.5 积极学习 既然我们对大脑的工作方式有了深入了解,那么接着我们开始研究如何利 用这个系统,引入有关学习的话题。 请注意,这里我所说的学习具有广泛的含义,不仅指对新的技术、程序设 计语言之类的学习,也包括对所在团队的变化、所开发软件的重要新功能等内 容的学习。在当今时代,我们必须不断地学习。 但是我们绝大部分人并没有学习过如何去学习,只是凭自我感觉。我将告 诉你一些具体的技巧来帮助你改进学习能力。我们将探讨做计划的技能、思维 导图、阅读技巧(SQ3R),以及教学和写作的认知重要性。拥有了这些技能后, 你将会更快、更容易地吸收新的信息,获得更强的洞察力,更好地融会贯通新 的知识。 1.4.6 积累经验 第 1章 绪 论 14 积累经验是学习和成长的关键——实践出真知。但单纯的“ 实践” 并不是 成功的保证,你需要从实践中学习其中的价值,而一些常见障碍会让这个过程 很艰难。 但你也不要刻意地拼命实践,过犹不及。我们将研究如何利用反馈、乐趣 和失败来创造更有效的学习环境,关注设定最后期限的危害,并体会如何通过 自我引导积累经验。 1.4.7 控制注意力 控制注意力是此次旅程的关键下一步。我将分享一些技巧,帮助你管理需 要学习和实践的大量知识、信息和见解。我们生活在信息丰富的时代,而且日 常工作很容易搞得你焦头烂额,你没有机会推进自己的职业生涯。让我们共同 解决这个问题,加强你的注意力。 我们将研究如何优化你当前的情境,如何更好地处理烦人的打扰,并看一 看打扰为何有害。我们还将探讨为何需要分散一些注意力,以便更好地聚焦于 思维浸泡之中,并以更积极的方式管理你的知识。 1.4.8 超越专家 1.4 本书结构 15 最后,我们将快速讨论一下为何改变自己比想象中的困难,并且我会提供 一个你可以立即付诸行动的建议。 我将分享专家之上还有什么层次,并告诉你如何达到。 现在,请坐下,端起你的可口饮料,让我们揭开本书的神秘面纱。 1.4.9 实践单元 在本书中,我会设立一个“ 实践单元”,可以让你加深印象并真正掌握所学 内容。这部分会包括练习、实验或者培养习惯。我使用多选框标记,这样当你 完成一项后,可以画个勾,就像下面这样。  认真思考一下你的项目的当前问题。你能指出它所涉及的不同系统吗? 这些系统是在何处交互的?这些交互点是否与你当前的问题相关呢?  找出情境中导致你的问题出现的三个因素。  在你的显示器周围的某个地方,贴上一个标签“ 关注情境”。 关于插图 你可能注意到本书中的插图并不像通常采用 Adobe Illustrator 或类 似软件制作出来的精致图片那样,这是我故意的。 第 1章 绪 论 16 从 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对整本书的众多贡献,他告诉了我许多研究线索和他本 人学习与思考的经验,并且他在本书孕育的各个阶段均做出了积极反馈。 1.5 致谢 17 同样要特别感谢 Patricia Benner 博士,她将德雷福斯模型引入到护理行业 中,感谢她的支持,允许我引用她的研究成果,还感谢她对学习能力研究的巨 大热情。 感谢 Betty Edwards 博士,她是开展人脑半球研究的实际应用的急先锋,感 谢她的支持,允许我引用她的研究成果。 感谢 Sara Lynn Eastler 为本书做索引,感谢 Kim Wimpsett 为本书校正单词 和语法,感谢 Steve Peter 为本书做了精美排版。 最后,感谢你购买了本书,并和我一起开始这个旅程。 让我们的事业沿着正确的方向不断前进,运用我们的经验和直觉,创造适 合学习的新环境。
本文档为【程序员的思维修炼_开发认知潜能的九堂课】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_867915
暂无简介~
格式:pdf
大小:753KB
软件:PDF阅读器
页数:17
分类:互联网
上传时间:2011-12-13
浏览量:26