有很多人都好奇过,为什么鸭哥有这么多热情和时间来做这么多复杂的 hobby projects,并且把它们做得很深入。 我一般会打哈哈说因为干啥啥不行,划水第一名。把别人工作的时间都用来做咖啡,做咖啡自然就好喝了。 但其实仔细想想,这是一个蛮值得深入探讨的问题。
这里面最重要的一个原因,我觉得是对复杂系统的习惯程度,或者说 comfortable with complicated systems。 所谓复杂系统,是跟我们平时所接触到的“因为我做了 A,所以得到了 B”这样的系统对应的。 它有很多个可能的输入来影响最终的结果,或者说有很多把钥匙来打开很多锁。 我们很难总结出来只要我做ABC,就可以完成XYZ。 成功有很多条路径,失败的路径更多。
举个例子,升职加薪是一个非常典型的复杂系统。 你可能做得很好,升职加薪很快,也可能做得不好。 但是,很难推断其中到底是什么原因能够让你升职加薪得更快。 大家可能会有一些感觉,会有一些模糊的想法,会做简单的实验,但是很难真的把它归因到某个特定的因素上去。 或者就算知道一些原因,也很难复现。或者扩大观察范围以后会得到完全相反的结果。
另一个例子是做菜。 最后的菜可能会很好吃,但中间因为牵扯到的因素实在太多了。 比如食材是不是新鲜,你的调料品质怎么样,搭配怎么样,火候怎么样,导致最后菜的口味也不一样。 但是如何去提升做菜水平,这是一个系统性的复杂的东西。 不是说我只要按部就班说 12345,就能做菜做得好吃。 而是要反过来看,要知道如果我做菜做得这样不好吃,那是因为那样的原因,我应该这样改进。 需要经过这种复杂的归因和改进和探索以后,才能提高做菜的水平。
为什么要强调复杂系统这一点呢? 是因为绝大多数有意思、或者说有难度的兴趣都属于这种复杂系统。 比如摄影,为什么你觉得照出来的照片好看? 或者咖啡,为什么你觉得出来的这杯咖啡好喝? 或者耳机,为什么你觉得这首歌用这个器材听得就更好听? 都牵扯到很多方面,也牵扯到复杂的归因和改进。
而鸭哥的一个特点,就是对这种复杂系统的忍耐程度非常高。 这可能是因为和 PhD 以及职业训练有关。 在我的整个求学和工作生涯中,每天接触到的都是类似的复杂系统。 不停地在做针对各种复杂原因的归因和改进。 而且在走出学校以后,我逐渐发现这其实是一种超能力。 我们日常接触到的东西大都是高度确定的,比如汽车踩油门就会走,打伞就会挡住雨。 所以当面临一个复杂系统的时候,人的自然反应就是沮丧。 为什么我做了这么多努力,它还是没有改进? 到底要怎么做才可以? 而如果拥有面对复杂系统可以仍然很舒适地思考,有效改进的超能力,自然就可以做到很多很复杂的事情。
具体地说,这会在“知”和“行”两个方面帮助到这些hobby projects。 一方面,这些领域都是现存的人类已经研究过很多年的领域,所以只有在继承的基础上才能往前发展。 但因为这些都是非常复杂的系统,所以人类围绕它们的理论本身就非常庞杂。 所以从知的角度来说,怎么样在一个庞大复杂的知识系统中间快速找到其中的脉络,领会其中的直觉,并且把它灵活运用,是一个核心优势。
从“行”的方面来说,要想把一个复杂系统做成功,最关键在于如何 debug。 也就是当你看到最终的成效不如所想的时候,不是拍脑袋乱想可能是什么原因,并且瞎调各种变量,而是通过设计一系列的实验,来快速地把原因锁定在一个很小的范围内。 然后再进行各种权衡,来让最终的结果提上去。
所以你可以看见,如果对一个复杂系统非常熟悉的人,他不论是在心态还是在执行效率上,都会非常占便宜。 毕竟我们玩业余项目主要是为了找乐子,不是自虐。 如果跟复杂系统死磕并且不享受这个过程,那还不如不玩。
所以总的来说,我觉得对于复杂系统的舒适程度和熟练程度,可能是决定一个人能做多复杂的项目的关键,不论这个项目是工作里还是生活上的项目。 如果当你有了这个能力之后,你看到各种看起来非常牛逼、很复杂的 hobby projects,其实都很简单、很舒适的时候,自然而然就会发展出各种奇怪的兴趣爱好,并且在每个领域都取得成就。
广告时间: 因为我觉得这是一个特别重要的能力,因此一直想着怎么把这种debug的能力分享给大家。 所以我和课代表开发了一个AI相关的课程,希望带着大家受控地犯错误,在犯错的过程中学会怎么设计实践,快速归因,从而高效debug。感兴趣的同学可以戳链接了解一下。
Comments