编程中的心流模式flow
周末看电影,接触到了心流这个概念,挺有意思。了解心流理论,可以指导我们进入一个更为高效愉悦的工作状态。
电影《社交网络》里程序员写代码出现了两次"wired in", 一次是肖恩帕克去参观扎克伯格的创业团队,其中的一名程序员没有回应肖恩的问候;另一次就是安德鲁怒找扎克伯格询问关于股票稀释的问题;
quora上有个专门的问题来: https://www.quora.com/What-does-it-mean-to-be-wired-in,意思说:“He’s wired in”. Well this means you literally “wired” to your computer.
有点类似武侠里说的那种人剑合一的境界。还有个跟程序员相关的电影《黑镜:潘达斯奈基》,里面有个类似的情节:
306
00:13:19,180 --> 00:13:20,400
你听什么
What do you listen to?
307
00:13:22,530 --> 00:13:23,710
来进入心流
To get in to the flow.
这里的心流指的是什么,有专门的心里学理论,知乎上也有对这个问题的探讨:
“心流”是指我们在做某些事情时,那种全神贯注、投入忘我的状态——这种状态下,你甚至感觉不到时间的存在,在这件事情完成之后我们会有一种充满能量并且非常满足的感受。其实很多时候我们在做自己非常喜欢、有挑战并且擅长的事情的时候,就很容易体验到心流,比如爬山、游泳、打球、玩游戏、阅读、演奏乐器还有工作的时候。
不过,太长时间的极度专注可能对人的消耗也挺大。在程序员的产出为什么和投入时间不呈线性相关的关系?这个问题下,一名答主提到了他这样的一个经历:
我试过,极度专注状态下,一天6个小时左右写了两千行全原创代码,一气呵成,0bug。
写完站不起来了。之后近一个月精神无法集中,没有再写一行代码。
从那以后,我学会了合理安排自己的工作时间,每天进入极度专注时间不超过4小时。
这种极度专注对人的消耗还真是蛮大。认识的一个获得过ACM中国区金牌的朋友提到他们的训练说每周也就一次集训,集中尽力做题5小时。
自己上学时,参加过电子设计大赛和数学建模比赛,都还取得了不错的成绩,核心的算法代码也都是晚上通宵后半夜一气呵成突破写出来的。到底当时年轻,精力十足啊。对当时自己完成核心代码编写的那种奇妙的状态,自己也印象深刻,感觉就是大脑莫名的兴奋,思维十分活跃,快速理清楚了复杂逻辑,完成了代码实现。感觉不知不觉就天亮了,内心有一种模型的平静与满足,很奇妙的一种体验。
到了工作后,写的都是业务代码,极少有那种状态了。而且也总是被各种事情打断。现在看了那个理论后,才知道那个叫做”心流模式“。而且,进入状态是需要一定前提条件的:
- 要产生心流的先决条件是自己的能力与所要做的事情的挑战难度都比较高,并且能力与挑战难度相等。
- 为喜欢的事情努力时、当内在动机存在时,人们会更容易进入心流的状态。而只有通过实践去尝试做一件事,你才会真正知道自己对它的感受。靠想象、分析和测试都是并不能真正帮你做到这一点的。
- 当你发现一件事情充满挑战,而自己却技能不足时,应当及时学习新的技能以应对挑战;相反,当一件事情挑战不足时,适当地增加难度,也能够帮助人们更好地进入心流的状态。
- 设立明确而具体的目标,并主动寻找反馈。当目标越明确时,人们对于自己能否胜任就越有把握,也越能够专注地努力,而不会左顾右盼、犹豫拖延(Lee, 2005)。而寻找反馈,能够帮助人们根据反馈做出及时的调整,避免反复碰壁而消耗热情与精力。
- 很大程度上,获得幸福生活的秘密在于,学会尽可能地从我们必须做的事情中得到心流的状态。如果工作和生活变得自身具有目的,那么生命就不会虚度,我们所做的一切本身就值得我们去做。
一张说明进入心流条件的图:
心流的获取,靠的是个人能力水平和接受的任务难度之间的微妙配比。进入心流模式就会体验到:
你感觉自己完完全全在为这件事情本身而努力,就连自身也都因此显得很遥远。时光飞逝,你觉得自己的每一个动作、想法都如行云流水一般发生、发展。你觉得自己全神贯注,所有的能力被发挥到极致。
还有很多关于心流的解释和tips,后面可以结合自己的实际工作试试看 ????