大家好,我是曹政,今天我们开始,2024年年终福利课第二课,关于容错机制和快速迭代

先说明一下,受限于腾讯接口限制,讨论区最多200人在线,不过不影响浏览课程。

2.4 容错设计

2.4.1 容错与纠错并存

1)我们首先要承认错误是不可避免地,在这个前提下,纠错和容错是需要并存的,其实前面提到的乌兰察布的案例,就是一个典型的容错设计案例。电力稳定性需要多重容错设计,才能保证服务的超高稳定性支持。

2)容错保证基本,纠错持续优化。
容错设计的目的是,保证业务的基本稳定,允许错误发生,并且在错误发生时能够有足够的应对方式和响应。而纠错是持续优化,是问题事后对错误进行反思和总结,从而确保同类的问题不再发生。

3)容错不能完全替代纠错,容错是有限度的,而且错误积累会带来更严重的问题。容错其实是给纠错提供了更宽松的前置环境,让你不需要疲于奔命的去纠错,让你在认识到错误之后,能够有足够的时间设计纠错方案和执行纠错规划。有人可能觉得,我做了容错设计,就不需要纠错了,这是不对的。

a.举个例子,比如我们运输一些容易损坏的物品,容错设计就是,我备货多一些,当物品损坏的时候,可以快速填补损耗,这样保证交付的质量和规模达到目标,那么纠错是什么呢,我仔细分析损坏的类型,看看在包装运输途中,如何改进,如何优化,如何降低损耗率。

b.再举个成长例子,比如我跟领导申请一个任务,从容错性角度,我可能把任务时间说的相对宽松一点,把任务目标说的相对灵活一些,让自己有足够的时间应对不可知的困难,但从纠错性角度,复盘之后我要思考一下,这个任务完成的时候,哪些步骤可以优化,哪些经验可以总结,哪些教训未来可以避免。这样以后就能做的更好更快一些。

4)容错有助于更好的拓展自我,或者产品的使用范围。
a.从产品来说,可以举一个大家都知道的例子,AK47,风靡半个世纪的经典步枪,它之所以经久不衰,容错能力是最重要的原因,在恶劣环境下的高可用性是它的致胜原因,无论是泥泞,沙土,水分均不会影响它的使用。低维护成本,高可用性,简单的拆装和修理方式,让这款产品在全球各地被广泛使用。甚至很多美军在一些国际冲突的战场上,会丢弃一些设计更新,性能更优的枪械,选择拾取对手的AK47使用,其实也是因为看中了其高可靠性的优势。

b.从个人来说,一个容错率高的人,其社交范围会更宽,其合作伙伴的选择面会更宽,我们都知道人无完人,每个人都有自身的缺陷,就算是顶尖大佬,成功人士,其实也不能免俗。那么如果是那种对他人极端要求的人,就很难扩展社交,在各种需要合作的场合,哪怕是一起出行作伴,都很难找到合适的同伴。但如果这个人容错性高一些,或者我们所常说的比较宽容,比较有同理心,那么就更容易在社交上,在职场及商务合作上,乃至在婚姻和家庭生活中,获得一些好的结果。

还有说明的一点是,很多人对自己的容错率很高,自己的问题都是无心之失,有情可原;对他人的容错率就很低,他人的过失都是蓄谋已久,处心积虑,然后扣帽子,上纲上线,这种人挺常见的。你们自己想想,愿意不愿意和这样的人交朋友。
当然,我不是说无限容错,我们也要对社交,合作做必要的筛选,凡事都是个度,度太松,太紧,都是有问题的,适度宽容,适度妥协,人生会轻松一些。

2.4.2 容错的设计原则

我做过架构师,所以容错设计可能更多是从系统架构出发,但是其实从做产品,做人来说,很多原则是通用的。

2.4.3 降级原则,基础可用性优先

a.当一些问题发生的时候,为了保证基础性服务的可靠性,那么一些额外功能是允许临时不可用的。所谓降级就是,尽可能保留基础服务,基础能力,满足绝大部分需求,但对少数额外的需求,在错误发生时允许暂停。
b.早期一些邮件系统就做了这样的容错设计,当系统故障的时候,你无法发送邮件,但仍然可以登录阅读邮件,以免影响重要的事情。同时,邮件仍可阅读,也给予用户一些信心,让用户相信他们的资料没有丢失,维持信心和情绪也是非常重要的。

2.4.4 单点隐患排查,冗余备选机制

飞机会有一套手动装置,防范自动设施出错的情况。同时飞机,船舶上的逃生装置,每次起飞,启航前的安全提示和演习,都是容错的一部分。
很多精密设备也是如此,会有一个紧急的人工干预的操纵装置。
电梯的紧急制动能力,现代化大厦都有应急出口和逃生通道,当然,有个案例不太敢讲,曾经有把逃生通道堵死,在火灾来临时的后果是惨不忍睹的。

这是当年我们在做四三九九技术架构时最大的挑战,什么是单点隐患,就是我们会评估,哪台服务器,哪个服务如果出现故障,整个平台会陷入不可用,那么这就是单点隐患,为了尽可能减少单点隐患,就需要做冗余备份机制,web服务前面加自动监控和负载均衡,能够在单台故障时自动切换负载到其他服务器,那么数据库服务前面加中间件,而且中间件也要搞两台互为备份,任意一台故障都可以快速轮询替代,然后后面的数据库服务器也有备份和轮询的机制,确保任意单台故障都不会影响整体访问。

然后呢,早期公司预算非常有限,我本身就是很抠门的性格(经济适用架构师),那么多冗余的预算是没有的,怎么办,因为故障率整体不会很高对吧,所以尽可能复用备份,比如一台服务器既是web服务的冗余,又是数据库中间件的冗余,同时还是数据从库备份,然后根据服务器的平均负载规划,尽量让每台线上服务器同时承担一些其他服务的冗余备份和灾难容错。
整个架构其实有点凌乱,但是好处就是省钱。

