关于不确定性的思考
前言
出于提升自己的思维能力,破开无形的思维囚笼,这些天看了一本书,名叫《像火箭科学家一样思考》,里边讲到的道理和思想都比较浅显易懂,但要想实际应用到生活中真正的提升思维能力而非转头就忘记,还需要有很长一段路要走。
书中第一章探讨了『不确定性』是怎么影响到我们的思考和决策的,确定性有时又如何蒙住我们的双眼,导致我们误入歧途,深入思考一下,有一定感触,所以记录下来分享一下。
确定性和不确定性是什么
要想探讨这两个概念,首先要理解他们:
确定性可以理解为人们对某件事物或者情况有着足够多的了解,这时人们往往会选择自己认可的方向去达到目的,往往这代表着踏实和稳定。
不确定性就是在人们对事物或情况了解不足,无法直接通过现有条件和认知做出确切的判断,这往往就代表着风险和机遇。
大多数人都希望事情是确定的,但事实并不能一直顺我们的意,『万事如意』只是过年时候的祝福话罢了,我默认我的读者都有一定的互联网基因,所以举一些实际工作中的例子:
产品经理往往都希望客户的需求是确定的,这样我们就可以根据已有经验去设计一个完美满足客户需求的系统
前后端开发者和 UI 工程师都希望产品给到的开发需求是确定的,这样就不会因为需求和流程的变动从而引起代码结构、数据结构的变化
运营人员都希望市场的需求是确定的,这样我就可以复刻某一次推广策略,然后一直成功下去
但是上述场景不可能永远都是确定的,产品经理经常会遇到客户改需求,因为互联网产品需求是对现实需要的一个映射,进而开发者也会经常遇到产品经理调整需求。运营人员遇到的变化只会更多,相近的两天相同的推广策略获得的收益往往天差地别。
对确定性的迷恋
我们对确定性的迷恋会让我们追求看似安全的解决方案,会让运营人员一遍又一遍的使用相同的技巧以期望获得同样的结果;会让走到行业尽头的工人们舍不得放下现有的工作,因为这看似稳定的收入可以给到人们确定感和安全感。这里有一个珍藏多年的笑话,你可能也听过:
我有强迫症,每次锁完门出门后,总感觉是没锁门,不放心回来看一眼确实锁了。我查了一下度娘,说锁门后做一个特殊的动作加深记忆,就可以治愈强迫症。于是我锁门后,双手向上高举。可过几天,我又在想,我双手举了没有?于是我在锁门以后双手举起,再加上一个弓步。这样就可以。过几天我又在想,弓步我做了吗…….一个月以后,我在锁门以后出门之前都要打上10分钟山寨版的降龙十八掌…
所以我在想所有的强迫症是不是都这样来的:摆在眼前的有一个不了解的带有不确定性的事务,我们没有足够的经验,也对事务没有足够的认知和理解。但是通过一个固定的解法、固定的动作(降龙十八掌)意外的获得了一个好的结果,下次再碰到这样的事情,不管有没有用,先把降龙十八掌打完,这就像一个没有神明关注的“护身符”,久而久之就是强迫症。
公众也会展现出对确定性的迷恋,在2006年,冥王星被降级为矮行星,很多人为它感到不公和愤懑;但仔细想想这个违和感是从哪里出发的呢,在宣布降级之前太阳系有9颗行星已经在我们普罗大众的脑海中根深蒂固,9这个数字是多么恰到好处,太阳系有9颗行星听起来是多么的完美,把冥王星降级就是在破坏这种完美,破坏这种稳固的确定性,进而很多人会迷恋9颗行星,觉得这种除名是“不公平的现象”。而在更早之前,哥白尼把地球降级为一个太阳系普通的行星,他告诉人们地球并没不是太阳的中心,更不是世界的中心,他的学说动摇了人们的确定感和心中的地位,成为了他被人们怨恨的根源。
对确定性的迷恋可能来自于进化过程中自然筛选,比如那些对不确定性不感冒的人们觉得自己半夜出门一定不会遇到老虎,然后他们就被大自然筛选掉了,留下来的都是那些半夜好好休息,天亮再出门生活的“迷恋”确定性的人 (*^_^*)。
突破不确定性的不适感
恐惧来自不知道该期待什么,以及你觉得对即将发生的事情缺乏控制感。当你感到无助时,你会比知道事实更觉得恐惧。如果你不知道该担心什么,那么所有的事情都会令人感到不安。-哈德菲尔德
这让我想到了一部恐怖片《寂静之地》,全程没有看见怪物的模样,但是一出声就会遭到怪物的袭击。未知的才是最可怕的,按照我老婆的话来说,恐怖片里鬼真的出场了反而就不怕了,未知才是最令人害怕的。
所以想要突破不确定性带来的不适感,首先要确定该担心哪些事物,比如问自己:
最坏的情况是什么
最坏的情况发生的可能性有多大
比如我现在很担心马上要上线的接口无法达到性能要求,我可以问自己:
- 这个接口在极端情况下出现问题之后会导致什么关联后果,最大的影响范围是什么,要怎样才能降低最坏情况下对整体业务的影响
- 接口在什么情况下会出现崩溃、无响应等,具体能够承载多少并发值,业务又有多大的可能性会达到这个并发值瓶颈
在我们确定了什么东西真的值得警觉后,可以继续采取措施减轻风险
策略1:冗余
冗余也就是哪怕出了故障,也能正常运行,也就是“有故障而不失效”,如果我的接口在一台 1c1g 的机器上能够负载 10次/s 的并发访问,而平时网站的访问不会超过 5次/s,但是网站停止响应的后果很可怕,那么我们可以采取的措施就是:
加一台或多台备胎服务器
在某一台服务器响应出现问题时,自动切换到另一台机器上
这种策略就叫冗余,冗余能够提供足够多的安全性,但随之带来的成本也是显而易见的,如果我们要承受百万并发,使用十万台备胎机器做冗余是很可怕的,我们更需要做的是优化程序设计,让单机能够承担更高的负载,所以冗余策略并不能代替优秀的设计,过度冗余有时候还会给我们带来其他的麻烦。
策略2:安全边际
面对不确定性的事务时,我们经常会给自己找这么一个理由:“我还没有准备好”、“时机还不够成熟”、“我还没有时间”、“我们的硬件资源还不够”,导致的最终结果就是拖延。
而解决这类问题可以有一个参考思路,就是构造足够宽的安全边际,以实际互联网工作举例:已知公司制作一个 APP 到 App Store 上线发版再到所有用户更新到软件的最新版本需要经历很长很长的时间周期,而我们又需要验证一个很赚钱但不一定可行的业务,所以直接上线让用户使用会有承担骂名的风险。那我们可能会考虑使用 AB 测试来小范围试验这个业务,线上有多少用户可以看到这个功能都可以在远程配置;这样哪怕这个功能很糟糕,但我们随时可以终止试验,避免影响进一步扩散。
毛主席在《实践论》中提到
常常听到一些同志在不能勇敢接受工作任务时说出来的一句话:没有把握。为什么没有把握呢?因为他对于这项工作的内容和环境没有规律性的了解,或者他从来就没有接触过这类工作,或者接触得不多,因而无从谈到这类工作的规律性。
及至把工作的情况和环境给以详细分析后,他就觉得比较的有了把握,愿意去做这项工作。
我对这段话的理解就是:多了解多调查胜过胡思乱想的担忧,把带有不确定性的东西尽量变为可控、详细的东西,然后带着把握继续前进。
总结
我自评是一个相对保守谨慎的人,也会对自己说“我还没有准备好”,“这个功能这么麻烦,实现起来会是个大坑,不如争取下砍掉这个功能”,还时常受拖延症的困扰;但现在也会学着对不确定性进行本能的抗拒时带上自己的思考,反问一下自己,“如果换一个方向,有没有可能做成这件事?”,“如果我做这样的措施,是不是就不会出现预想中的坏结果了?”,希望自己也希望读者在看完这篇文章后能够在工作和生活中产生更多的思考。