首页 > 程序人生 > 为什么程序员都喜欢熬夜?
2015
08-15

为什么程序员都喜欢熬夜?

观点一


一个姑娘问我,搞学术的为什么都睡得那么晚,难道只有到晚上才有灵感?不是,姑娘,搞学术不靠灵感,靠的是碌碌无为的白天引发的愧疚心。(转)

1.老婆孩子睡了
2.产品经理下班了
基本上这是影响程序员工作效率的两大杀手级原因
不停被打断而导致内心深处千万头草泥马奔腾的事情天天在上演

安静,无外界干扰

效率高是因为晚上身边没有妹子。。。
晚上珍惜时间的意识明显强于白天

其实还有一种情况,就是。。
11点的时候,想着一个小时解决完这个问题就睡了~。但是没想到不小心就到了三点。。。
其实 程序员也很希望能够早睡的。。

观点二


作为一个晚上经常熬夜写东西的人,我也想说几句.单纯比较效率的话,自然是上午最高,下午次之,再次晚上10点到2点,最后是晚上3点到6点的阶段.没做过Geek,所以不懂得Geek的感受,但是做科研的感受还是非常多.做科研的有一部分人也是习惯熬夜,大体有如下几个原因:

1. 白天做实验,晚上分析数据,写总结,找文献等等.其实这种生活规律,最晚到1点就能做完,不必熬夜太久.

2. 白天仪器状态差,晚上仪器状态好,所以要熬夜做实验.这种生活规律的常见主要依赖AFM (原子力显微镜), SEM,TEM出数据的人.因为白天的干扰太大,仪器的数据质量跟晚上相比,能差不少.同时,测试条件的稳定也对仪器的数据质量有直接的影响,所以不得不熬夜.这类人群往往长期熬夜,黑白颠倒,直到积累了足够多的数据,就很少做试验,专心发文章了,那个时候也就调整回了正常的作息时间.

3. 实验安排没办法,需要通宵做.比如某些需要监测反应进程的试验,半个小时处理一次,一个小时取一个点记录,连续24h之类的.这种情况往往是短期内需要连续作业,一般不超过一周时间.

4. 突发情况,比如老板突然给了一个综述的任务,要一周之内交货,或者下午给任务,第二天就要的那种情况.这属于没办法,只能兵来将挡,水来土掩.此情况很少发生.

5. 白天干扰事项太多,没状态,只有晚上有大块的不被干扰的时间能够好好思考,处理试验.除去以上四点,这一点的人能有不少,说好听点是努力拼命,其实就是时间管理差,或者说拖延症患者.我就属于这类.

所以,第五点中枪的人,抓紧时间改掉自身的毛病才是正途.后半夜效率异常高,不是真实情况,而是自我感觉和自我欺骗而已.

观点三


这件事有好多原因综合起来的。
一、脑力劳动需要连贯性——所以程序员需要一个不易打扰的时间段高效产出。
一件脑力劳动一旦开了头就无法放下。写程序就是一件这样的事情,当你全神贯注在写代码的时候,别人叫你你都不想去回应,尿急了都先憋一会——这个类做个一个改动,那边就需要加一个配置;等到加配置的时候看着一大堆配置觉得一项项去读简直侮辱了程序员这个工种,于是写了一个注解做自动加载,写完以后又开始补单元测试,测试写好一跑卧槽一片红,又开始调试,调试到一半系统里面好几十个变量的值都铭记于心一一比对追寻是哪里不对——每一个步骤都是上一个步骤的后继,每一个步骤都需要用心查找,错一个字母都不行。这种严谨程度堪比记账,但是白天的时候一会一个qq,一会一个微信,一会一封邮件,一会要收快递,一会测试跑过来报bug,一会产品过来要开会,白天的时间是碎片的,做出来的程序简直充满了bug。好几次上线前发现较少执行的某个逻辑分支缺乏程序处理,原因就是开放过程中被叫去开会等琐碎事情。

二、临时任务多——所以程序员按时下班太难了
这种临时任务并不是由领导分派的,而是自己追求的,简称“zuo1”。
比如没事重构。比如优化代码。比如。。。实在太多了。
程序员没事找事的能力太强大了,当然这与程序员需要不断深化对系统的学习有关。这种事情,经常是下班前觉得自己一小时能搞定,结果搞了四小时,不知不觉夜已经深了。结合第一点,当你搞到兴起,同事拉你去吃饭你都不想动。

三、加班不受控——所以愿意晚上干活而不是早上
很多人,包括 @pansz,都表示愿意早起工作而不是晚睡。
可是实际是这样的——
1、下班时老大说,今天我们开个进度会议。balalba。9点半下班,回家已经11点了。
2、今天程序上线,半夜。2点拖着疲惫的身躯回家,6点习惯性醒了,再睡,从此又习惯10点起床了。
3、下班晚高峰,系统出问题了,响应慢,赶紧跳板机查bug。一查查到12点,修修补补改好了。第二天又是10点起床。
。。。

所以早起是很好,可是在兲朝工作,每个月总有那么几天折腾到半夜才能睡。如果习惯早睡,到了晚上11点就会犯困想睡觉,可是现在有故障有bug急等,你根本没法睡。折腾这么几次,大家也就习惯了晚睡晚起——因为这样即便是有故障,生活起码还是比较规律的,而且修bug时还不困,不会太痛苦。

所以这么一综合,程序员晚上处于一个方便干活,习惯干活,又习惯晚睡的一个环境,除了写代码还有什么好干的?

观点四


写代码的时间并不是明确可控的,会有各种各样的突发事件来影响你的规划。
一个例子是:每本讲技术的书最前面都有环境配置那部分,但如果你认为你可以很轻松地照着说明配置好,那!才!奇!怪!了!,看了那么多本书,没有一本书我不需要耗费少则一小时多则一天去上网搜索一些bug的解决方法,这些超时明显是不可控因素,除非你给自己一开始的时间分配非常宽泛,那我们的时间管理还有什么意义?(好吧。。还是有那么些书的不需要配置环境的。。什么CSS啊Javascript啊。。我承认装个浏览器还是轻松拿下的)

回到正题。
只能给出个人的一个原因,我是突击型coder,不写完这块代码脑袋会一直兴奋中,反而睡不好,但如上所说,水平有限,有不可控因素,经常一写时间就晚了,除非非常非常疲倦or明天还要早起上班。
再补充一个原因= =,看到感兴趣的信息一不留神就晚了。。

最后

而且在后半夜工作效率异常高?你觉得呢?

编程技巧