企业内其实也存在类似的问题,就是你会担心说,一个企业存在一个非常核心的员工,一旦他离职了,业务或者技术研发就会出现很大的风险,这也是单点隐患,老板其实是非常怕这种的,那么一个合理的方案就是在关键岗位上设置冗余策略,比如一些有经验的副手,或者公司着力培养的新人,能够在关键时刻,抗住压力,顶替相关岗位。

当然,从人才角度来说,如果你就是那个关键岗位,你就存在不可替代性,老板的噩梦,但其实是你的博弈优势。所以很多职场精英不希望自己所掌握的资源,核心的技术开放给更多的人。

我在职场就有一个毛病,就是我总把自己的当作单点隐患,总是努力找我自己的平替。我在四三九九的时候,从外面挖来了非常棒的技术高手做我的接班人,事实证明水平都在我之上。我在百度的时候培养了一个徒弟,后来我离开百度几年后,他成了百度内的救火队长,当时百度连续几个关键岗位的负责人因为内部反腐被清理,他都是快速轮岗顶替,一年之内连续在多个关键业务部门出事的时候紧急救火,为相关业务团队的平稳过渡做出了卓越贡献。

上面的案例有引申出来一个容错案例,如果你是一个多面手,熟悉公司的核心关键业务逻辑,并且有很强的组织管理能力,那么对老板来说,就像我前面提到的,一个经济适用的容错冗余设计,老板会喜欢这样的人,养一个人,可以做多个岗位的替补备份。这也是我常说的,职场发展多往宽向发展,多理解业务,多和不同团队沟通,多锻炼同理心拓展职场人脉,在很多公司降本增效的前提下,保留经济适用的多面手(这里的经济适用,是指一个人可以适合多个岗位),是很多公司乐意的。

2.4.3 设定允许的损失范围

我在做免费统计的时候,坦白说,早期代码质量不高,对一些异常内容的处理不到位,经常导致程序异常中断。

我第一次设计系统的时候,是持续驻留后台的服务程序,不断去跟踪日志并统计,但是一旦程序异常中断,统计任务不执行了,那么后来就改成了crontab,每分钟执行任务,如果程序遇到异常中断,那么会损失一分钟的日志记录,这样就算是一个不错的容错机制了。

当然,容错和纠错是并行的,我会尽量让代码去记录出错时的状态,然后定期人工核查,寻找出错的原因,逐渐优化,这个过程也是很冗长和枯燥的。有些非常难以察觉的bug是花了一两年时间才确认和修复的。

但这个过程我也意识到,为了维系持续的稳定性,在技术能力,或者资源条件无法完全满足的时候,适当允许一些数据损失,也是可行的。

在四三九九做社群的时候,我们使用的是第三方开源软件,然后我针对负载能力进行了魔改,但即便如此,数据库压力经常会出现,很多时候会导致整个服务崩溃,后来我们就做了一个检测和修复的脚本,其实非常简单,就是每分钟自动登录到数据库看看有多少进程在跑,进程数是否超过警戒值,如果超过警戒值,要记录下来都是跑的什么SQL(这算是有效反馈),然后,如果到了更高的濒临阻塞值,也就是离崩溃一线之遥,甚至已经崩溃,那么会启动自动干预,杀掉一些占用负载的进程,恢复数据库的可用性。

那么问题来了,杀掉的进程可能意味着一些正常读写的数据丢失。但从整体评估来说,总比系统崩溃的损失要低很多对吧。

我不是运维出身,算是个人创业做过网站,我没正经学过运维,但是我的安全行业从业经验,给我的意识是专业的,我甚至不会用很多运维工具,但我写了很多自动干预脚本,事实证明,胜过很多熟练使用运维工具却意识薄弱的工程师。

其实这也是一个人生态度的感悟,分享给大家。 承认并理解错误总会发生,在这个前提下,在可控范围内允许一些损失和代价。
当你把这个态度当作自己人生信条的时候,你会发现,无论是你的恋爱观,你的投资观,你的事业观,就都可以用这样的心态去理解。

在损失可控的前提下,允许投资错误。
在投入可控的前提下,允许谈一场错误的恋爱。
在损失可控的前提下,允许尝试一些可能失败的事业。

尽量控制损失和代价,然后允许并理解自己也会犯错误。当然,也要允许并理解你的家人,你的同事,你的领导也会犯错误。

2.4.4 反馈机制(黑盒子机制)

飞机上有黑盒子,我们天天坐飞机,也不要介意讨论这个话题,当然我们不希望这个黑盒子会被用起来,但是这就是容错,纠错的一个理性考量,错误总会发生,当错误发生的时候,如何能尽可能留下当时的信息,从而复现错误出现的场景,才能更好的进行持续的纠错,防止惨剧再次发生。

我前面也提到,早年,我真的写了很多自动监控和干预的脚本,说实话,自动干预并不是每次都有效,自动监控也不是每次都到位,但每次遇到无法定位的故障,没办法去分析,没办法复现的时候,我会怎么想呢,在脚本中增加一些自动监控的目标和特征,然后没办法,静待下一次类似问题的发生。
也许我们的容错系统无法阻止这次错误发生,但是,至少要让它能够告诉我们,这次错误是怎么发生的。

马航那次离奇的空难,直到今天,我们都没办法了解真相,其实,想要了解错误是怎么发生的,真的也不是一件容易的事情。只能退而求其次,如果我们无法了解错误是怎么发生的,那么,能不能基于这个问题,打造一个可以了解错误是怎么发生的系统,当类似错误再度出现的时候,能够更好的记录,并且分享出来。

