阅读更多

7顶
1踩

研发管理

转载新闻 程序员为何喜欢半夜工作?

2013-01-16 16:25 by 副主编 WnouM 评论(25) 有11209人浏览
有种流传甚广的说法:如果你想将咖啡豆磨成代码,那就去买台“程序员”好了。

确实,如果你在一家编程高手云集的互联网公司工作,问问你身边那些程序员们,他们一般什么时候效率最高,点子最好?得到的答案,大部分是半夜——不管前半夜,还是后半夜。有些习惯在早上四点起床,然后工作到日出,还有些人则是习惯在早上四点后才睡觉。

如果只是为了避开无谓的干扰,何不关上门,带上耳机,为何一定要在深夜工作呢?我认为主要有三条原因:创作者的日程表、困倦的大脑,以及闪亮的屏幕。



创作者的日程表

通常来说,这个世界有两种日程表,一种属于管理者,一种属于创作者。传统的管理者日程表将一天按小时划分,而通常十分钟的打扰,对于程序员来说,可能需要一个小时去重新整理思路。

而创作者的日程表,著名投资教父Paul Graham在 2009 年也曾就创造者的日程表专门撰文。这个日程表是适用于比如作家或是程序员的。这类人的工作通常需要在内心建立起一个庞大而抽象的系统,不仅如此,在创作过程中,他们还需要不断的与自己的心理作斗争。

有个非常好的类比说,创作或编程的过程就好像拿昂贵而易碎的水晶搭建一所房子,一旦有人来打搅你,你所有的努力都可能会毁于一旦,倾注的所有心血可能就瞬间摔成碎片。

这就是为什么程序员在别人打搅他们时,异常愤怒的原因。正因如此,他们通常会在确定有一连好几个小时无人打扰的情况下才会开始工作。

事实上,你同一些程序员聊天时会发现,他们自己都会有种白天不能完成工作的感觉。持续不断的打扰、很多重要的事情需要打理、邮件要回等等,都会打乱你的节奏,不能让你安心工作。这也正是他们选择日出而息,日落而作的原因。

困倦的大脑

但就算习惯半夜工作的程序员,他们也是白天精神,夜里犯困。

那么为什么他们会在困倦的时候做非常复杂,需要脑力劳动的事情,而在大脑最活跃、最兴奋的时候,反而做一些非常简单的工作呢?

因为疲倦会让他们成为更好的“攻城狮”。

这跟鲍尔默效应类似,疲倦会让程序员更加专注,因为在大脑疲倦的情况下,就必须得非常专注的做一件事情。你仅存的脑容量已经不足以应付多余的事情了,只能专注于手头的事。

喝太多茶或是在一个糟糕的时间点喝了功能饮料之后,工作效率是最低的。兴奋会让你一会儿看一下 Twitter,一会儿瞅一眼 Hacker News,在社交网站上跳来跳去。

你可能感觉精力充沛的状态非常适合工作,但真实的情况却是你常常会做一些让自己注意力分散的事,大脑就是无法安静下来,把所有的注意力集中在一件事上。

反而当你有点困意的时候,你只想窝在椅子或者沙发上专心编程。而半夜,安静的不止是周边的环境,互联网也是如此,你会不知疲倦的写上好几个小时的代码,根本不会想到 Twitter 和 Facebook。

大部分程序员都是这样,白天你写出一个算法,然后加上十倍的量来搭建一个可供算法运行的环境。大部分时间里,你都只是做着一些“清理”工作,或是想办法让最终的结果以一种舒服好看的方式呈现。

闪亮的屏幕

这一点就更简单了。

如果你持续的盯着一个很亮的光源,睡眠周期便会往后延,如此即使是在早上三点,你也不知疲倦。而当夜晚再次降临之时,你也感觉不到疲惫,因为你上午 11 点才起床。这就好像你生活在另外一个时区一样,更有趣的是,一旦你习惯了这种作息时间,你很难再回去了。

当然,即使你 4 点才睡,你的闹钟还是会调到上午 8 点,这个世界最长有的偏见就是如果你下午两点才吃早餐的话,你一定是个失败者。

总结

总结一下,晚上给你一种更轻松、更安静的环境,你的大脑不会受到外界的干扰,并且显示屏的亮光也会让你保持清醒。

