简介
站在思维的高处,才有足够的视野和能力欣赏“美”。
如何正确看待时间?你需要做得就是成为时间的朋友,用最初的努力,赢取到微弱的优势后,不断不断地坚持下去,你的优势就会被时间持续的放大再放大,然后到某一个时间点,你终于突破了平台期,或者度过了增长缓慢的起始阶段。「善弈者通盘无妙手」,是说一个高手,其实下完一整盘棋,你并不觉得他有哪一招惊天动地。以五子棋为例, 就是走的每一步能起到多个作用(比如既防御又进攻),多积累几步就会有全局的优势。
如何提升认知?要多想,要知道用什么方法多想一点,多思考一点?而这个方法就是怎么做。思考出来的过程,就是认知结构,做到了这点,就会很快的成长。
边界思维
《软件架构设计》:不管哪种分析方法、设计方法,最终必须保证每个系统有清晰的边界、分工清晰。无论谁要了解这个系统,他不用看这个系统是怎么实现的,只要看系统的接口,就知道系统支持什么,不支持什么。
把复杂留给自己,把简单留给用户!
边界思维的重点在于“约束”,是一个“负方法”思维方式。什么意思呢?比如要看一个开源软件的功能,要看的不是它能做什么,而是它不能做什么!“不能做什么”决定了系统的边界或极限。
系统化思维
与边界思维相对应的就是系统化思维
几个体现
- 哲学中有一句话:事物之间的普遍联系。通俗的说法就是:不能头痛医头,脚痛医脚。
- 系统化思维的另一个体现,就是刨根问底。对于问题追索到最后,直至事物的本质。这点在物理学上叫“第一性原理”,在哲学上叫“道”,这个倒追的过程会让你探索到事物与事物之间的普遍联系。
- 笔者曾经看过一个产品总监的ppt,有一张图:最顶层是日活,然后分解为拉新和留存,拉新、留存继续分解,直到日常程序猿接到的一个个需求。这就是系统性思维。很多产品,在做具体的事情的时候,脑子里只有那个具体的事情,没有这张图,最后就被琐事牵着走了。
得力干将多是有“体系”的人系统化思维,理顺元素与元素之间的关系,避免“头痛医头”,“脚痛医脚”;看见变化的形态,而不是转瞬即逝的一幕;是要以一种结构“长”在脑子里,并且会随着环境的变化,不断地生长迭代。高瓴资本运营合伙人干嘉伟也曾在混沌大学研习社的课程里分享说,自己辨识优秀人的方法:一个是见过好体系,一个是建过好体系。
怎样避免“螺丝钉”或者线性思维的惯性呢?阿里的一个手段就是轮岗,甚至是干的越出色越要轮掉你,以此培养员工的系统思维能力。据称,在马云看来,“没有换过5个老板的人不算在阿里巴巴工作过”。
「系统是一个连续变化的东西,或者是一项技能,或者是一个关系。为了这个系统,你可以做各种项目,你可以要求自己养成什么习惯,你要的不是某个具体事件的成败,而是发展这个系统」。
如何快速理解复杂业务,系统思考问题?但作为在业务线工作的一员,更加全面的理解我们手上的业务逻辑是我们能做好工作的基本条件,我们肯定不能满足仅仅是点状理解的一些信息,也不能接受理解一个业务只能依赖长时间的工作经验。我们把系统思考扩展成三个不同的思考概念,可以理解为“系统思考”是同时具备这三种思考模式的一种方法:
- 【深度思考】不能停留在现象的表面思考,要能从现象深入到问题的背后,找到问题的本质;
- 【全局思考】不能单点、局部的看待问题,要能站远一点,看到问题的全局;
- 【动态思考】不能停留在某个时刻看问题,要理解每个人、每个业务之间都是动态变化的;
一个用来描述“系统思考”的因果回路图一般由三个部分组成,分别是:
- 【变量】,变量是我们建模的系统结构里的因素,它的值是随时间而变化的,一般是个名词;
- 【链路】,变量之间可以形成链路,这个链路是形成因果逻辑的链路(一个变量的变化影响另一个变量);
- 【回路】,几条链路可能形成回路。如果从变量A到变量B有一条链路,当从变量B到变量A,之间可能通过一系列其它的变量,也有一条链路时,就形成了回路。有两种最典型的回路,一个叫“增强回路”,一个是“平衡回路”。
对于复杂问题的思考其实是有层次的,在画完自己的业务系统因果回路图之后,再结合这个心智模型,思考自己的思考在哪个层次,是否可以有机会再下钻到更深的层次。
- 复杂问题是相对的,不是所有复杂问题都需要系统性思考。
- 系统性思考=全面思考+深度思考+动态思考,系统性的典型体现是:一张大图+关键要素。
- 还得从实际案例出发,反复对比看过去、现在的思考和实践的过程与结果。
- 经验具体是什么?抽象来说(只能抽象),经验是人脑中的一种神经通路,出现A,立马想到B。经验越丰富的,可能神经网络通路越多,会想到C、D、E可能性。这还只是一跳链路,如果是多跳呢,理论上的可选性更多,当然经验越丰富的人,实际掌握的通路或死路越多。从神经通路的角度来说,系统性解决问题是找到和掌握链路中所有的可能性,体现到现象层面是被打脸的次数越来越少,直至在这个领域内没有人能完成对你的打脸。
- 如何掌握所有的可能性?如果是完全没有经验的情况下,可用的方法是用时间换空间,自下而上反复进行大量的盲人摸象式的学习、联想和实践,不断交叉扩大知识面,逐步触达到边界。当然有时候触达到的边界是假的,只是因为不知道自己不知道,可能一经过交叉性的检验就可以发现。那什么时候边界是真的呢,似乎是个无法证真的问题,事实上也是这样,无法完全证真。但和高等数学中求极限的思想类似,我们可以通过和多方进行交叉,和同组、同部门、跨部门、同领域、同行业的人做交互,不断反哺我们的认知模型,无限逼近极限或边界,在自己的领域内,知识和能力边界达到最大,和人对线时,自动加领域buff。
- 牛逼代表着一种能力边界,最快逼近边界的前提是首先要看到这个边界。
没有的后果
你觉得一个事情很复杂,一定是你理解的不够透彻。
见招拆招,就意味着你对事情是被动应对,而不是主动把控。
缺乏「系统思维」的人,总是从此时此刻,去衡量一件事情到底有没有价值,不懂得把这件事情,放在人生大系统中去衡量。
有的好处
对于同一件事,你能从中参悟到什么,理解到什么程度,是一个管理者是否可以持续提高的关键所在。所在作为一个管理者,至少留给自己 20% 的时间在思考,而不是具体做事情,你要不断的反思自己的决策、沟通、影响、开放当中的问题, 是否可以有更好的方法来提高。一个人能做到什么样规模的高级管理者,和他对于自己、对于业务、对于管理甚至对于世界的参悟程度有关系,最终管理的瓶颈是对于自己对于世界的认知瓶颈,而不是技能瓶颈。
学习这个东西,没有什么捷径。而且往往是需要先明白更多抽象的相对比较难的东西之后,学习简单的东西就只是一个查文档的过程。所谓的学习,知识只是一部分,理解知识是如何被抽象和提炼的过程,才是更重要的。很不幸没什么人愿意做。 认知 ==> 抽象 ==> 指导实践,循环往复。
分层,大幅度降低认知复杂度 认知的几点规律
笔者最近的学习习惯是
- 看一篇文章,先画一个脑图,梳理一个结构
- 如果碰到一个新内容,不知道放到这个结构的哪里去,就说明结构梳理的不合理,再换一个结构
- 有了一个合理的结构,看文章不是作者说什么我看什么,而是作者说什么,我放到我的结构里去。最终提炼的结构 + 细节,就是一个有层次的知识体系。
结构化思维
我们能否做到一个维度拆分?开始思考维度,就是架构师需要的一个认知,这也是体系化&系统化思考的表现。关键不在于结构是什么,关键在于需要有结构。无重复,无遗漏。MECE原则(不重不漏): ME、CE,它是两块。ME,mutually exclusive,相互独立,彼此没有交叉,没有并集,你占你的位置,我占我的位置,我们井水不犯河水,我们彼此独立。CE,collectively exhaustive,合在一起,能让这件事情的整体呈现出来,至少是80%,甚至90%呈现出来。PS:以这个为原则,找到一个主线/维度,去拆分问题。
一切都有套路
很多事情知易行难,关键是要有行动,特别是管理类的一些理论、方法、观念。空谈、空规划一点用处都没有,不如实际把它做出来,做出来后不断反思改进,实实在在最有说服力。没有实践中的反复演练和反思,即使是人人皆知的东西要做好都其实不容易。
举个小例子,比如做管理者要会倾听,我想华为99.9%的管理者都很懂这一点,但实际做的如何呢?华为有多少管理者做到了不打断别人讲话?不急于下结论给定义?不急于提供解决方案?有多少管理者能够做到自然地引导对方表达?问问对方感受?确认自己明白对方?
西方公司职业化的专家,做任何事情都有方法论、有套路,甚至于如何开一个会都有很多套路,后来我对这些套路的研究有了兴趣,自己总结出了不少套路并给部门的骨干培训和讨论。在一个复杂的环境下,很多问题已经不能就事论事来研究和解决,非常需要系统性的方法和战略性的眼光。
We can‘t solve problems by using the same kind of thinking we used when we created them.
工程师思维——产品、技术和工程
- 专人专岗的协作模式在进一步改善团队的协作效能时所面临的最大挑战在于“岗位墙”,即岗位间衔接不可避免会出现一些模糊地带,而这些模糊地带又很容易相互忽视,导致失去关注而很大程度地拉低了团队效能。比如,开发工程师会认为保证质量是测试工程师单方面的职责,一些可做可不做的事儿留给别人做。
- 工程师思维分解为产品、技术和工程三大思维。了解工程师思维的价值在于,工程师个体需要在工作中逐步建立起产品、技术和工程三大思维,以便用更为全面的视角去看待日常工作中所面临的困境和困惑。
- 良好的用户体验一定是站在用户的角度,基于用户心智来塑造概念,由于概念存在理解和解释成本,所以塑造的概念应足够轻、少且易掌握。好的产品体现于“易用”二字,其极致在于迎合用户的本能反应并符合各种生活或专业常识(也就是系统设计可以分层实现,但给用户呈现的一定是最简单的概念,没有自己的加工与提炼)。为了产品更好地演进,需要通过数据闭环的形式去检验创造用户价值的效果,让产品的开发、运营、营销工作做到有的放矢。不仅能让整个产品大团队聚焦于核心价值,还能帮助团队在探索用户价值的道路上理性地做减法。大多情形下,做减法远难于做加法。
- 不少工程师这里会有一个误区,忘记了敏捷思想所倡导的“项目计划的目的是为了适应变化”,而是将“按时交付”当作是天职,各种赶工爬到终点时却毫不意外地看到了“一地鸡毛”的景象。
- 工程思维的起点是流程。流程的背后是科学,以既定的步骤、阶段性的输入/输出去完成价值创造,通过过程控制确保最终结果让人满意。由于流程涉及每一个工程师的工作质量与效率,其含义不只在于定义、工具化、检查等内容,而是应基于工程师的日常工作习惯,将流程与工程师的工作环境无缝整合。“无缝”体现于流程中的概念与工程师群体已建立的专业常识相一致、没有增加毫无价值的负担,根本仍是确保易用性。
- 机制的含义是通过对所需解决问题的分析,以一种模式去解决同类问题。机制应体现一定的系统性,而非“头痛治头,脚痛治脚”。系统性不是一开始就能被洞察到,可能在演进的过程中逐步发现和完善的,因而需要工程师在工作的过程中不时回顾并付诸实践去落实。对于工程师来说,机制是通过系统性的软件设计去达成的。
工程:
- 可演进式架构
- 可维护的代码
- 更好的工程实践
很多事是没有边界的,唯一麻烦的在于角色的转变——你可能没有意识到现在的位置,它需要你去做什么,而不是抗拒他。
如若只是每天完成工作上的代码,怕也不算是投入。所谓的才华,大抵便是悟性。而悟性这种东西,往往不是练出来的,更可能是看出来的,或者对话出来的。
事务与工程:什么是工程师文化?什么才是真正的工程师文化?从浅层的意义来说,工程师就是要实现业务的自动化。DON’T REPEAT YOURSELF ! 某件重复发生的事情只干一次就好,以后也不需要再重复做。工程师的自动化思维,所体现的内在逻辑是如何把问题 Close,如何把问题彻底解决掉,而编码只是一种工具。在我们日常生活中,很多问题不需要编码来解决,但是确实需要用 “彻底解决它” 的思维去完成。这种思维不仅限于工程师,同样适用于所有人。
很多人会习惯呆在自己的舒适区,习惯于做任务,每天重复相同的作业,这就不符合我们所说的 “工程师文化”。我们需要达到的状态是,今天干完一件事,明天开启新的事。怎么判断自己在做新的事情?那就要看我们问题是否解决得够彻底。从另一个维度看,工程师这种把问题 Close,彻底解决掉的思维,看重的是自己工作内容的长期价值。如果我们只是在做事务,如果我们并没有在实质性解决一个问题,那么这件事情的长期价值就是零。每个人都应该秉承工程师精神,把一个个问题 Close,让它不要再发生。不需要显得很忙,忙不代表成就,真正的工程师文化应该是推动整个团队往前走,每个团队成员都在成长。
少就是指数级的多!
极端地说,当你指望一个软件 24 小时不间断服务时,在某种程度上来说每一行代码都是负担。所以 SRE 需要推崇的实践是保证所有的代码行都有必须存在的目的。
知乎破8万赞回答:那些厉害的人,思维方式比你强在哪儿?
NLP理解层次:对一件事情的理解,我们可以分成6个不同的层次,而这个层次是有高低之分的。如果你用低维度的视角去看这个问题的时候,感觉它无法解决。但当你站在更高的一个维度去看它,也许就变成了一个很简单的问题,甚至连问题本身也消失了。
碰到问题时归因 | 表现 | 解决方式 | 备注 | |
---|---|---|---|---|
环境 | 环境不好 | 抱怨 | 换环境,比如跳槽、换男/女朋友等 | |
行为 | 因为我的努力还不够 | 更努力xx | 看看还有什么事情是可以去做,去改变的? | |
能力 | 因为我的能力不足 | 请教、报班等 | 把学习到的知识,转化为可操作的方法,进而改善效率,解决问题 | 「能力」这个理解层次,是我们「意识」能想到的最高层次了。有什么问题「能力」也解决不了的呢?选择错了问题 |
BVR | 系统的分析变化的原因、关键因素,进而找到自己的切入点 | B(Believe):信念,你相信什么是对的? V(Value):价值观,你认为A和B哪个更重要? R(Rule):规条,做人做事的原则 「能力」层是让你把事情做对,而「BVR」层则是帮你选择做对的事情 |
||
身份 | “你是谁?你想成为一个怎么样的人?” | 我一定要当老板么?是否可以只是辅助性角色? | 每个角色或者身份,都对应着一套帮助他「能够更好的成为这个身份」的BVR体系 | |
精神 | 乔布斯:活着就为改变世界 |
店内的生意不好,是团队管理的问题?营销方式的问题?还是商业模式的问题?一旦选择错了问题,你那优秀的「能力」和「行动力」只会让你越走越远。
规条存在的意义,就是帮助你更高效的做出选择,不用每次都思考、讨论、互相权衡比较…
从自己理想的「精神层次 / 身份层次」发展出来的人生规划,可能会与你的现实生活有很大的不同,将更具挑战性,但却能让你身心统一,因而能激发出你更强大的潜能!PS:笔者个人的一些体会是,很多事你可能不愿意干,但当你发现这是实现某一个目标的必经之路时,心态会平和很多,进而比逆来顺受状态做的更好。关键是:你有一个目标,并且认为自己必须要实现那一个目标,并准备做牺牲。
用户体验要素五层次
一个没有建立思考框架的普通人,面对一个人,一个产品当然也会有自己的原生感受。但是因为没有经过专业训练,所以感受是混沌纠结的,并且会过于强化和放大自己关注的某个点,不但有强烈认知偏差和情绪偏差,还有大面积的认知盲点和思维遮蔽。而产品经理则是有个框架体系来看一个产品的体验,不管你的第一直觉是喜欢还是不喜欢,都应该用这套框架,相对完整地量度一下对方,强迫自己建立完整观察。
存在感之于人,就像生存之于动物一样,是触发情绪,推动行动的开关。 一个人为什么奔波,焦躁,不安,机关算尽,上蹿下跳?因为还没有被满足。 所以,你看到一个人焦虑、痛苦、不满、烦躁,别给TA讲大道理。而是要看到,TA到底是什么,没得到满足。这种像饥饿的猛虎一样灼烧的内心,不是一句大道理或者鸡汤话可以安慰的。 像动物在奔波厮打中强健了自己的肌肉一样,一个人会为了自己的存在感的左冲右突的挣扎奋进里,扩充自己的能力圈。他的存在感被满足了,能力圈就不会在扩充了。就好像好多女人结婚了就不化妆了一样,男人满足了就不奋斗了一样。
有一种人,他的存在感设定就是为了凸显自己牛逼。他做的所有事都是为了这件事的机会最大化,这个场域我最牛逼。不行我就撤,换个地方再打。我个人而言,可能我会更喜欢对自己为什么而存在的认知比较恒定的人。
其它
读书在当今的时代真的是一项能力,一本书看完,作者想表达的观点到底是什么,如何与你的生活与实际进行结合,书中的知识怎么和你的存量知识进行连接,这是一个需要长期锻炼的能力。
今天,要聊的是学习方法,大家平时是不是都是通过以下途径来学习技术的?
- 看英文官网?头疼!
- 通过项目学习?不系统!
- Google搜索?同一个知识点,各处不一样!
- 买书看?啃不下去!
我这些年的建议是:找到目标领域的专家,学习他们系统化的总结。 《Spark性能调优实战》学习的本质是一个不断做熵减、消除不确定性的过程,不同的方法对熵减的贡献有所不同,交流讨论对于熵减的贡献是指数级的,理论学习和动手实践对于熵减的贡献都是线性而平缓的。
两个人互相审视,一定会发现一个盲点,即你身上的问题我知道,而你不自知。
有意识地进入某一个圈子,找到能听懂你说话的人,大家经常一起切磋交流,共同成长。恰当的时机可以采用协作的方式,因为这样可以推动你的成果提升到一个新档次。
无论胜负,只有战斗才会让你变强,退一步想,很多时候,也许,填坑力,真的就是你最了不起的才华,因为,当下的不确定性太多了,所有正确的意见,要经过许多等待、迂回才能取得胜利,为大家所接受。这个过程中,什么是最重要的呢?就是在坎坷的行进过程中,不断地收集正向反馈循环,不断地积累,比如个人信用、心理能量、有意义的人际关系(我深深地关心对方,对方也深深地关心我)等等,最终实现厚积薄发。