2.4.5 容错设计的局限性

第一,容错设计是有成本的,那么大公司,小公司的成本观是不同的,一些巨头为了达到更好的稳定性,可靠性,愿意付出更高的成本容错;一些设计人身安全的产品,比如飞机,比如航天飞船,需要更高的容错设计;一些涉及金融财务的业务,容错设计需要极为强大,否则可能带来难以评估的损失。但是对于很多小团队,创业者,不要过度去设计容错。cnzz早期bug 是非常多的,很多容错设计也是在发展的过程中逐渐加上去的,并不是一开始就有的,而且就算运营了一些年,一些典型的错误仍然没有彻底修复。四三九九也是,经历了很长时间噩梦般的运维困扰,很多容错设计也是逐步去迭代出来的。

第二,容错设计是基于错误预期的,必须承认,很多错误是无法预期的,所以容错设计往往面对一些奇怪问题的时候不能奏效,需要不断复盘和迭代。

第三,人为因素不可控。比如民航事故中,有机长轻生带来的灾难;比如在最近字节跳动大模型被员工投喂脏数据等等,这些更加不是容错设计可以覆盖的。当然,同类问题出现后,容错设计可能会针对性做一些调整,但这又带来了额外的成本。

第四,因为怕出错,而不敢优化,也是一种问题。
在大企业有一种病,就是出现一个问题,业务流程,系统流程就去增加一个应对的策略,当然,这些策略很好的解决了这类问题,但是当这样的问题越来越多时,你就会发现,这个流程也好,产品策略也好就过度冗余,过度繁冗,对用户体验和正常的业务流程产生了灾难性的影响。
然后,没有人敢站出来说,也许我们不需要那么多的策略和流程,为什么,因为每个策略和流程都有明确的意义,有明确的案例做支撑。

讲一些案例,比如过于复杂的密码设置规则,过于难以识别的验证码,这些都是为了防范某些确认的风险,但是真的就非常影响用户体验。
再比如,我们的各种安检,从安全保障来说,当然是有效的降低了相关的风险,但社会成本有多高,有人算过么,这个社会成本高,不仅仅是庞大的安检人员的支出,也包括了大量的普通乘客的时间损耗,这是个天文数字,但没有人愿意去算这个数字,超高昂的社会成本,投入产出比是否合理,安全真的是无价的么。

第三部分 贝叶斯方法

3.1 贝叶斯方法的信徒

成功人士,都是贝叶斯方法信徒,相信很多人都看过那篇文章。贝叶斯方法,可以说就是可纠错的反馈闭环的典型数学描述。

3.2 贝叶斯方法的基本逻辑

贝叶斯方法的公式自己可以去搜索,咱们不是数学课,不展开数学讨论,只讲思维模式,贝叶斯方法的核心是什么,是概率,其实只有三条,先验概率,新证据,后验概率。

①先验概率,基于固有认知,道听途说,或者偏见,对某件事情的概率判断
②新证据,不断收集到的这件事情发生与否的证据,加入先验概率进行迭代。
③后验概率,得到新的,对该事务的概率判断,然后继续循环。

贝叶斯方法就是基于反馈纠错闭环的另一种表达方式。
①更加偏重数据,更加数学化。
②更容易被编码,投入到实战中。

3.4 实战中的应用

①人际洞察,一个人是否靠谱,是否值得培养,是否具有成长性,那么一开始可能知识一个主观印象,但是随着对方的行为记录,比如承诺对象情况,比如立flag的完成情况,比如自学能力和实战表现,那么对这个人的形象会不断调整,从而更加准确的判断其成长性和可塑性。那么所谓投资原则,选择合适的人,做适合的事情,其实也是基于这样的一个不断考察迭代的思路进行。

应该是承诺兑现。。。

②商业决策,对市场的前期判断,然后在实践中不断采集信息反馈,不断对产品和服务发布的状态进行评估,从而获得更准确的认知。这里再说一个方法,顾小北和亦仁都推荐过的,如果你想做一个产品,不知道用户有没有付费欲望,做调研得到的结论是不可信的,口头支持都是不可信的。什么是可信的,做预售,预售就是一个很好的市场判断的风向标,很好的商业决策的数据来源。我们看到小米就很喜欢预售,很多巨头都玩过预售。你可以看到市场的真实反馈,并重新评估可行性和发展潜力。

③机器学习,比如广告系统,如何预测用户的点击率和转化率,这就是一个非常典型的贝叶斯方法的实战题。先验概率可能是同类广告,同特性广告的历史数据,然后基于该广告上线后的数据反馈,不断迭代,然后进行合理的评估和优化。比如对用户行为的分析和预测,一些游戏产品已经拥有非常智能的技术,基于玩家的真实水平设计关卡难度,这其实也是通过贝叶斯方法来进行实现,先验概率就是平均玩家的过关难度,那么基于玩家实战表现进行评估迭代,得到后验概率,从而调整关卡难度指数,再继续迭代,实现针对玩家的最佳体验。

第四部分,快速迭代,实现闭环

必须强调一点,就是无论你的认知提升到多少,如果不进入到快速实战,快速迭代,那么你永远没有办法证明自己的价值,实现自己的期望值。行动永远是需要强调的。我三个月前知识星球留作业,让读者们立flag,也是希望敦促大家行动起来。

然而很多人立了flag也是不了了之。。。

4.1 勇气是实践的第一步

大部分人行动乏力的原因是卡在了第一步,第一步欠缺的是什么,是迈出去的勇气。
那么当我们谈及勇气,我们先看看人们恐惧什么,仅这一部分,就可以展开很多。