Via BI
  • 大小: 16.8 KB
来自: 36氪
7
1
评论 共 25 条 请登录后发表评论
25 楼 zouzou 2013-02-17 15:19
在家办公的工作效率也不错,半夜不习惯了,身体折腾不起
24 楼 shuqin1984 2013-01-22 22:30
表示强烈反对, 也不喜欢这种人云亦云的氛围,非要把程序员望死里整才显得自己很与众不同似的, 作息时间本来就是根据自己的特点来制定的, 什么时候清醒自由什么时候干活,最重要的是专注, 心中有定力,
23 楼 ewth126 2013-01-21 08:52
不知不觉就天亮了。。。。。
22 楼 java_user 2013-01-20 16:36
早睡早起身体好,如果非要晚上写程序,我宁肯换一份对身体有好处的工作
21 楼 rex0654335 2013-01-19 22:50
有多少个干着自己感兴趣的活。
20 楼 jjcang 2013-01-19 16:08
现在12点必须睡觉,否则第二天没法上班。
19 楼 BUYAOZAIBEIDAOLE 2013-01-18 16:45
确实,有些互联网公司,那种嘈杂的环境会打乱开发人员的思路,时不时客户发过来的问题也会
18 楼 lyndon.lin 2013-01-18 15:58
工作项目提不起兴趣,所以回家自己学习喜欢的东西,所以经常学到很晚,和上面3点应该没有直接的关系,不过建议大家不要晚睡。
17 楼 zyl小星星 2013-01-18 11:59
witcheryne 写道
zyl小星星 写道
个人习惯和工作原因吧,我是因为白天8小时为公司写代码,做的是服务类软件,下班回到家后,自己就写游戏,做一些自己喜欢的东西,因为投入,所以不知不觉就半夜了。

羡慕!
工作第一年的时候还有这精力。
现在的状态是:
早上起来听听广播,做做运动。
工作时候手机调静音扣那,微薄,微信,QQ,邮件,Iteye 全关,定时看看手机和邮件。
下班纯休息, 看书也只看非技术性的。

你工作几年了?
我已经三年半了,主要是喜欢编程,而且有几个和我一起激情探讨技术的烧年,一起交流,一起学习,一起开发,感觉特别有意思。
16 楼 witcheryne 2013-01-18 10:54
zyl小星星 写道
个人习惯和工作原因吧,我是因为白天8小时为公司写代码,做的是服务类软件,下班回到家后,自己就写游戏,做一些自己喜欢的东西,因为投入,所以不知不觉就半夜了。

羡慕!
工作第一年的时候还有这精力。
现在的状态是:
早上起来听听广播,做做运动。
工作时候手机调静音扣那,微薄,微信,QQ,邮件,Iteye 全关,定时看看手机和邮件。
下班纯休息, 看书也只看非技术性的。
15 楼 skzr.org 2013-01-18 09:08
同样的:
knightdf 写道
我觉得晚上安静点,有灵感些

