当你是junior时,每次交给你一个任务你大概可以想像要怎麽样达成目标,对於丢给你的问题,即使不知道要怎麽解,但你也大概有方向知道怎麽样做是对的。然而世界没有想像中的美好,随着seniority的增加,你处理问题scope越来越大,问题越来越复杂,大部分状况其实是没有清楚的答案的,更多是也没有所谓「正确的答案」存在,在这种情况下你要如何做决策?
这篇文章蛮适合给Senior或者Leader来看,特别是当你发现你的工作充满着未知与不知道怎麽做决策的问题时,可以看看这个演讲提供的建议是否对你有帮助。
这篇演讲的主题是告诉我们如何做困难的决定以达到远大的目标,特别是那些你没经验也毫无概念的任务。
为何随着年龄增长,你处理的问题会越来越趋困难?
在这样复杂模糊与困难的状况下,我要怎麽知道我做的决策是对的?
讲者表示基本上没救,当下你拥有的资讯不可能让你知道最後决策是否是正确的。
因此,与其思考怎麽样做「对的决定」,不如思考怎麽「修正错误」。
讲者建议我们可以使用「精益方法(lean approach)」去达成长期与高不确定性的目标。接下来就是要细讲这三个部分。
(图片来源:原演讲投影片)
写下问题的描述、限制、与动机
不同於那些你已知或熟悉的任务,这种计画很难拟定就是因为你根本也没有经验,所以首要之事就是先厘清问题本身与记录下来,因为它已经超过你脑袋的记忆体容量了。
指定负责人(DRI,Directly Responsible Individuals)
通常在做困难决定时都会一群人一起讨论,大家会彼此争论观点,也因此很容易就会形成争论半天但毫无结果的状况,所以这时候这位DRI的目标就是确认整个决策过程是有在向前进迈进的。
打击分析瘫痪(analysis paralysis)
跟上一点雷同,基本上就是要防止无进度的讨论。在做决策时人常常过度分析事情本身而苦於做出决定。所以尝试跳脱这个循环,确认每次meeting都是有在向前进的。
而我们希望在拟定计画的部份能获得以下成果:
这里的方向不用是确定的解法(其实你也无法得知确定解法),只要是一个可以尝试的小赌注就可以,下面来解释这点。
小赌注的特徵:
做小赌注的目的很明显,我们希望多样性的尝试不同的方向(diversification),利用类似MVP(Minimum viable product)的方式去理解哪个方向比较适合。如此一来我们便可以
这边有几个常见的方式是这种小赌注的实现方式
最後吸取教训的部份就是从一次又一次的小赌注中,尝试做到
当初美国在拟定「登月计画(Project Moonshot)」的时候,没有人知道到底该怎麽做,更不知道怎麽做才对。但为了快速达到这个目标,前人做的尝试就是不断的利用MVP去尝试:尝试发射火箭到太空,尝试回收火箭,尝试在太空生存...。不断的利用快速的feedback loop去逼近目标。
如果大家有兴趣可以看看google的X company,他们把各项登月计画变成一次又一次的登屋顶计画(roofshots),也才能不断的达成各种不可能。
最後总结整个演讲的点
这篇的主题真的意外的蛮有趣的。
虽然他在讲的是做决策,但其实跟解决问题是同样的道理。一般人可能都会想说解决问题的方法是:先列出你想达成的目标,然後想办法分成小阶段去完成这个目标。但现实状况是你可能根本对於问题本身都不够清楚,也没有前人的经验,那在这种资讯不完全的状况下你要怎麽达成你的终极目标。
我自己觉得这个approach其实不只是套用在工程上,也是一种很好的生活哲学。
工作的目的其实就是在教导你如何面对世界。
你怎麽处理工作上的未知,其实就跟你怎麽处理生活上的未知是很一样的道理。工作模式的抽象,其实完全是可以套用在生活上的。
例如你工作觉得无趣而想尝试转领域当工程师看看,但你知道这个成本很高,不确定该如何做决定好?那你或许可以套用上述的方法,加入个bootcamp认真花个一两个月学个coding感受一下,或许可以有更多资讯帮助你做最终决定。
再例如我自己也曾经尝试改进我的时间管理,而时间管理有各种framework可以套用那我应该选择哪个呢?我也不知道,所以我就先乱选了Get Things Done(GTD)试试看。在密集的尝试一个月之後,我发现几件事:
就像这个铁人赛也是一个对自己的尝试,看看写文章是不是个适合我的路线XD,目前已经写了2/3,流程上的收获蛮多,希望我最後一天有时间好好整理这些东西。
当Leader常常发生的事情是,当大家遇到两难、难以下决定的状况时,常常会请Leader来决定到底要怎麽做比较好,但其实很多问题Leader本身也不太知道答案。例如说两个性质相近的API到底要合成一只还是分成不同的?例如这个DB要使用Mysql还是用HBase?例如我们到底该不该把commit code gen出来的code还是只在deploy的时候dynamic的gen出来?
其实这些大方向决策的问题,我也都没答案,其实也无法得知哪个比较好。因为**「系统设计本来就是一项预测未来的过程」**。好的设计只是这个设计对於预测的未来刚好比较match,而不好的设计或设计错误,往往只是当初的预测跟未来走向不同而已。
所以很多时候与其花时间讨论哪个决策是最好的,不如就选择一个方向做下去,因为计画总是赶不上变化的。我们自己到最後决策的重点,往往考虑的是当这个决策是错误时,有没有办法修正?或者这个决策的风险有多高?只要这些小赌注的後果是自己可以承担的,那我们就可以先往这些方向前进。
不要追求最好的决策,将你的决策变成最好。
虽然与上文写的没有什麽关系,但我觉得人生其实就是一连串的决策过程。很多时候你不见得需要像上面那样做各种小的尝试,更多时候是快速做决策後,尝试把下定决心的结果变成最好。
心思细腻的人往往会多想到底哪个决策是最好的?花了很多时间分析优劣,但是却迟迟不愿意下决定。我自己其实也是这样的人:在考虑要不要换手机前就会思考各种换手机的优劣,在出去玩就会各种比较哪个地方会玩的比较尽兴,租房子的时候有两个各有优劣的选项苦苦无法选择,究竟要待在现在公司还是换去其他地方,到底应该要跟喜欢的人告白还是不要(?)。花了很多的时间分析优劣却还是不知道怎麽下决定。
我觉得分析是必要的,但是过度分析只会导致更加难以抉择,因为其实大部分选择的优劣,都是无法比较的。所以与其继续苦恼无法做决定,还不如选定一个方向做下去,然後慢慢的把你的决策调整成最好。但要记住的是这里的最好不是指如预期结果的最好,而是你自己能接受的最好。因为我们无法控制外界事务,但是我们可以控制自己面对事物的心态。
<<: DAY22 用 Azure Machine Learning SDK 建立环境
>>: 【Day 22】病毒出得去,赎金进得来,勒索软件发大财 - Ransomware
JavaScript 中型别主要分为原始型别和物件型别两种 原始型别 原始型别中包含七种型别, 而这...
运用到的观念: 利用vertical-align: middle;调整图片预设多余的空间 使用po...
github: https://github.com/wilsonsujames/ML_on_web...
每当我们在使用git的时候,我们查看每一条之前自己加入的纪录: git log --oneline ...
在UI出图之前,我们先确认好目前的 wireframe 是完整的。接下来只要依照 wireframe...