4.1.1 无法承担损失

其实我们知道,很多事情可能投入确实没有很好的回报,但只要努力去做,那么认知提升,能力提升,都是长远的回报,很多人会算计,我买个AI账户会不会浪费了,我买个远程云主机会不会浪费了,我花钱会不会最后什么都拿不回来。

有全部浪费的可能,但你如果足够的努力去学习和使用你购买的那些优质产品和服务,长远看你不太会亏的,当然,有的时候我们也不是很容易分辨哪些产品和服务是好的,交学费的过程总会有。我今天说一点很重要的事实,所有成功的创业者,企业家,我所知道的,多多少少都交过学费,都浪费过一些金钱和资源在错误的方向和事情上,你不需要每次都对,你只需要对一次。有些坑,自己不踩,就算别人告诉你,你也听不进去,自己试过才知道。

我再自吹一点,我以前写的文章,有很多读者跟我说,他们开始读的时候不理解,或者说不以为然,某一天踩坑了,自己面对类似的问题,突然就想到,我曾经文章中提过的。很多人跟我反馈过类似的话题,很多时候,看我文章不能提高你的执行力,只有你真正做进去了才能提高,然后在行动的过程中,你再来对比我的文章,可能会稍微,也就是稍微少交一点学费,稍微少走一点弯路,这就是我能提供的最大价值了。

人们行动前会怕什么呢?怕投入损失,其实我也怕,所以为什么我现在说轻创业,前期少投入一些,没关系的,不需要很大的投入,要允许自己有损失,这点很重要,当然这个损失必须是可控的,在关于决策的福利课里,我也强调过。

4.1.2 面对未知的恐惧

比如面对未知的挑战,应对未知环境,很多人都会怕,他们会习惯在自己的舒适区里,习惯已有的路径依赖,一些常见的案例,能不能去街头搭讪一个陌生人,为什么去年我给溪总留这个作业,这是很多人难以克服的一个心理卡点,克服心理卡点,有很多很多事情就敢做了,不仅仅是对事业有帮助,对生活也是,包括社交拓展,包括独自出游时需要解决问题或寻求帮助。当然,溪总果断拒绝了这个作业,人各有志,我还能说什么呢。
我去学潜水,去学冲浪,一个人到陌生国家旅游,去爬很有难度的山,其实很多时候我也会怕,不怕才怪,很多时候我也是刻意要去挑战一下自己的心理卡点。

4.1.3 怕批评,怕挨骂,怕流言蜚语。

公司项目会议,领导说,谁有什么想法,大家头脑风暴一下,自己明明有想法,不敢说,怕被嘲笑,这种人多不多。如果你想在公众面前表达自己,想要建立个人影响力,那么挨骂的事情就会很多,造谣的事情也少不了,你怕不怕。但如果你需要掌握更多的资源,那么影响力就是非常重要的基础条件,怕你就会缩手缩脚。 帅张没少挨骂,亦仁没少挨骂,刘思毅没少挨骂,冯老师更不用说,我还真算挨骂少的,所以我写了一篇文章骂我自己,那篇文章叫做“你矜持,你活该”,如果不那么矜持,或者早点放下架子,会不会赚更多,发展更好。

4.1.4 怕难以兑现

比如说,我立个flag,明年发布属于自己的独立产品,那问题来了,如果发布不了怎么办。吹过的牛如果兑现不了怎么办,做出的预测如果被打脸了怎么办。首先,合理的进行预告和预测,你要知道自己是可以做到的,你提前讲出来是给自己一个压力,让自己不要忘掉自己的目标,不要懈怠。其次就是,你需要尽力去做到,当然,如果因为对困难估计不足,或者因为其他原因没有完成,只要你尽力了,其实也是一种成长和收获。我去年说今年读完哈利波特英文版全集,其实没读完,但只差不到一册了,完成率其实已经很高了,当然,不找借口,没完成就是没完成,后续继续完成就是了。还有就是,真的不怕打脸,但要认真反思,打脸你要认识到自己认知的不足,然后看看哪里需要重新思考,哪里判断出了问题,而不是胡搅蛮缠找借口。

4.1.5 怕当出头鸟

这个确实也能理解,现在很多人信奉低调,闷声发财,太出头容易被集火,容易遭到各种实质性的伤害,而不仅仅是挨骂这么简单。那我说那句经典的话,富人家的孩子如果不折腾一辈子都是富人,穷人家的孩子如果不折腾一辈子都是穷人,你理解一下这两句话。如果你已经找到了闷声发财之路,如果你已经有足够的资源和资本,你说你不想出名,不想出头,少惹事,多做多错,少做少错,我理解你,你直接找我,我可以给你出攻略来环游世界不好么,还学什么迭代进步呢。但如果你现在一文不名,还在底层挣扎,渴求翻身,你别想那么远,你现在必须在底层找到出头的机会,必须敢折腾,必须不要怕那些流言蜚语,你必须冲出来才能破圈,你到了一定高度了,你发现再破圈就要上达天听了,你这时候低调收敛一些,我认为是对的。

4.1.6 怕不确定性

现在有个社会现象很说明问题,就是很多年轻人非常卷,卷考研考公,卷上岸,然后目的是什么呢,目的是躺平,非常卷的去躺平,去了那些单位之后其实又躺不平,体制内现在也各种盲目的卷,很多地方堪比九九六,你还不能吐槽,因为没有资本家可以骂。但是为什么年轻人还要卷这条路,为什么不试试其他可能性?因为他们并不是怕卷,而是怕不确定性,他们习惯于路径依赖的卷,习惯于确定性的卷,正如习惯于刷卷子,分数成绩一定会对应某些大学的录取标准,他们太习惯于这样的卷,确定的成绩和确定的目标。

