为什么程序员都喜欢在夜里工作?

转载 2013年01月24日 17:31:29
有种流传甚广的说法:如果你想将咖啡豆磨成代码,那就去买台“程序员”好了。确实,如果你在一家编程高手云集的互联网公司工作,问问你身边那些程序员们,他们一般什么时候效率最高,点子最好?得到的答案,大部分是半夜——不管前半夜,还是后半夜。有些习惯在早上四点起床,然后工作到日出,还有些人则是习惯在早上四点后才睡觉。
如果只是为了避开无谓的干扰,何不关上门,带上耳机,为何一定要在深夜工作呢?
我认为主要有三条原因:创作者的日程表、困倦的大脑,以及闪亮的屏幕。


创作者的日程表
通常来说,这个世界有两种日程表,一种属于管理者,一种属于创作者。传统的管理者日程表将一天按小时划分,而通常十分钟的打扰,对于程序员来说,可能需要一个小时去重新整理思路。
而创作者的日程表,著名投资教父 Paul Graham 在 2009 年也曾就创造者的日程表专门撰文。这个日程表是适用于比如作家或是程序员的。这类人的工作通常需要在内心建立起一个庞大而抽象的系统,不仅如此,在创作过程中,他们还需要不断的与自己的心理作斗争。
有个非常好的类比说,创作或编程的过程就好像拿昂贵而易碎的水晶搭建一所房子,一旦有人来打搅你,你所有的努力都可能会毁于一旦,倾注的所有心血可能就瞬间摔成碎片。
这就是为什么程序员在别人打搅他们时,异常愤怒的原因。
正因如此,他们通常会在确定有一连好几个小时无人打扰的情况下才会开始工作。
事实上,你同一些程序员聊天时会发现,他们自己都会有种白天不能完成工作的感觉。持续不断的打扰、很多重要的事情需要打理、邮件要回等等,都会打乱你的节奏,不能让你安心工作。这也正是他们选择日出而息,日落而作的原因。

困倦的大脑
但就算习惯半夜工作的程序员,他们也是白天精神,夜里犯困。
那么为什么他们会在困倦的时候做非常复杂,需要脑力劳动的事情,而在大脑最活跃、最兴奋的时候,反而做一些非常简单的工作呢?
因为疲倦会让他们成为更好的 " 攻城狮 "。
这跟鲍尔默效应类似,疲倦会让程序员更加专注,因为在大脑疲倦的情况下,就必须得非常专注的做一件事情。你仅存的脑容量已经不足以应付多余的事情了,只能专注于手头的事。
喝太多茶或是在一个糟糕的时间点喝了功能饮料之后,工作效率是最低的。兴奋会让你一会儿看一下 Twitter,一会儿瞅一眼 Hacker News,在社交网站上跳来跳去。
你可能感觉精力充沛的状态非常适合工作,但真实的情况却是你常常会做一些让自己注意力分散的事,大脑就是无法安静下来,把所有的注意力集中在一件事上。
反而当你有点困意的时候,你只想窝在椅子或者沙发上专心编程。而半夜,安静的不止是周边的环境,互联网也是如此,你会不知疲倦的写上好几个小时的代码,根本不会想到 Twitter 和 Facebook。
大部分程序员都是这样,白天你写出一个算法,然后加上十倍的量来搭建一个可供算法运行的环境。大部分时间里,你都只是做着一些“清理”工作,或是想办法让最终的结果以一种舒服好看的方式呈现。

闪亮的屏幕
这一点就更简单了。
如果你持续的盯着一个很亮的光源,睡眠周期便会往后延,如此即使是在早上三点,你也不知疲倦。而当夜晚再次降临之时,你也感觉不到疲惫,因为你上午 11 点才起床。这就好像你生活在另外一个时区一样,更有趣的是,一旦你习惯了这种作息时间,你很难再回去了。
当然,即使你 4 点才睡,你的闹钟还是会调到上午 8 点,这个世界最长有的偏见就是如果你下午两点才吃早餐的话,你一定是个失败者。
总结
总结一下,晚上给你一种更轻松、更安静的环境,你的大脑不会受到外界的干扰,并且显示屏的亮光也会让你保持清醒。

ExtJs自学教程(1):一切从API开始

题 记  该系列文章不侧重全方位的去介绍ExtJs的使用,只是侧重于解决ExtJs问题的思考方法。写的人不用长篇大论,学的人则能够自立更生。l  学习的人只要有一些CSS的javascript的基础知...

Spring MVC和Struts2的比较的优点

我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。 Spr...
  • J_NINE
  • J_NINE
  • 2016年07月31日 22:10
  • 138

爬了知乎200万数据,图说程序员都喜欢去哪儿工作~

因为最近和朋友吃饭,大家都到了大三季,都在纠结自己该以哪里作为自己职业发展的起点?也想看看自己的背景,能不能找到靠谱的师哥师姐帮忙,那么师哥师姐都在哪里发光发亮呢? 我当时也是午休的...

爬了知乎 200 万数据,图说程序员都喜欢去哪儿工作

点击上方“CSDN”,选择“置顶公众号” 关键时刻,第一时间送达! 因为最近和朋友吃饭,大家都到了大三季,都在纠结自己该以哪里作为自己职业发展的起点?也想看看自己的背景,能不能找到靠谱的师...

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

有人说,程序员是一种神奇的动物:喝的是咖啡,挤出来的是代码。 此言不虚,随便找个有上进心的程序员问问,就会发现他们多半都会在深夜活动。有的早起,有的晚睡;有的凌晨4点起床,有的凌晨4点入睡。 ...
  • osforge
  • osforge
  • 2015年04月17日 08:45
  • 466

日语输入法(喜欢或工作需要)

  • 2009年05月28日 22:30
  • 971KB
  • 下载

程序员超级喜欢陆毅有木有

  • 2014年04月25日 09:24
  • 1002KB
  • 下载

软件工程师,你真的喜欢你的工作吗?

本文是从 As A Software Engineer, Do You Really Like Your Job? 这篇文章翻译而来。  我喜欢这种做事方式。首先,我在Facebook日志页面上寻求反...

程序员喜欢的字体

  • 2012年02月15日 13:31
  • 8.63MB
  • 下载

不喜欢现在的工作,怎么办?

不喜欢现在的工作,怎么办?我画了一张流程图,你找到自己的分支就知道怎么做了。...
  • foruok
  • foruok
  • 2017年07月17日 07:19
  • 2057
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为什么程序员都喜欢在夜里工作?
举报原因:
原因补充:

(最多只允许输入30个字)