2018年读书总结

2018年读了27本书,另外还有4-5本看到一半左右。如下,

images 2018年读的27本书

很多人的年度总结都是一本本地评价读过的书,我觉得这种总结虽然也有用,但是非常无趣。我认为的理想的“个人年度读书总结”的样子,来自于下面我经常被问的问题:

看了书也记不住里面的内容,看了还有什么用?

那么,谁能记得自己每顿饭吃了什么吗?不能。但是吃过的饭构成了身体和大脑。看书也是这样的,不必记得里面的每一句话和每一个观点,但是书中的一些观点会潜移默化地影响读者,改变他/她的思维、行为。时间长了,这种变化会深深地固化在读书人的身体里,以至于难以区分那些观点是自己与生俱来的品质还是来自于外部的输入。随着阅读量的增加,相似的观点和读书者发自内心认同的观点会不断地被强化,渐渐地就形成了一个人独特的看待世界、解决问题的认知、方法和价值观了。

所以,我的读书总结其实是从看书中获得的观点出发的,“书”本身只是这些观点的“补充材料”罢了。

关于建立模型

需要建模来理解现实世界的问题吗?这个问题不算难回答,但是我却经历了很长一段时间的纠结。因为很早就接触了“敏捷开发”的思想,一直对“建模”,“设计”充满了敌意,觉得一切应该是顺其自然水到渠成的事情。

不过这种想法却在不断地阅读中慢慢发生变化。建模本身并没有问题,而且它是无处不在的,跨越了时间和领域的。“西方哲学史”里讲述的公元前五世纪左右的希腊先哲们的各种认识论和形而上学中,就是古代人为了理解充满未知的世界时,在尝试着建立一个可以解释万物的“模型”。

而在“复杂适应性系统”中,更是把“通过建模来模拟和研究人类社会”推向了非常的形式化的极限。模型在复杂适应性系统中是非常巧妙的制品。巧妙设计的一套建模可以模拟出细胞变化、森林生长、城市交通、公司间竞争等各种现象。模型揭示了不同事物背后的“共相”。

说到不同事物背后的“共相”,Martin Fowler的“分析模式”是这方面的典范了。这本书总结了几十种模式,用于分析不同的业务领域。有趣的是,作者本人也略带惊讶地表示,这些模式虽然来自于各自特定的领域,但是却能用于其他不相关的领域。这本书是我目前在读的、读过的书中,关于软件建模思考最为深沉的一本了。

而另一本书,“恰如其分的软件架构”,提供了软件建模的一种形式化的语言。但是就建模方法来说,这本书的内容有些落后了,还是CMM的那一套,想通过复杂的流程来弥补软件建模的核心复杂度——理解业务复杂度。真正能解决这个问题的,是“领域驱动设计精粹”另一种靠谱得多的思路。

总的来说,对现实问题进行建模绝对是一个需要掌握和加强的技能。这应该是我的“思考方法工具箱”里最常用的工具之一。

思考方法工具箱

前面提到到“思考方法工具箱”,我这是读“穷查理宝典”的最大收获了。不得不说这本书真的是包含的是大智慧。我感觉查理芒格是在有意识地总结完善自己的“思考方法工具箱”,这在书中的最后一章就非常明显了,这一章是他为这本书的新版特意撰写的,包含了几十个“心理学”的工具。这些工具虽然被冠上“心理学”的标签,但是我觉得这是他对人性、对社会深刻洞察的结果,反倒是心理学家应该不会感谢芒格的对心理学的贡献的。

芒格在这本书给出大概几十种(没有仔细统计)思维方法,包括投资、哲学、人生、社会等不同的领域。我自己花了几个月的时间尝试了不同的工具,发现大部分都好用,有一些非常有效,而且同一模型可以用于不同的问题。比如反向思维。“精进”的作者采铜总结出来三个最重要的——多元思维模型(Lollapalooza效应)、反向思维、完备性分析。当然,这个每个人的选择可能都不同。重点在于,要开始建立自己的“思考方法工具箱”。

“思考方法工具箱“的质量固然和智力有关系,但最终还是决定于是不是有深度思维的习惯。无外乎三点:1. 勤反思;2. 多看多听多读,从牛人那里学习;3. 勤练习。对于第2点,我今年看过和在看的书里有这几本可以提供丰富的“思考方法”:“西方哲学史”、“复杂适应性系统”和“反脆弱”。

复杂系统