我们那个年代毕业的时候刚好是分配工作的尾声,自由择业的起步,我太喜欢当时出现的不确定性了。当然,这里还有一些不可说的因素。但有一点可以说的是,确定性从来都是个伪命题,年轻人以为的确定性从长远看是不存在的,不确定性才是现实,90年代的国企下岗已经演示过一次了,但是很多人的思维惯性里,除非真的发生在自己身上,否则都是遥远的其他世界的事情,他们会有很多理由安慰自己,那不一样的。但真的,你怕没有用的,不如坦然去面对,不如勇敢去挑战。

所以,我不是说,追求确定性是错的,我是想告诉你,确定性不存在,你在追逐一个不存在的目标。
但我知道,很多时候,说了也没用,直到被现实击中,你才会想起来我说过的话。
以上是一些常见的,阻止进一步行动的心理障碍,希望年轻人早点突破,才能勇于实践,多尝试,并享受这个过程,才能更好的找到属于自己的机会。

4.2 积极的主动寻求反馈,而不是消极等待

比如说,创业的时候,你会跟各种人打交道,合作方,上下游,乃至你雇佣的员工,多去寻求反馈,比等着出问题了别人找你,要好很多,很多时候,别人对你的怨气是逐渐积累的,到爆发的那一天就无可挽回了,但早一点了解,早一点调整,可能就会少很多不必要的麻烦。
做产品也是,多看看数据,多了解用户,那么前面也提到了美图秀秀早年产品调研的案例,其实也是一种积极寻求反馈的态度。多主动去了解,更早能知道问题,好过问题严重后再去补救。

4.3 前期设计应为快速迭代做出足够准备

产品设计的时候,要理解到,调整和改变是必要的,试错是个持续的过程。
不但是产品设计,我们自我成长,自我规划的时候,其实也需要类似的思路,不要让自己走向僵化的路线。

4.3.1 模块化设计,容易拆分和组合

所谓的高复用低耦合,这个思想真的是通用在诸多场景中。尽量把基本逻辑拆分出来,然后针对不同场景和业务进行合理的配置,这样当遇到问题,或场景发生改变的时候,只需要重新配置即可,那么快速迭代的效率就会非常显著的提升。
当然,以上只是理想情况,实际上不太可能做到完全的灵活和复用,需要一定取舍,或者说,不要为了灵活性过度设计。因为过度设计前期成本就太高了。

马斯克的航天革命,其实也是这种工程思维的极致体现。高复用,低耦合,是工业化以来,诸多消费品成本急剧下降的主要原因。
各种标准件,可以让产品的生产,功能替换和维修变得极为简单和便利。
spaceX让航天产业从神话跌落,其实也是将很多专有器材改为了标准通用器件,然后通过冗余容错结构来防范故障率,实现整体的高可靠性。生产和迭代成本就有了极大的降低,说起来简单粗暴,但这真的是底层思维模式的极致体现。

那么从个人成长来说,一些基础能力是需要培养的,这些可以认为是标准模块,构成了很多成功的要素,比如一直强调的沟通表达能力,比如英文阅读和听写能力,比如基础的计算机编程能力。这里我引申一句,纯粹的程序员职业,目前看上去已经供给过剩,并不是一条好的职场赛道,但编程技能仍然是非常基础的一种能力,我认为无论是分析师,数据工作者,还是产品经理,甚至一些文职工作,会编程能够拥有额外的加分机会。很多时候,编程不是你的职业,只是为了更有效率的处理手上的工作,而且,AI时代,对普通人来说,编程的门槛更低了,会一点编程基础,有助于更好的和AI交流,来更好地解决前面说到的场景,开发出属于自己的代码,让自己的日常工作更有效率。

4.3.2 不要过度投入到不确定的细节中

在我们无论是个人成长,还是打造一些属于自己的产品,都会有相当长的试错的过程。
比如说,很长时间,你可能不知道自己真正的优势是什么,你可能不知道自己真正的价值在哪里,这很常见,我年轻的时候也为此纠结。那么打造产品的时候,是不是真的满足了客户需求的痛点,或者说某些技术解决方案是否真的如预期一样直接有效,那么很多时候,都是需要频繁的尝试去解锁真正的答案。而这个尝试的过程,显然是有成本的。所以也有所谓的低成本试错。

那么这部分要说明的就是,如果你认为当下所做的事情还属于试错的过程,你只需要关注最核心需要验证的问题是什么,而不要花太多时间和精力在一些其他细节上,因为这会增加你的试错成本,而且基本上不会增加你的成功率。
举个极端例子,你想要打造一个能极速推进的新型跑车,你先要测试原型车的风阻系数,动力结构,安全框架,以及稳定性,在这个阶段你去设计车载娱乐交互系统,设计人性化的座椅什么的,就为时尚早,你需要验证原型可靠之后,才是后面的这些步骤。

快速原型,快速试错,只有做出最基本的验证,确定结构和目标没有问题的时候,再开始那些细节的处理。
理论上,航天产业由于研发成本高,可靠性要求高,从历来的思维来说,不适合快速原型,但是SpaceX硬是改写了这个规则,我们都知道很多炸火箭的新闻,但是和我们常识不同的是,人家很多次都是任务完成后炸掉的,因为它完成的是某个环节的原型测试,并没有去更多涉及后续的问题,所以逐步推进,那么现在SpaceX的复用技术已经非常成熟可靠,在国际商业发射市场基本上占据了垄断地位。如果连火箭设计都可以用快速原型来迭代,我们做其他的尝试,更应该保持这样的原则和心态。

4.3.3 保持足够的灵活性

