首页 > 程序人生 > 程序员为什么喜欢夜间工作?
2014
12-13

程序员为什么喜欢夜间工作?


BI中文站 12月10日报道


有人说,程序员是一种神奇的动物:喝的是咖啡,挤出来的是代码。


此言不虚,随便找个有上进心的程序员问问,就会发现他们多半都会在深夜活动。有的早起,有的晚睡;有的凌晨4点起床,有的凌晨4点入睡。


这么做的关键还是为了集中精力。但实际上,你完全可以闭门静思,那样跟半夜工作又有什么区别呢?


我认为这取决于三个因素:创作者的日程、沉睡的大脑和明亮的电脑屏幕。


创作者的日程


保罗·格雷厄姆(PaulGraham)2009年撰文描述过创作者的日程——从根本上讲,世界上主要有两种日程。传统的管理者日程以小时为单位来划分,10分钟的干扰最多只会浪费你1小时的时间。


但与此同时,格雷厄姆还总结了一种“创作者的日程”——也就是我们这些搞创作的人所遵循的日程。从事一个庞大的抽象系统,需要把全部精力都投入其中——曾经有人将此比作用昂贵的水晶玻璃来搭建房屋,一旦有人分散你的精力,整个工程都会土崩瓦解成无数的碎片。


正因如此,程序员对干扰他们工作的事情才格外厌恶。


由于这是一笔重大的脑力投资,所以,除非能连续工作好几个小时而不被打扰,否则我们根本无法开始工作。费尽心思在脑海中搭建出了整个模型,但却在半小时后土崩瓦解,绝对是件得不偿失的事情。


事实上,如果你有幸与很多企业创始人进行沟通,就会发现,他们很难在白天完成任何工作。因为在白天,他们要面临各种干扰,需要处理各种重要事情,还要回复各方邮件。所以,多数人都选择在夜深人静,其他人都入睡时,再来干正事。


沉睡的大脑


但就算是程序员,到了晚上也该睡觉——程序员也是人,他们到了白天也会感觉更加清醒。


既然如此,我们为什么还要在大脑想要入睡时完成最耗脑力的工作,反而在大脑最亢奋、最清醒的时候完成相对简单的任务呢?


因为越是疲劳,就越能写出好代码。


与鲍尔默峰值类似(ballmerpeak),疲劳反而能让我们更好地集中精力,原因很简单:因为大脑很疲劳,所以不得不集中精力!没有多余的脑力让你分神。


当喝茶过多或者在不恰当的时候摄入能量饮料时,我的工作效率往往最低。这会导致我异常活跃,一会儿刷Twitter,一会儿看新闻,思维总是东奔西跑,无法聚精会神。


我本以为这样可以更好地工作——精力充沛,脑力富足。但恰恰相反,我始终在牵绊自己的进程,无法集中精力超过两秒。


相反,当我略感疲惫时,我会集中精力编程。由于大脑略感疲惫,所以我能连续好几个小时编程,而不会分散精力去刷Twitter或Facebook,感觉就像互联网消失了一样。


我认为这适用于多数程序员。我们的脑力对于80%的工作而言都是过剩的——面对现实吧,要写出一段生动的代码,需要编写10倍的平庸代码来为它营造良好的运行环境。即使你从事的是最先进的机器学习(或其他技术),很多工作也只是清理数据,以及用令人愉悦的方式呈现结果。


当你的大脑没有全负荷运转时,它就会寻找其他可做的事情。疲劳会让你变得迟钝,集中精力处理手头的工作,无暇顾及其他。


明亮的电脑屏幕


这一点很容易理解。在夜间盯着明亮的光源,你的睡眠周期就会推后。你会不知疲倦地工作到凌晨3点。然后,你会一觉睡到上午11点。而夜幕降临时,你也不会感觉疲劳,因为你11点才刚刚起床。


经过足够的反复后,你相当于进入了不同的时区。更有趣的在于,这种状态似乎不会反弹:一旦你进入了凌晨三四点入睡的均衡状态,就会始终保持这种节奏。


或者,当周围的人都告诉我们,下午2点吃早餐实在是太懒惰了,那么我们或许就会让闹钟来改变自己的作息时间。


综上所述,程序员之所以在夜间工作,是因为在这样的环境下,工作时间不会被施加任何限制,这就给了你更大的灵活性。而且,你的大脑也不会反复地分心,而明亮的屏幕也会让你保持清醒。(长歌)



【美国Business Insider作品(简称“作品”)的中文翻译权及中文版版权均归腾讯公司独家所有。未经腾讯公司授权许可,任何组织、机构或个人不得对作品进行中文翻译或对作品中文版本实施转载、摘编或其他任何形式的使用行为,违者腾讯公司将追究其法律责任。】


编程技巧