四月份刚刚读完“穷查理宝典”的时候,我就写了一篇豆瓣日记(私人可见),列出了我出于直觉能想到的几个思考工具,当时有五个,后来陆陆续续又做了些调整,目前保留了六个。同时,我也持续为每个方法工具加备注和来自于我自己的案例。目前,写的最多的一个工具是:复杂系统。

关于“复杂系统”的论述,可以读一下David Snowden的Cynefin Framework。简单来说,举个例子,做西餐就是一个“复合问题(complicated)”,虽然不容易,但是每个步骤都精确地描述了:300度微波炉里加热15秒,400g面粉……但是做中餐就是个“复杂问题(complex)”,因为中餐的菜谱总是这样写:盐少许、炸至金黄、煸出香味……这些远远不能让一个新手快速做出好吃的饭菜了,因为菜谱里没有写大量不可描述的“经验”,经验就是要根据食材、炊具等不同条件对烹饪方式做出适当的调整。

那么“复杂系统”何以成为一个思考工具呢?那就是要判断一个问题是复合的(complicated)还是复杂的(complex)。按照现有的理论来看,解决两个世界的问题的思路、方法几乎是完全不同的。如果把一个复杂问题当作一个复合问题来处理,那会得到一个很蹩脚的结果。

但是,“复杂系统”本身有些违反人类的直觉,所以无论是了解它还是应用它,都是很大的挑战。“复杂适应性系统”和“隐秩序”这两本书在理论上详细描述了复杂与复合系统的特征以及分析这类系统的工具。“复杂适应性系统”一书非常过瘾,以至于我把书从中缝给掰断了:-( “反脆弱”则更加入世了,它给出了大量简单务实的指南,来应对人类社会这个巨大的复杂系统中的风险——黑天鹅事件——并且从中获利。

建立“复杂系统”的思考方法,不啻于重塑自己的世界观。上述几本书可以帮助你,但是不断的练习更加重要。

合作的出现

前面说了复杂系统。复杂系统无处不在。我们每个人都会接触到的一个就是——人类组织。在这个复杂系统中,最难一个挑战就是如何促进协作。早在六七年前看“合作的进化”的时候,这个问题就被提出来了——合作能不能不被极权要求地而是自发地发生?大概是以前的环境没有促使了我更深入地去思考这个问题。但是最近一两年的工作经历让我不断感受到合作是如此难以实现,所以在书中去寻找答案吧。

超级合作者”这本书在内容上承接了“合作的进化”,不过内容增加了10多年的最新研究。其中,囚徒困境的“一报还一报”策略只是促成合作的模型之一。书中也描述了现在很流行的Swarm的概念。Swarm在很多公司的组织变革中经常被提及,也经常出现于各种商业杂志。这本书的不同在于它从数学的角度分析了Swarm的性质,比如Swarm之间必须定期呼唤成员才能保证各个Swarm的信息流动性,这一点我很少在商业文章中见到。“复杂适应性系统”依然是从数学角度提出了几种有利于协作的社会机制。

对伪心理学说不”和“疯长”两本书并不是直接讲述合作的,但是书中的知识确实能用于促进协作。比如“疯长”里满是各种创业公司的故事,从这些故事中,读者能窥见一斑一个公司的领袖是如何团结起整个组织的,成功的、不成功的。

证明与反驳”和合作就更没什么关系了。它讲述了数学史上著名的纷争:演绎还是归纳。书中用一个虚构的故事——一个老师和一群性格各异的学生讨论欧拉定理——介绍了真实历史上两派人围绕欧拉定理辩论的过程。这和“合作”有什么关系呢?人们在合作的过程中,有效沟通一直都是很大的挑战。沟通的困境一部分来自于语言本身的限制,语言无时不刻都存在二义性,使得双方的交流变得困难。“证明与反驳”揭示了数学语言很不幸地也存在大量的二义性,使得一条定理需要不断地完善才能准确地表达真实的意图。

软件领域同样受沟通问题的困扰,尤其软件的使用者、出资方、开发方三方之间的鸿沟永远让人感到绝望。 “领域驱动设计精粹”提出了一种基于社会学(而不是工程学)的解决方案,包括各种方法——统一语言、事件风暴等等。

最后

就像在开头提到的,读书总结应该以自己吸收到的“观点”为提纲。观点不在数量而在质量,它们也揭示读书乃至生活的意义,即以更好的思考方法,更全面地理解世界的运行机制,然后尽微博之力让它变得更好一点儿。