前面提过,拥抱不确定性,我们最初的设想,对自己的最初定位,往往不一定是正确的,我以前解读过中国互联网的历史,所有中国互联网的巨头,从一开始就走对路,就坚定自己的路线图的,一个都没有,全部都是中途做出了重大调整后才突破困局,走向成功,有些还做过多次调整,比如网易。

连最成功的巨头都是如此,何况我们普通人的成长,普通的产品设计。
世界在变化,就算是成功的产品,如果不能与时俱进,也会被时代淘汰,就算是一个优秀的人才,如果不与时俱进,也会被时代所抛弃。所以,永远需要让自己多一些准备,多一些灵活性的考虑。

从个人成长规划的设计,到产品架构的设计,到技术框架的设计,都要有一定的灵活度考虑,都要做一些对不同扩展可能的兼容性考虑。当然,不能说无限兼容,毕竟人的精力是有限的,产品的研发和运营成本也是有限的,但适度灵活性,有助于在时代背景,或者用户诉求发生改变的时候,能够做出合理的调整和跟进。

那么从职场来说,有些工作所用到的技术和能力是和特定公司,特定岗位高度绑定的,我相信很多从业者都有这样的经历,你所用到的技术,所学到的技能,只能用在非常有限和固定的场景下,你的工作经验,对其他的工作和场景基本无用。当然,我不是说你不能选这样的工作,毕竟现在求职难度也挺高,但是记住,保持学习,扩展自己的能力,尽量掌握一些通用性更强的技能,让自己有更多的可能性。

产品设计,不要急于堆满所有的功能清单,占满所有的用户屏幕,可以适度做一些保留设计,根据业务的反馈,逐步填充或调整。

我们都知道,微信是个克制的产品,而这个克制的背后,是提供了更多的能力给第三方,所以微信本身的功能不算特别强大,但是大量的第三方小程序提供了无数种产品灵活性,这也是一种让产品更有活力的做法,与其自己试图满足一切,不如只保留强大的基础能力,通过更好的框架容纳更多的可能性。

保持灵活性,才能更好的拥抱不确定性。

我几年前文章也说过,我不反对买房,但是买房不应该是约束你的因素,如果因为买房,你丧失了很多其他的机会和可能性,我认为是不妥当的。我有过多次买房的历史,但我从来没有被房子约束在特定的城市里。

面对好的机会,好的方向,要敢于舍得,记住有舍才有得,很多人无法保持灵活性,是因为太多割舍不下,包括某些思维定势,包括一些所谓的资源关系,包括一些已有的成果,从某种意义来说,也是对确定性得依赖。

我以前说过我自己的创业团队,要敢于尝试新的东西,其实很早就看出来,我们当时的商业模式是难以持久的,我说过一句话就是,你坐在那里吃老本就是等死,你主动去出击就是找死,找死还有一线生机,等死迟早万劫不复。

如果你真有足够好的资源,足够好的成绩,并且仍然有足够的持续性和成长空间,当然,我不是说你必须放弃一切去做新的东西,不是的。但很多时候你要评估一下,如果你当下所持续的业务,所依赖的技能,只是一个慢慢等死的状态,只是一个勉强可以维生但迟早会被时代淘汰的能力,比如说,滴滴司机,看看AI还有多久取代驾驶员。你需要未雨绸缪,尽早让自己去试试其他机会,而不是等所有人都开始转向的时候,那时候你卷不动别人了。

我从北京到厦门,很多人不理解,说你北京那么好的人际关系,社交资源,怎么就放弃了。到厦门几年,我建立了属于自己的新的强大的社交网络,然后我来了新加坡,又是很多人觉得不理解,那么好的国内资源怎么就放弃了?现在我在新加坡拥有了强大的人脉资源,最近几年那些国内来的朋友,很多都找我帮忙打开局面。

舍弃熟悉的环境,熟悉的资源,但是得到更大的空间,其实很多时候,你舍弃的那些还会回到你身边。但如果不懂得变通,舍弃,直到被时代大潮裹挟前进的时候,你才会发现,你已经会不上别人的步伐,你去转向新赛道的成本就远远大于别人,机会也远远小于别人。

4.4 目标拆解与自我激励

我们在提升所谓行动力的时候,最大的一个困境就是,目标遥遥无期,人会疲劳,会有惰性,会失去热情,一个遥远的目标,和缺乏反馈的过程,对很多普通人来说,会严重制约行动的效率,我自己也是如此。

1)一些提升的建议是这样的,把目标拆解为更细的,更紧凑的里程碑目标,这样可以让任务安排更紧凑,让自己能更短时间达成每个步骤的目标。

2)人是需要激励和正反馈的,如果别人不能提供,那就自己提供,当我们设定了一些目标的时候,如果这个目标仅仅是针对自身的提升,可能不存在外部直接奖励的机会,那么可以自己奖励资金,比如减肥多少斤,就去买一个自己很喜欢但一直舍不得的产品给自己当礼物。

3)在一些熟悉的社群和朋友圈里立下flag并自我设置违约处罚,让更多人监督你,为了避免处罚自己,从而努力兑现目标。这也是很常见的一种敦促行动的做法。

4)Deadline就是生产力,比如我每年的星球福利课也是,必须强迫自己在设定的课程时间前完成备课,实现课程的全部准备。那么Deadline必须有足够的约束力,要敢于进行自我挑战。

4.5 永远让自己有筹码

敢于试错,愿意接受损失,才能看到和把握更多机会,但这个前提是什么,不要再试错的时候,输光所有筹码。

我就问提到过的,不要ALL in,永远都要再讲。

我同意,很多人会说,不留退路,ALL入局,能有更多成功机会,但这个更多是多少,不要说100%,50%有没有,多半是没有的,如果用我的话说,可能让你的成功几率从5%上升到10%,但你还是有90%的机会会输,怎么办,你没有下一次机会了。

