# 程序员所需要的思维方式
## 人与人最大的差距在于大脑
人与人最大的差距在于大脑。一个人不太可能吃别人饭量10倍的饭,也不太可能搬的起别人10倍多的砖,但是思考的速度和深度却差距非常大。花一秒钟就看透事物本质的人,和花一辈子都看不清的人,注定是截然不同的命运---《教父》
我们工作中经常碰到厉害的人,他们给人的印象标签是“问不倒”、“执行力强”、“表达很清楚”、“容易沟通”等等;反之,一些人给人的印象标签是“听不懂”、“难交流”、"不靠谱"、"“傻*!”。这是为什么呢?
跟很多人讨论过这个问题,得出结论,除了性格表达方式等因素外,主要原因是思考问题的方式,也就是思维的差别。下面列举一些工作中常用的思维方式。
### 原理性思维
原理性思维是指基于原理和规律思考和解决问题的一种思维方式。它强调通过理解事物的本质、内在机制和基本原理,来推导和解释问题,从而更深入地理解和解决问题。
最近几年比较流行的马斯克第一性原理其实就是一种原理性思维。我们日常工作中,特别是遇到比较难解的复杂问题时,要基于理解事物的本质、内在机制和基本原理,进而推导和解释问题,然后找到趋于根本性的解决办法;而不是依赖于经验(特别是某个小范围的经验,比如公司内的经验)、惯例或传统的观点。
今年AI大热,网上又开始有很多AI无所不能的言论,有些人开始宣扬中国的义务教育不对了,甚至有的公司内开始比较极端地要用AI取代各种工作,这样对吗?学习过AI并知道当前流行的AI的原理,我们就可以回答这个问题。当前流行的AI本质是基于大数据统计的回归拟合,那就必然会存在一些局限性:
1. 数据依赖性:统计学模型需要大量的数据来进行训练和学习,以便提供准确的预测或决策。在某些领域,如医疗诊断或金融投资等,获取大规模高质量的数据可能比较困难,这会限制模型的能力。
2. 缺乏推理能力:基于统计学的人工智能主要通过统计模式和关联性来进行预测和决策,但它缺乏对问题的深层理解和推理能力。这意味着在处理复杂的逻辑推理时,统计学模型不可能像符号逻辑学那样精确地进行推导运算。举个例子,可以试试让chatgpt做一些数学题,基本上都做不了。
3. 对新情况的适应性较差:基于统计学的人工智能通常只能在其训练数据的范围内进行有效工作。当面对与训练数据不同或未见过的情况时,模型可能无法正确处理或作出准确的决策。举个例子,在自动驾驶领域,实际的路况是千变万化的,太多的路况场景是训练数据没有的,如果完全信任AI,那就是拿生命在开玩笑。
### 抓重点思维
抓重点思维旨在快速识别和理解问题核心要点,提高解决问题的效率,避免在大量的细节和不重要事项中迷失。我们工作中总要对事项排优先级、立重要项目、计算ROI都是这种思维。但是,很多人(包括自己)使用这种思维时经常犯错误。最常见的错误是没有全局思考一下就决定了重点是什么,或者只是找到了当前这个层面的重点并没有找到更高层次的重点。所以这里再次列一下抓重点思维的步骤和技巧:
1. 定义问题:首先明确问题的核心和关键点。要弄清楚真正想要解决的问题是什么,以及对应地需要掌握的最重要的信息是什么。
2. 识别关键信息:从大量的信息中筛选出关键的、与问题或知识核心相关的信息。可以结构化地整理(XMind是可以比较好的工具)之后并使用筛选、摘要和提炼的方法找出最重要的部分。
3. 提炼关键要点:将识别到的关键信息进行整理和归纳,提炼出问题或知识的核心要点。可以使用概括、总结和归纳的方法,将复杂的内容简化为简洁而有条理的表达形式。
4. 传递重点信息:将抓住的关键要点传达给协作者,并应用于解决问题或实际情境中。我们很多时候没有很好地将抓住的重点信息与其他相关知识或经验传达跟相关协作者,以至于别人不能很好地理解,最终不能获得相关认可或者无法推行重点无法解决问题。
### 反思性思维
君子博学而日参省乎己,则知明而行无过矣---《荀子·劝学》
我们经常审视和评估自己的思维过程、决策、观点和行动可以提高自我认知和改进自己的思考、行动能力。很多互联网公司常说的“复盘”,就是反思性思维的具体实践。
复盘比较有效的方式是3R3A法。
1,Review,回溯行动目标。一开始做这个事情是为了什么,想要达成什么目标?公司、部门、个人每个层面的目标是什么?
2,Result,寻找结果事实。回顾过程中那些事情做了,那些没做;梳理是否达成了最初的目标;找到整个过程存在的问题,那些做的好那些做的不好;从多方角度(特别是关键利益人)客观地收集分析对整个过程的评价。
3,Reason,全面分析原因。原因可以分为:外部因素、内部客观因素、内部主观因素。 要分析外部因素,也就是所谓的大环境、行业环境、竞争因素等,内部客观因素是组织内暂时无法改变的因素,内部主管因素是个人能够改变的因素。
4,Action,制定有效行动。需要根据前面的原因分析,决定什么要停止做,那些要优化做,那些要开始做。
5,Adjustment,跟踪反馈优化。对于近战不顺利的事项,分析并改进,可以尝试不同的方法。对于顺利完成的事项,可以思考是否能够简化优化过程,甚至自动化完成。
6,Advancement,总结固化规律。对于能固化成规律的知识或经验,可以沉淀下来。
### 增长飞轮思维
增长飞轮起源于亚马逊贝索斯提出的“飞轮”理论,是指一个努力形成一种互相促进和驱动的循环过程,使得一个业务持续增长。
增长飞轮思维也就是我们常说的“形成良性循环”。当然,其实我们也要警惕与之相反的“形成恶性循环”,螺旋下降等。
举个例子,在商业竞争中暂时占劣势的一方可能走一次这样的恶性循环:
1,可能由于固定成本比其他公司高,导致没有成本优势
2,为了提升成本优化,降低人力成本,而使用更低成本的员工
3,低成本的员工素质可能达不到比较高的水平,导致产出的服务或产品质量下降
4,质量下降导致用户体验下降,更多用户流失
5,更多用户流失后,营收下降,平摊在每件商品/服务的成本更高
6,可能会继续走到步骤2,进而形成员工越来越差、质量越来越差、用户体验越来越差、营收越来越差的恶性循环。
### 结构化思维
所谓的结构化思维,是从无序到有序的一种思考过程,将搜集到的信息、数据、知识等素材按一定的逻辑进行分析、整理,呈现出有序的结构。
对于散乱的几个点,我们很难记住,但是把散点组织称一定的结构,我们一眼就能记住。
我们日常使用结构化思维,常用的结构有:
1,树状结构。这个是我们日常梳理事情的时候最常用的结构,拿起XMind就会开始编写。但是,我们很多时候缺乏深思,可能会犯错误。比如同一级列的东西不是同一个层面的事儿,还有一些会出现重复和遗漏。避免这些常见错误会使树状结构画的更好。
2,层次结构。计算机TCP/IP模型是一个典型的层次结构。程序员画架构图时也常用层次结构。
使用层次结构思考时,要多注意每一层直接的联系和相互作用是什么,否则可能思考的东西无法实现。