可是岁月不绕人啊,现在回家基本就是休息,洗洗睡
14 楼 knightdf 2013-01-17 17:36
我觉得晚上安静点,有灵感些
13 楼 zyl小星星 2013-01-17 14:58
个人习惯和工作原因吧,我是因为白天8小时为公司写代码,做的是服务类软件,下班回到家后,自己就写游戏,做一些自己喜欢的东西,因为投入,所以不知不觉就半夜了。
12 楼 zhang_xikui 2013-01-17 14:47
误导新手,很多人的白天效率高.
11 楼 jorneyR 2013-01-17 14:29
很多时间累了,问题一时间也找不到个更好的解决办法,这个时候出去走走,例如公园之类的,突然间什么都明白了。
10 楼 MrLee23 2013-01-17 13:19
我以前很喜欢晚上编程,但是慢慢的随着工作的原因,不得不让你白天集中经历去写程序,久而久之就习惯了白天编程,但是我依然还是喜欢晚上编程,那时候的灵感和思维全部都属于我!!!!
9 楼 kingcs 2013-01-17 11:48
谁说的,我就不喜欢晚上工作。          
8 楼 tonly85 2013-01-17 11:02
目测时间是0:50.
7 楼 上下求索的浩 2013-01-17 09:58
谁说程序员喜欢半夜三更的工作的?脑袋坏掉了?
6 楼 witcheryne 2013-01-17 09:01
蛋疼..
身体跨了,  会有另一种习惯.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Hotspot源码

    从orcle官网上下载的hotspot源码,网盘被屏蔽了,放这里方便下载。

  • jdk1.8 下载。 hotspot (包含源码)

    jdk1.8。hotspot java jdk java开发工具。

  • hotspot 源码(JDK8)

    jdk8u-hotspot

  • JDK10(JDK10底层C++源码及hotspot虚拟机源码)

    JDK10(JDK10底层C++源码及hotspot虚拟机源码)

  • hotspot源码

    提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。

  • JDK7底层C++源码及hotspot虚拟机源码

    JDK7底层C++源码及hotspot虚拟机源码

  • openjdk hotspot源码

    openjdk hotspot源码,在研究JAVA虚拟机时,这个源码是必不可少的。

  • java-jdk-hotspot源码

    学习JDK 源码必备,提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。 但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初...

  • 从零开始学JVM系列(五):搭建HotSpot源码阅读环境

    从零开始学JVM系列(五):搭建HotSpot源码阅读环境前言准备工作第一个环节:软件准备第二个环节:环境搭建IDE Clion测试IDE Clion可用安装Command Line Tools下载openjdk源码第三个环节:编译源码准备编译工具配置...

  • JDK9源码(底层C++源码及hotspot虚拟机源码)

    JDK9源码(底层C++源码及hotspot虚拟机源码)

  • hotspot源码阅读

    hotspot阅读 c++基础知识: 栈上对象,new堆对象delete释放空间. 地址引用. posix线程创建.

  • JDK6底层C++源码及hotspot虚拟机源码

    JDK6底层C++源码及hotspot虚拟机源码

  • hotspot源码下载

    jdk的开源主要体现openjdk项目上,下面简单介绍一下jdk及其子项目hotspot的源码下载方式。 首先我们进入网址:http://hg.openjdk.java.net,这个网址下面列出了所有开源的openjdk项目,从中我们可以看到jdk项目。 ...

  • Hotspot源码解析一

    hotspot源码的确比较恶心,要懂C/C++,还要懂ASM,算法也要掌握.直接劝退.看了一整天,本来迷迷糊糊,现在更加迷迷糊糊了.= = call_stub javaCalls.cpp StubRoutines::call_stub()( //连接器 (address)&link, // ...

  • 如何下载hotspot源码

    怎么下载jvm的源码,当然下载的是openjdk的jvm源码: 1. http://hg.openjdk.java.net/ 选择格式下载即可: 各路径的意义: ├─agent Serviceability Agent的客户端实现 ├─make 用来build出HotSpot的...

  • Book Porter 2021-09-11 第二章 HotSpot 源码(1)

    3.下载openjdk源码,安装 IDE Clion后 打开源码,此时你的大脑可以脑补 第一章 Java HotSpot VM 中第三点:HotSpot VM图解 一、下载openjdk源码 http://hg.openjdk.java.net/jdk8 二、安装 IDE Cl

  • openJDK_HotSpot源码下载

    ​ 最近在研究多线程的内容,在看Java源码的时候有很多是调用native的本地方法,就想着下载一下Hotspot源码从而能更深入的了解一下底层原理。好了废话不多说,下面介绍一下Hotspot源码下载方法。 1、登录 打开...

  • CAS和hotspot源码

    } this.getIntVolatile(var1, var2) 和this.compareAndSwapInt(var1, var2, var5, var5 + var4) 均为native方法,需要看hotspot的源码才行。 二、this.getIntVolatile(var1, var2) 从偏移量中先取出获取当前值 ...

  • 从openJDK官网下载Hotspot 源码

    讲了下载java8对于的JVM源码,jvm源码中只有.h的头文件,并没有.cpp的具体实现文件。还需要下载hotspot源码。4.选择hotspot,点击进入新界面。选择browse,点击进入新界面。

  • Hotspot VM源码

    HotSpot正是目前世界上java虚拟机的最好的实现。 HotSpot的基础代码是许多人辛勤劳动的结晶,这个过程迄今已持续了超过10年的时间(当然时间长并不意味着一定好,一半一半吧)。所以到现在为止,他的体积是很大的。...

Global site tag (gtag.js) - Google Analytics