我投资失败,决策失败的场景非常多,真的非常多,我看人不准的事情也有,判断不灵也很常见,这没什么可丢人的,所有大佬都有判断错误,看走眼的故事。但我今天还能在这里吹牛的原因是,我大量的尝试和折腾的行为,最终还是给我带来了可观的回报,而这里的一个重要前提是,我从来没有损失过所有的筹码,也有惨痛的教训,七位数的学费(不止一次),但从来都能留在牌桌上,从来都能有继续下注的资格,这真的很重要。

筹码不仅仅是钱,还有信用,这也是重要的筹码,信用如果耗尽,无数机会就会和你说拜拜了。很多年轻人真的特别不在意这个,他们为了赚一些快钱,或者说为了当下满足领导的期望,把个人信用廉价的消耗了,比如推销公司的一些理财产品给亲戚朋友,比如让身边的人参与分销公司的产品,最后一地鸡毛的时候,社交资源全面崩溃,而且基本没有修复的可能。

我们普通人平时会有一种常见的牢骚,一些同学,老朋友,混的好了,求他办点举手之劳的事情都不肯,就很生气,觉得小气,觉得不真诚。但这里的误解是什么,普通人没有信用成本的概念,他们以为的举手之劳,对那些人来说,信用成本极高,比如说,推荐介绍个大佬吧,推荐介绍个投资人吧,帮我宣传一下我们产品吧,给我找个工作吧,这些,都是有信用成本的,为什么那些人混得好,因为那些人珍视和提升了自己的信用价值,现在你让他为你消耗这些信用成本,这个代价是非常高的,真的不是“举手之劳”,除非什么,除非你真的特别有实力,特别靠谱,别人觉得帮你忙是可以提升他们信用价值的,这个和交情无关,看的是,推荐你给那些社交资源的时候,能不能提供正向价值。

就算是我有直接利益关联的,我投资的项目,我去推荐给一些大佬的时候也是非常谨慎的。而且通常我是不愿意出面站台的。

信用高度绑定的就是社交资源,记住,社交资源不是你认识谁,也不是谁认识你,而是谁信任你,这也是很重要的筹码,对你的职场选择,创业选择,以及甚至面临绝境的求救选择,都是很重要的。

5.总结与实战

我先说一下这次课程的备课心得,这次课程的内容可能有些地方会显得凌乱,因为这个话题,既可以用于,产品设计运营的迭代发展,也可以用于,个人成长的迭代发展,但当试图在文案种同时满足这两个诉求,就会显得有些顾此失彼,当然,不找借口来说,个人驾驭文字的能力还有待提高。

而且真的,我试了试AI,能够给一些思路拓展,但在提供具体内容的时候表现不佳,或者说从我的认知来说我觉得不太可用,就是讲了很多正确但空虚的内容,不能贴近实战,所以我还是觉得啰嗦一点,拿我自己做案例,讲讲更具体,更落地的一些内容,还是那句话,如果你只是看了文案,觉得自己有收获,价值就是0,我之前福利课也强调过很多次。行动起来,真正的用在实践中,真正的拿到正反馈,才能说这个是有价值的。

5.1 个人成长 任务清单

从个人成长来说,我列一些具体的问题,读者可以自行对照,自行逐条回答,不用回答给我,回答给你自己,然后针对性的行动起来,提升自己的迭代能力。

5.1.1 反馈途径自查

先列个清单,你现在获取有效反馈的途径有哪些,你对当前获得的反馈质量和频率是否满意,这个质量是人家是不是能真正找到你的问题,给出你有价值的意见和建议,而不是人家多崇拜你,多仰慕你,多欣赏你,那不叫质量。

5.1.2 反馈修正自查

如何利用反馈进行自我修正,从过往来看,这样的经历有没有,频繁不频繁,然后想想,是否应该增强这种修正能力,当然,不是每个反馈都值得做自我修正,不是的,甚至大部分反馈都是无价值的,甚至负价值的,但如果你遇到有价值反馈,你如何来规划自己的修正路线。

1)说到反馈修正,我举个自己的例子,比如我写公众号,无数人会说,曹老师你能不能做做版式设计,对不起,我不听的,但其实我也会尽力让文字大小统一,间距合理,以及尽量排查错别字。我不会在版式优化上较劲,但必要的阅读体验依然是要尊重的。

2)有一些题目是可以进行反馈测试的,而且有价值,比如说,你自己是否知道自己在别人眼中的真正评价,能否做个匿名调查。比如说,你是否知道自己擅长做什么,能否通过亲近你的人对你的观察来寻求这个答案。我其实年轻迷茫的时候也经常找一些业内我觉得比我厉害的人来问这个问题,不过坦白说,早期我找的那几个人应该都不是很靠谱。

5.1.3 正反馈案例

你在成长过程中有没有值得一提的,打破舒适圈,勇于挑战并获得正反馈的案例,回顾一下。

5.1.4 勇气回顾

前面有一部分,我们讲勇气的章节,自我对照一下,你会恐惧什么,以及,基于这样的恐惧,你哪些机会不敢尝试,哪些选择可能不敢考虑,仔细刨析一下自己。然后想想,有什么值得去尝试的,能不能克服恐惧,鼓励自己。

5.1.5 计划反思

你是否有制定计划的习惯,制定的计划贯彻率如何,完成率如何。你是否有和朋友,或者在网上立flag的习惯,完成率是多少,对自己的奖励和处罚策略有没有,兑现率是多少。

5.1.6 复盘反思

