本文将分享一下个人的判断经验,期望引起大家对判断本身的关注。此外,由于决策常常是动态的,风格和经历也各有差异,也的确只能 “仅供参考”。
我们时刻都在做着判断和选择:买哪一类水果,看哪一部电影,走哪一个车道.... 日常的选择总是如此随意,选错了也可以说句“下次注意”,且有提前终止的可能。但进入到工作中,会发现判断将变得困难。
工作中的判断,无论是技术框架的选型、工作内容的侧重、合作伙伴的选择等,都会影响到后续工作的过程与结果,最终影响:幸福感受、成长收获、物质激励。这让我们判断时慎之又慎,选择时充满踌躇。
随着年龄的增长,试错的成本将越来越高。我们渴望寻找相关经验:能够“一枪就命中十环”,通过较少的次数,获得较高的成绩。
判断信息
正如“巧妇难为无米之炊”,如果没有输入,我们很难进行判断,并产生输出。此外,从编程的角度看,“程序=数据结构+算法”,如果数据信息本身是缺失的,那么判断作为一种行为,也是难以符合预期的。
因此,需要明确的是,更好地进行判断的前提条件是:获取更多的信息。下面将列举一些常用的信息类型。
▐ 案例:寻找模版
如果能找到相似的问题和案例,那么就像拥有了“上帝视角”:能够快速了解问题的类型和常见策略,匹配后就可以快速地得出方法论。例如:
- 题型判断
做代码题、日常优化的时候,要先判断是什么类型, 判断完之后,就能确定算法模版,很快下手:
- 递归问题:抽象递归方法;
- 排序问题:确定排序算法;
- 最短路径:进行路径权重定义。
- 性格判断
和人合作的时候,要判断伙伴的风格类型:
- 他是主导型的,自己就要多倾听和辅助;
- 他是跟随性的,自己就要多投入和横向牵头。
- 策略判断
新公司进入市场的时候,会研究已有公司的产品、组织、策略等,通过拷贝经营策略模式,可以避免“走弯路”
- 快速响应:使用扁平化的组织结构提升响应效率;
- 抢占市场:使用低价策略拉动规模。
要学习别人的经验,关键要找到学习的“源泉”。从影响频率来说:虽然优秀的伙伴、相关分享都可以给人力量,但是覆盖度毕竟有限,不太可能成为大多数人的力量源泉。所以,需要寻找“更为普遍”的输入:
- 源远流长的中华文化
中庸之道:《论语》中的“过犹不及”教会我们做事要恰到好处;
落后挨打:近代史的发展让我们领悟到要大力发展科技与经济;
功败垂成:“不可沽名的学霸王”提醒我们做事要一鼓作气。
- 各个国家的发展历程
劳动力向更便宜的地方转移:从之前的日本、韩国转移到中国,现在陆续开始转移到东南亚;
头部国家对后起之秀的打压:之前美国对日本的打压,现在转换到与中国的大国博弈。
- 上学过程的知识沉淀
关注内在价值:价格和价值的关系讨论;
寻找日常规律:圆的周长等于 2 π R;
更高理论层次:相对论和牛顿力学的关系。
这些现象我们其实很清楚,再深入抽象一下,并做好关联,就可以解决很多问题。但我们还常常为“不知道怎解决问题”而哀叹,是缺少足够的意识:要训练联想、关联的能力,做到“站在巨人的肩膀上,实践已有的结论”。
站在巨人的肩膀上
▐ 基石:自底向上
有时候要怎么做、做什么可能非常宽泛,但是正如那句话“脚踏实地,仰望星空”,想不确定的事情,可以基于确定性的基础。所以,脚下的基石也是一个输入。底下的基石是什么?这个取决于你要走向何处:
- 基石是代码逻辑:作为业务开发,需要承接业务需求,基石就是手中的业务代码逻辑。应该多看代码,了解更多的限制和约束,摸清可以表达的空间。
- 基石是基础能力:作为产品,需要进行产品方案设计,基石就是合作的团队的基础能力,应该多了解现状,知道风险和需要完善的地方。
- 基石是团队经历:作为团队TL,开拓新市场时,需要划分人员职责,基石就是团队人员的经历和方向,应该多观察和沟通,判断哪些地方比较适合大家发力。
但是,基础是繁杂的,怎样去了解,常常很难做好权衡:
- 粒度过粗,没有感觉:泛泛而过,看过即可,不求甚解,花了很多时间看,但是回过头来,感觉啥也没记住。
- 粒度过细,过于局部:深度遍历,每个细节都看,很久之后,可能也没看多少,且由于过于局部,很难匹配问题。
我们该如何破局,怎么了解好底下的基石,有些策略可以参考:
- 做好笔记
- 笔记是索引:好记性不如烂笔头,笔记其实是索引,我们不需要全部记住。
- 记住的定义:在一定的时间内(如1分钟内),能够找到具体逻辑,也可以认为是“记住了”。
- 做好分类
- 不分类的苦恼:那么多知识点,如果没有归类,将越来越混乱,难以找到,会造成越看越迷茫的尴尬局面。
- 可分类的类目:对开发而言,分类按照“应用”、“业务活动”、“领域”等角度进行归类,都是不错的切入点。
- 做好侧重
- 复杂的多看一点:因为简单的,到时候看也可以;
- 高频的多看一点:因为这个可以解决你80%的问题;
- 闭环的多看一点:因为这个可以给你一个完整的思考。
▐ 分解:自上而下
分解看上去容易,但实际上也非常困难。因为上层可能只给了一个战略和方向,具体怎么做?、能不能做?、是否会有好收益?大多都不太明朗。
这虽然很泛,但的确比“大海捞针”,“什么都没有” 强很多,是一个重要的输入:大方向一般也是非常慎重的,不可能完全无法落地,有潜在的指引性。
自上而下分解,做出判断的时候,也需要关注几个点:
- 探寻原始意图
- 局部难以看明白:到我们这,可能已经是好几层的分解了,如果只看一、两件事情,很难看明白。
- 往上层探寻意图:思考要往上走,探寻完整的战略、逻辑,尝试思考:做到什么地步、投多少人力等是合适的。
- 理解分解要求
- 初步调研:有些只是整理,了解背景,还没有到真正决策和执行的时候;
- 原型验证:有些要求进行一些demo验证,获得实践上的二次输入,但并没有说一定要非常完整。如果的确遇到了困难,可以再讨论。
- 坚决执行:有些是确定性任务,即使遇到困难也要克服,投入超出预期的时间、人力是需要咬牙坚持的。
- 有自己的判断
- 保持怀疑性:不是说自上而下的分解都是铁定正确的;
- 及时反馈:实践过程中发现不太适合生产规律的点,要及时向上反馈,避免大跃进投入,进入到更尴尬的地步。
很多时候,更重要的还是“察言观色”,找到重点。虽然很难像课堂上老师说的“这就是重点”那么直接,但是我们还是可以发现一些特征:反复提起的、重点对外发布的、重点关注的等等。
即使是遥远的星空,也能指向
▐ 环境:大势所趋
我们常听到要 “顺势而为、借势而进、造势而起”。
- 发展好的时候,都可以:企业发展好的时候,很多项目无论顺势、借势、造势,都是可以起的,因为即使价值不那么明显,在大的发展背景下,也是有的一说的。
- 发展难的时候,要顺势:势头放缓的时候,如果还不能顺势而为,那么造势而起可能会变成“逆势而为”,进退两难,甚至引起上层出现“快刀斩乱麻”的局面。
做好上面的判断,关键是要“审时度势”,那有哪些是势头呢:
- 基础建设是一种势头
- 提效价值明显:当基础设施还不完善的时候,提效的价值会很明显,基础设施的建设会络绎不绝。
- 层次不断向上:从基础的流量负载均衡,到各种消息、RPC等中间件建设,再到各种中台的建立,接着到各种行业产品沉淀等,越来越接近业务本身。
- 美好生活是一种势头
- 数量转向质量:当产品建设到一定程度时候,开发的节奏会明显放缓,大家会开始思考如何更好地改善研发环境,也会更加关注软件生命周期的总体成本,数量支撑也会慢慢转向质量建设。
- 大多数是一种势头
- 短期的头部:竞争对手减少很多之后,会期望通过头部客户,广泛赚取利润,支持方向也有所调整。
- 长期的多数:但后面会发现新的浪潮来自于大多数非头部客户,因为哪里代表的人群、发生改变的频率更多,从长期来说,大多数是一种势头。
- 降本增效是一种势头
- 扩张后的收缩:企业发展到一定程度,增长势头会放缓,会为之前的扩张买单,降本增效会从个别部门的大事成为企业的整体策略,而且这将是一个长期的事情。
势头大家的确也能感觉到,但是工作中去链接这些势头,一个重要的判断就是:这些势头是否已经逼近、甚至已经进入了我们的工作环境。如果还有一定的保护区,惯性上可能还是会按照之前的思路继续做事,短期内可能会被买单。但是,“日新月异”这个词应该是值得敬畏的事情,思想不往前走,当浪潮来临的时候,的确“避之不及”。
浪潮背后的自然规律
▐ 周围:他人认知
发现信息的时候,会受到视野、工作投入等约束,个体能挖掘到的信息是有限的。正如“1+1>2”所传达的概念,应该更多地交流,获取周围伙伴的信息与观点。如何更好地获取周围人的认知呢:
- 寻找目标人员
- 以终为始:如果你有明确的目标客户,那么他们的观点、看法、要求等输入,会是你产品很好的前进方向、关键约束。
- 善于倾听归纳
- 核心判断:你会听到不同的声音,要善于听清哪些是核心判断,并求同存异地进行归纳。
- 有容乃大:应该具有包容性,当信息、观点不一致的时候,不能强行输出。
- 广范围的同事
- 行业观点:“他人”不一定只是指工作同事,可以找到外部会议、书籍等,获取行业同事的调研与观点。
获取到各种声音后,需要进行加工处理,挖掘出更深刻的规律:
- 思考方向的起因
- 5W1H:当听说团队后面有一定方向时,不要只在意做什么,要去想为什么会在这个阶段,起这个事情,去思考背后的产技关系、发展策略等深层次的方向调整,从而更好地贴近主线。
- 不要只看到好的
- 辨证看问题:在会议、书籍中看到别人已经走过类似的路,提到了“鲜花”背后“失去”的部分,要重点去复盘这些问题,能否承受?能否避免?如果难以避免,那么长期看,是否愿意持续维护?是否真的要走这条路?
- 递归地去挖掘
- 看透问题:当别人观点中引用了其它的理论,为了更好地理解这部分,需要再去看一下其发展历程,深度地研究一下背后的规律。
善于发现和沟通、保持敏感性、具备包容性、有自己的主线,是做好与外界声音衔接的重点。
蚂蚁间传递信息,互相合作
判断模式
拥有判断的信息之后,我们将会做出判断。判断的时候,根据事情的复杂程度,需要采取不同的判断模式:
- 基于经验:有些比较简单明了的,可以根据“直觉”、“感觉”等快速地思考,给出答案。
- 尝试模型:有些有多种方案,方案都各有利弊,需要确定目标的价值公式,并计算投入产出比,选择较优的结果。
- 模拟仿真:有些影响的因素特别多,不是短期内、一下子能够衡量的,也缺少参案例,那么可以采取模拟仿真的方式,根据模拟结果进行后续判断。
▐ 显著因素:基于经验
面对简单的问题,一下子就能给出答案,脱口而出,当即立判,可以称之为”基于经验“。这背后的本质,是有非常显著的因素,可以达成“一票同意制”、“一票反对制”的效果:
- 场景1:同步调用还是异步调用
实时要有结果:消费者实时等待结果的,需要采用同步的方式。同步扛不住:没有足够机器,不得不削峰填谷的,需要采用异步的方式。
- 场景2:统一集成部署的方式还是外调
- 耗时有要求:如果对耗时有严格要求,那么就需要尽量统一集成部署。
- 组织等边界:系统非常复杂,比如物流、支付系统,那么会选择外调的方式进行衔接。
- 场景3:业务自建还是平台介入
- 无法单独完成:业务没办法在扩展区域实现,需要变更平台代码,那么需要平台人员介入。
- 愿意为资源买单:业务方可以完成,但没有人力,表示可以出成本,平台就会愿意支撑开发。
基于经验的判断,关键是要找到核心判断点,找到了这些点,就能很快地做出判断。当难以判断的时候,寻找“老人”咨询,也是为了获取这些关键点。如何能更好、更快地找到判断点,下面有一些建议:
- 基于底座:要基于手中的生产资料进行思考,有这个资料之后,可以确定能做什么、做不到什么。
- 换位思考:看谁更适合做这个,业务能不能自己做?从长期角度看,一般看核心的逻辑归谁理解和管理。
- 考虑成本:判断做事的成本,如果可以做,但是成本非常大,且没有人买单,那么可以影响投入决策。
更愿意选择红色苹果,颜色是显著因素
▐ 较多因素:尝试模型
有时候,需要考虑的因素有很多,很难通过关键因素去否定或者赞成。而且多种方案也各有优缺点,此时,做出判断、选择的时候,往往会比较投入产出比(ROI)。
如何更理性地去思考这个投入产出比那,考虑较泛化的抽象:
- 价值 X = 比重a x 因素A的价值 + 比重b x 因素B的价值 + 额外价值 D
- 成本 Y = 比重c x 因素A的成本 + 比重d x 因素B的成本 + 额外成本 E
- 收益 Z = 价值 X - 成本 Y
当这里“比重”非常大的时候,就趋近于“基于经验”的判断:
- 一票赞成:价值的某个比重因素非常大的时候,收益基本就是正的,比如:就是今年重点战略。
- 一票否决:成本的某个比重因素非常大的时候,收益基本就是负的,比如:需要建立一个自研团队来支撑需求,且这个需求背后的市场规模很小。
当这些因素非常相近的时候,“比重”的大小决定了我们的选择,这个“大小”取决于各个团队的价值观和风格:
- 速度优先:业务部门中支撑业务发展的比重是非常高的,有时候技术实现稍微“定制”一点,也可以接受。
- 质量优先:横向部门的效能、稳定性、持续提效要求是比较高的,不是说不支持业务,是说会做得比较稳、通用一点,施工周期也就更长一点。
这样的取舍,生活中也有比较经典的场景,比如,导航:
- 赶时间,速度优先:有时可能会走高速,费用增加,但是开得舒服;
- 不着急,经济优先:不走高速,遇到拥堵的时候,慢一点也可以接受;
- 综合看:避开费用高、特别堵的,剩余的多种方案默认按时间优先的角度看。
这里可以看到,不同的发展阶段,不同的环境下,要求会是不一样的,这就体现在:“额外价值”、“额外成本”会动态调节,产生影响。
基于模型揭示客观规律
▐ 复杂因素:模拟仿真
当影响考虑的因素特别多,且周期较长的时候,任何一个因素的把握不对,都可能造成“蝴蝶效应”,影响整体的收益。这样的判断一般和重大方向有关,特别大的战略可能接触不到,但是团队、部门的方向选择还是和我们息息相关的。
这样的复杂决策判断该如何进行?学生阶段接触的“微观交通仿真”事情的逻辑,其实是类似的:
- 不确定性非常大:一辆车的交通事故,可能会导致连环的追尾,导致整个交通拥堵一下子严重起来。
- 无历史逻辑参考:同样的,新增加一个匝道出入口会带来什么影响?
这些都没有经验可以参考,需要基于段路的流量去做仿真验证。其它仿真的思想其实也很多:飞机阻力模型的仿真,各种活动的排练,比比皆是。
工作中,我们参与的“仿真”也不少:
- 局部仿真:要做系统大型重构的时候,先拿某个功能点做验证,部分重构,如果结果不错,那么再进行铺开;
- 灰度仿真:要采用一个新的架构体系,先拿一些业务流量进行闭环验证,看看整个研发生态中遇到的反馈;
- 攻防仿真:要重点演化一套产品能力:需要进行材料汇报,并经过多种日常bad case的用例走查,看能否解决问题。
做好仿真,也有几个需要注意的点:
- 基础数据要准确:交通仿真中,各种车辆的模型、驾驶风格的比例,需要到各个路口进行采样调研。工作中也是,不能只是自己拍脑袋,判断几个点,要能够反映普遍的民意。
- 评价标准要公认:交通仿真中,最终交通运行状况的好坏,会采用国家的交通拥堵指数计算方式,基于车速,并考虑大客气、小汽车、货车的速度差异,综合计算。工作中也是,上线初期可能重点投入,各种指标非常好看,但是我们应该更关注长期的、普遍的、综合的评价指标。
- 仿真结果不好时:虚拟的仿真过程中,可以调整变量,去试验出好的结果,但日常的工作中,每次尝试是有成本的,所以需要深刻分析问题的原因,是否前进?继续研究?及时止损?判断时需要客观公正地深入思考。
风阻仿真验证
判断策略
当进行具体判断时,其实和“做试卷”是类似的,有不同的题型。回答不同的题型时,也应该有对应的做题策略。
▐ 确定性高:选择题
选择题是在已有选项中选择正确的。日常工作中,只要善于分析各种方案的优缺点,选择一个恰当的,并和TL对焦之后,基本就能答对。
但题目到你这时,可能不会给完整的A、B、C、D选项,会和你说:“有A、B等路线,你再去看看”。当没觉得有更好的答案时,就要求我们具备补充选项的能力,增加更多有价值选项的措施有:
- 多关注技术博客:别人经常提的亮点,一般是比较好的答案;
- 多和产品沟通:了解后面要走的路,好的选项也要能够为后续工作做好铺垫,代表一种长期主义;
- 多和TL要输入:了解环境背景、兵力部署,要顺势、借势而为,挖掘结合点比较好的选项;
- 多关注大家选择:有些事情已经在日常发生和被解决了,需要做的只是抽象和定义这些解法。
做选择的时候,有一种说法是“我一直都选C,总能对一些”,背后值得思考的是:无论选什么,要建立起自己的判断原则,不然就会随波逐流,常常东施效颦,适得其反。
此外,确定性高的题目,也比较适合之前提到的“基于经验的判断”,核心是找到每个选项的明显缺陷,进行排除。
选择时的思考
▐ 确定性中:填空题
填空题是给一段上下文,输入答案,使得整体句子比较通顺。工作中,比较合适的场景是:对老板OKR的分解和对齐,老板没有明确说你要做什么,但是已经给了大方向,你的OKR应该也要主打这些点。
从输入来说,填空题具备分析价值的,是上下文。更好地理解上下文,有这些策略:
- 了解周围人思路:题目肯定是要求大多数人能够感知到正确答案的,也是大家能够做的,能够理解的。
- 多向上询问题意:和考试不一样,我们回答的这部分是“开卷”的,可以和上层反复对焦。
- 多回归近期重点:不同阶段的题目,都是对这个阶段知识点的考察,需要结合年度、月度等节奏进行铺开。
从输出看,填空题为了将答案范围进行缩小,会反复出现“关键表达”。这些关键表达,会对应到工作中的一些应用、能力、数据等生产要素。这也就提示我们,答案是要基于关键知识点(团队存在的职责)给出的。
填空类似完成拼图,需观察周围板块
▐ 确定性低:写作题
有时会做些自由度非常大的题目,类似作文题,只给我们限定了题意,只要观点(方向)正确,就会有基础分。能否取得高分,是看每个人的积累,也是看出大家差距的地方。
面对比较宽泛的命题(如:要做些什么提升研发效率?),要书写出满意的工作答案,是可以借鉴“写作”的一些原则的:
- 价值观要正确:无论要做什么事情,一定是弘扬正能量。对应到工作中,是需要符合解放生产力的发展规律的,不是为了做而做,为了包装而包装。
- 要有足够论据:文章中常用三个示例去做论据,证明观点是正确的。反过来看,我们要做出判断的时候,需要提前找到一些确定性的成果,来为判断和选择做背书。
- 创意也要点题:经常有写小说、文言文的新颖形式,能够获取较好的结果。我们可以选择创新方法,这样的方向是鼓励的,有额外的加分或者支持倾斜,但前提是需要恰到好处,不能脱离题目(目标)。
正如,一般是做完选择题、填空题再去做写作题,只有日常做好工作积累,才能在“写作题”上,进一步发挥个人的判断力、执行力。
策略:射向靶心,高分点反复拿分
总结
本文分享了一下个人的判断、选择经验,在结尾的时候,再抛一个问题:我们需要每次都做出具体的判断么?
- 无答案也是答案:领土冲突常常一直僵持不下,基于人为的边界线,反复争夺,也没有输、赢的明确结果。
- 别人会代你选择:有很多架构改造,可能做不到应有效果,要决策往回走么?在你犹豫不决时,可能会收到业务决策:不发展、甚至关闭,技术体系上也就不了了之。
以柔克刚,不要急着判断
的确,有时候,能够给出结果的,只有时间。但能够提前把问题看清楚的,肯定是:既了解底层现状,也了解整体趋势,能够做出非常合理地衔接与思考。
做出判断后,后续的发展,往往已经很难受到主观意志的控制了,改变的成本也很大。但是适时地调整,让自己的判断可以变化,目标可以调整,我想,这应该是获得最终成果的唯一妙招:动态、及时地调整判断与答案~
团队介绍
我们是大淘宝技术-交易平台团队。团队主要从事交易链路交付工作,在交付工作中,抽象和建设横向产品能力(如:预售、电子凭证等),团队关注业务架构、DDD等理论与实践,致力于高效、稳定地实现业务接入,并抽象赋能。