今天谈下技术人员思维意识和思维模式转变方面的内容。谈思维既包括了科学的思维框架模型层面的内容,也包括思维意识层面的内容。 对于技术人员来讲,更加重要的往往是思维意识方面的转变,而这种意识转变本身也是实践复盘,或者说多次踩坑最终才总结出来的内容。技术人员思维意识转变的几个观点 在这里我重点谈下项目管理和技术人员进入职场后的一项关键思维意识转变。 项目管理思维里面,如果团队人员是完全分配给你管理的项目时候,有个重要的也很通俗的思维点,就是不要让团队人员闲着没事做,当前所有能够提前做的事情一定是能够减轻后期工作量的。所以你在进行任务拆分,打破传统任务的依赖,打破关键路径约束,所有你的思考都是为了在项目一早期就提升资源利用率,尽量让项目工作任务提早的迭代和启动起来。 我们做一件事情,写一份文档,或者写一个汇报的PPT,有时候自己认为写得挺不错,但是为何拿出来后会被他人认为质量很差或者说没有抓住重点或解决问题?这里面的关键究竟在哪里?要注意到出现这种问题的关键不仅仅是你自我的实践和经验少,更多的是自我的思路和知识封闭,你可能很少和其它团队或人员交流,也很少上网搜索下相似的材料和PPT,看看其他人究竟怎么写的,去做一下对比。只要你自己稍微有这个意识,你就能够提升很大一步,即使你是完全模仿他人的结构和写法,即使刚开始只是做到形似,但是不要紧,这已经是一种进步,任何超越往往都是模仿他人开始的。 一个刚入职场的人,有一个重要的思维转变需要大家注意,即从单纯的被动接受工作和任务安排,到能够真正主动去思考,有意识的去学习和探索一些事情。一个简单工作任务完成了,我会思考这个工作还涉及到哪些知识或外延我可以去学习下,一个问题解决了我会思考这个问题暴露我哪些知识有缺陷并主动去弥补。所有这些点滴思维就是触发你真正去进步和提升的点,一个始终被动或者说没有得到工作安排就感觉无事可做的人,很难真正持续的得到自我提升,也很容易陷入到重复和机器化工作的陷阱。 不论是工作还是生活,每个人而言都应该有一个重要的思维观点,即如果你真正想学一项工作或生活技能,不论是什么时候开始都不晚。要想开始学就及早开始,不要太多犹豫,很多事情你都没有走出第一步真正去做就在自我意识上放弃,往往才是最悲哀的。我们及早地去做,或者去行动,或许你会学得慢或中途放弃,但是这些都不要紧,关键是我们保持了这种持续学习,主动追求进步,持续更新和迭代自我的态度,这种主动和积极的心态,才是自我持续进步的源动力。 最后还有一个思维观点供大家参考,做任何事情,当我们在追求平衡的时候往往就已经陷入了平庸。任何事情上取得的成功都来源于自我长期坚持和专注,你为了在一件事情上取得成功,或者把一件事做到极致,那么就一定存在对其它事情的牺牲和放弃。所以对于一个人,特别是还在你的精力旺盛期的时候千万不要过早陷入平衡的陷阱。思维模式的三个关键转变 在我头条文章专门写过思维方法和模式的文章,也一直在强调思维中最重要的是模式匹配,今天接着这个话题展开谈下思维的关键三个转变,在谈的时候结合了IT领域的一些思想,也感觉这些思想和思考方法对所有领域都使用。 1.从紧耦合到松耦合 解耦的最终目的是灵活组装和匹配 在软件设计开发里面,我们经常会谈到松耦合和解耦,其原因就是今年保证各个模块充分自治,受外部其它模块影响最小。而在SOA架构里面如果谈到松耦合,其核心的原因是松耦合是进行灵活组合和编排的基础。 思维的最终目的是解决问题,当我们面对一个具体的问题解决后,就有了问题和解决方法: 问题A-》解决方法A 那可能在我们头脑里面就存储了这么一个关系,即遇到问题A用解决方法A去解决。如果我们头脑里面都是去存储这种信息,那就是我们说的紧耦合,试想一下问题成千上万,我们得存储多少解决方法和知识点?这种穷尽和大量记忆存储的方法显然是不现实的。那我们实际要做什么呢?即将解决方法分解为细粒度知识点。 问题A-》解决方法A(知识点A1, 知识点A2,知识点A3) 即任何问题的解决都是已有的知识点的组合和组装。问题和知识点之间是完全松耦合的,而解决方法只是知识点的灵活组合而已。我们只要有了最基本的知识点,就不怕任何形式的问题。 就类似我前面谈售前技术建议书一样,客户的招标要求千差万别,但是你只要有了(业务方案,技术方案,部署方案,实施方案,运维,人员,案例,报价单模板)等基础知识点,你就可以应对所有的售前方案,你唯一需要做的就是讲客户的招标要求或需求分解为一个个的需求点,同时将这些需求点映射到你已有的知识点上。 通过解耦,我们没必要去存储和记忆大量粗粒度的解决方案内容,我们只需要关心问题能否分解到已有的知识点上,只需要培养知识点如何根据问题进行组装和编排的能力即可。也正是这个原因,任何一个问题解决后,你都要思考有哪些可复用的知识点可以入你的知识库,而不是将该问题的解决方法入库存储。 2.从静态到动态 动态的目的是知其然并知其所以然 第二点我们想谈的是从静态到动态,因为最近我们在做PPT汇报材料评审的时候发现一个关键问题,即静态内容多,而动态内容少,讲最终结果多而讲分析过程少。 在讲PPT制作的时候我曾经谈到过,对于PPT的呈现只有两类,一类是动态呈现(阶段,流程,活动,演进),一类是静态呈现(组成,架构)等。而这两类呈现必须相互结合,相对来说动态呈现更加重要,只有动态呈现能够说明一个事物实际内部各个组件之间是如何运作的,而只有了解了内部运作你才可能东西事物内部机理。 从PPT的呈现回到我们思维逻辑上也是同样的道理。 当我们去了解任何一个事物的时候,一定要注意前期我们可能只是了解下事物的结构和组成,但是如果你真想去深入了解事物,那么就必须从这种静态的组成转变到对动态的组成过程的研究。即事物是如何动态发展演进到当前这个结构的?只有这样你才能够洞悉事物内部各个组件之间是如何协调运作的。 我们平时太注重结果,而忘记了对这种科学思考过程的关注。而实际上再好的结果本身都不具备可复制性,而只有科学的思考过程和方法本身是可以复制的。你得出一个好的结果不代表你就很牛逼,中间有很多偶然性;但是当你自我论证是通过很好的方法和过程,得出了这么一个结果,那这种过程本身就具备了举一反三能力。 原来我写过一篇文章,谈搜索引擎之毒,为啥这样谈?所有千奇百怪的问题,你到互联网一搜马上就搜索到答案并解决掉了,那么这个时候你不会再去深究回答者是如何进行问题分析和思考而得出答案的,即你随时搜索到了答案,但是你没学会是思考和解决问题的方法。 从静态答案到去寻找答案是如何分析出来的,本身也是静态到动态的过程。 3.从泛化到抽象 抽象的目的是最小化记忆,并提供为了演绎的入口 在互联网时代,当前人和人比较的一定不是记忆能力,而是问题分析和解决能力。而这个能力里面最重要的一点就是当你拿到问题后,你知道从哪里入手去解决,即问题的入口在哪里。 我原来谈到过,互联网是一个海量的知识库,每个人都可以获取到,你自己的电脑里面可能也有一个你自己归纳整理好的大的经验库。这么多信息一定是不需要记忆的,需要记忆的仅仅是能够通达知识的索引。通俗点来讲就是当问题来了的时候,你知识在哪里拿到最能解决问题的资料。 泛化和抽象,实例和类都是偏IT领域的一些词汇。但是这些词对于思维领域同样适用。你平时看到的东西,实践的东西,学习到的知识都很多,你需要做的就是进行归纳和抽象,形成你自己的概念模型,形成自己能够记忆的最小知识集,这个知识集最后就是索引信息。 有了索引我们就能够按图索骥。 索引类似于软件设计中最高的抽象层次,即接口的定义。接口中只有方法,没有具体的实现。而索引就是这个道理,我们只需要知道不同的问题究竟应该用什么的方法来解决,这个方法究竟是怎么解决的?我们不需要记忆,我们只需要找到我们存储或网上存储的资料即可。 不同场景下不同的问题究竟应该用什么样的方法解决,正是我们在思维里面谈到过的,对于一个人最有价值的能力,即模式和方法论。所有的实践我们都在积累我们自己的模式库和匹配库。 比如你原来做开发工作,转到做软件需求和业务顾问工作,你的模式库做一次更新。你从做财务域的顾问,转到做供应链域的顾问,你的模式库做二次更新,后续再转域无任何问题。 一生二,二生三,三生万物,但是万物没法全部穷举和了解,我们要做的是记忆这个关键的索引。做到能够依图索骥的能力。