你对自己失败的事情,比如面试,比如考试,是否做过复盘,复盘后是否有了新的能力和认知上的提升,是否对后续类似的事情有帮助,以及,你是否深入拆解过身边的案例,这些拆解是否让你更好的了解了某些生意模式,或者某种技术及产品需求,以及这种认知是否用到了自己所做的事情中。

5.1.7 新的计划?

那么,以上对照之后,你觉得你现在应该做什么,是否要列出一个计划清单。

5.2 产品及项目优化

当你参与一个项目的研发,运营,并希望自己可以承担更多职责时,以下一些建议希望帮助到你。就不列那么多标题了。

5.2.1 你们的产品是否有业务数据,你每天是否会观察数据,会观察哪些数据,是否理解数据间的关联和逻辑。是否会意识到数据的波动,并试图寻找背后的原因。
5.2.2 你了解多少行业内同类产品,竞品的数据,是否有搜索相关资料的习惯,是否有推算的习惯,比如根据曝光度,榜单排名,推算其用户规模,收入能力。 5.2.3 你是否对产品核心数据指标了如执掌,比如留存率,付费率,平均客单价。对自己产品的数据是否了解,对行业均值,竞品的数值是否了解,你的了解渠道时什么。
5.2.4 你是否有主动查阅用户反馈的习惯,包括自己所负责的产品,或者竞品的产品,是否有对反馈进行归纳整理分类的习惯。
5.2.5 是否有跟踪用户行为日志记录,或者对典型用户做现场访谈,来试图理解用户行为意图,用户困境的习惯。 5.2.6 作为研发或运维,是否有记录运行中异常错误,异常数据的习惯,是否有定期查阅这些数据并分析背后原因的习惯。(并不只是运维的职责)
5.2.7 是否有在搜索引擎或知识社区,搜索自己产品或竞品相关讨论话题的习惯,是否对这些话题的内容认真阅读并思考。
5.2.8 是否通过搜索引擎,或AI工具来分析和拆解竞品,来发现所不知道的功能或运营细节。 5.2.9 是否认真的分析拆解过竞品成功的原因,并提炼要点为己所用。
5.2.10 看到别人使用和你业务相关,但不熟悉的产品,是否会去主动询问和调研。
5.2.11 完成以上思考后,你会有怎样的想法,列出怎样的规划来调整和改进自己的工作。

5.3 团队管理和人事管理

如果你是一个团队负责人,或者你拥有一家企业,以下一些问题,可能有助于你更好的了解团队,以及了解自己。
5.3.1 你每周会花多少时间和团队中的人沟通,会有怎样的沟通形式。
5.3.2 你是否匿名调查过他们对你的印象和评价,或者委托第三方做这样的匿名调查。
5.3.3 你是否跟进过,那些你没有录取的人,是否有其他更好的发展,那些离职的人,是否有更好的发展,你是否评估过,你对人才的判断是否出现过明显的偏差,以及你给团队内员工提供的机会,是否会好于其他企业或岗位。 5.3.4 你是否真的理解你团队每个人的追求,家庭情况,各自的烦恼,是否能基于同理心来寻求你和他们彼此共赢的成长路线。
5.3.5 你是否曾经因为自己的冒失,偏见,或者误解跟你团队的人道歉;你的团队成员是否敢于公开对你进行批评以及开玩笑,这一条是测试你是否拥有又足够坦诚的反馈环境。
5.3.6 你在主持团队讨论时,大家是否积极发言,响应你的话题或者主动承接你布置的任务。 5.3.7 你的团队成员是否会乐于主动找你沟通,找你反馈问题,找你提出建议,还是说只会被动接受你的任务和指派。
5.3.8 你是否经常搜索网络上关于你所在公司,你所在团队,你个人的评价。这些评价是正面还是负面,以及你对此有怎样的感想。这里要说一句,负面评价未必是你的错,甚至很多时候可能不是你的问题,正如前文所说,并不是所有反馈都值得重视,但至少要先知道那些反馈是什么,毕竟负面反馈也会影响很多你后续的人力资源工作。
5.3.9 你是否咨询过一些管理咨询顾问,或者学习过一些人力资源管理的课程,知道如何更好的和你的员工,你的团队成员沟通,理解他们真实的想法,获得他们的信任。
5.3.10 对自己做完如上评估后,你有怎样的想法和计划,打算从哪里入手来提高自己接受反馈的能力并实现自我纠错迭代。

总结以下,寻求反馈,基于反馈制定纠错方案,实施纠错方案,然后继续寻求反馈,这样的迭代过程,是人能够不断成长,项目能够走向成功的典型过程,而这其中,如何能获得真实的反馈,这一点很重要,很多时候,我们会被错误的反馈误导,从而忽视了真正的问题,直到问题严重到不可收拾。小到个人,大到企业和组织,乃至国家,都会面临这样的问题。

而纠错方案,必须基于底层因果逻辑,不能治标不治本,很多时候,纠错方案选择的是掩人耳目,或者是暂时通过强力手段扭转表现,但核心问题未解决,短期的成就可能会带来更大的风险,就比如河道拥塞,用加高河堤固然能防止灾难,但如果只做加高河堤,却不知道疏通淤泥,最终只会带来更大的灾难。很多时候,我们的纠错方案,也往往会流于表面,那么短期可以看到立竿见影的效果,但长期危机的种子可能也由此种下。

容错性是很重要的特性,能有效帮助个人或者项目的发展,但容错不能替代纠错,容错是提供了足够的时间和空间,而纠错是更好的解决问题。
当然,人如果想要自我发展,不要急于纠别人的错,多想想自己的错。

以上,就是这次福利课的全部内容,感谢大家一直以来的支持,如果你觉得课程还算有价值,能让你在后续的成长和项目规划中有所提升,还请不吝的把课程分享给你的朋友,并邀请他们加入我的知识星球,谢谢。