另问卦:有没有其他职业/工作一定要在晚上工作的呢?(除了服务业)
建议看原文原址:
http://ppt.cc/T8V5
Swizec Teller 是一名自由工程师兼连续创业家,有超过 17 年以上的程式
开发经验,自称“戴帽子的宅男”(A Geek with a Hat)。几年前因为在
部落格上发了一篇文章《Why programmers work at night》,解释为什么
大部分工程师,包括他本人,总是遵循着“吸血鬼的生活作息”来写程式。
结果这篇文章大受欢迎,Swizec Teller 的部落格因此暴增了 50 倍网站流
量。文章发出后的第四天,他一共得到了 627 个 Google + 赞数、288 个
Twitter 追踪者、475 个 Reddit 最新回应、7000 个 Facebook 赞数,以
及超过 89000 名部落格当日访客(以往他的部落格一个月累积起来顶多达
到 30000 名访客)。
《Why programmers work at night》最后还写成了一本书,可以在 Swizec
Teller 的网站上购买电子书或实体书籍。书的内容主要是其文章的延伸,
加上他担任工程师以来的个人经验、采访其他工程师的心得、以及针对工程
师的心理学研究。
在这里将 Swizec Teller 的文章《Why programmers work at night》分享
给大家,本文并非逐字翻译,笔者加了一些细节帮助大家理解内容,有兴趣
的话可以阅读文章原文,或线上阅读这本书。
Why programmers work at night?
很多人笑说:“工程师是可以将咖啡因转换成程式码的机器。”
毕竟很多工程师会告诉你,他们工作最有效率的时段是在夜深人静的时候。
有些人比较早,有些人比较晚,最常见到的作息时间大概是这两种:凌晨四
点起床做事的,跟凌晨四点做完事去睡觉的。
这种作息时间的用意就是为了减少分心的机会。不过你可能会问,锁上房门
不是可以达到一样的效果?何必熬夜伤身写程式?
深夜工作的关键就在于三件事:创作者的时间表、困倦的大脑、明亮的电脑
萤幕。
创作者的时间表 The Maker's Schedule
Paul Graham 在 2009 年写了一篇文章《Maker's Schedule, Manager's
Schedule》,他认为基本上世界上主要分成两种时间表,一种是“管理者的
时间表”(Manager's Schedule),适用于总经理、总监、产品经理等“管
理者”;另一种则是“创作者的时间表”(Maker's Schedule),适用于软
体工程师、设计师、开发者、作家等“创意工作者”。
首先先简单介绍“管理者的时间表”,这种时间表是以“一小时”为基本划
分单位,每小时都有不同的事情需要处理,大部份的人都是在这样的时间表
下工作。Paul Graham 认为这是一个适合“下命令”的时间表(Schedule
of command),因为时间可以弹性安排、拆开再重组,所以这个小时去开
会、下个小时要整理会议记录、再下个小时去拜访厂商,即使不小心分心
了,十分钟的分心顶多耗掉一个小时的时间,每件事情都可以立即处理。
另一种则是“创作者的时间表”,也就是我们这些工程师所遵循的时间表。
Paul Graham 认为对创作者而言,每个时间单位至少要有半天这么长,因为
工程师不可能在一个小时内写完一个程式,一个小时可能还不够他们“准备
开始”写程式,毕竟“创作”是需要时间酝酿的。
这样的时间表就像在一个庞大的抽象系统中投入大量的精力工作,有人比喻
成用昂贵的水晶玻璃来盖房子,一旦有人分散你的注意力,整项工程就会瞬
间崩塌,碎成千万片。这就是为什么工程师非常讨厌工作时被别人打断或分
心。
也因为工程师非常需要集中精神来工作,所以除非能连续好几个小时不被打
扰,不然我们根本不想开始工作。好不容易在脑子里勾勒出设计流程、进入
状况,一旦被打断,一切都得卷土重来。
事实上,如果你和创业家们讨论这个问题,就会发现他们在白天里根本没办
法完成任何开发工作。最普遍的障碍就是受到一连串的干扰,像是临时出现
许多急事需要处理、重要的电子邮件需要回复等等。因此创业家大部份都选
在深夜里、其他人在休息的时候,再进行这些开发工作。
困倦的大脑 The Sleepy Brain
不过工程师们晚上也还是得睡觉,毕竟我们又不是什么不用休息的新新人
类,而且白天的精神一定还是比晚上好上许多。那为什么我们要把这些复杂
的开发工作留在大脑困倦的时候做,然而头脑最敏锐清晰时,却做些相对简
单的事情呢?
因为“累”是让工程师 Code 更好的诀窍。
听过 Ballmer Peak 吗?一点点的微醺可以让工程师发挥超人般的 Coding
技巧,然而一点点疲倦也可以达到一样的效果。当你的大脑开始累了、困了
的时候,根本没有多余的精力可以“分心”,你不得不集中精神完成工作。
以我个人的经验来说,在喝了太多茶或能量饮料、精神最充沛的时候,我工
作反而最没效率。照理说,有这么多的精力跟脑力,应该能用来写程式、找
bug,但事实上因为大脑跟身体“太嗨”,我根本静不下心来好好做事,一
下子上 Twitter、一下子看 Hacker News,没办法专注在同一件事情上两秒
钟。
相反的,当有点累时,我才会把屁股好好的黏在椅子上开始写程式。在大脑
稍微有点疲倦的情况下,我可以写程式连续写上好几个小时,根本不会想到
Twitter 或 Facebook,完全忘记网络的存在。
而且我发现大多数的工程师、开发者们都有和我一样的情况。日常生活中百
分之八十的事情,都不需要大脑全力运作就能解决,因此在脑力过剩的情况
下,你就会去找其他事情做。疲倦会让你“笨得刚刚好”,没有多余的脑容
量塞其他东西,脑力只够把手边的工作做完,根本没办法分心。
明亮的电脑萤幕 Bright Computer Screens
这点倒是很好理解,晚上长时间地盯着电脑萤幕工作,会延迟你的睡眠周
期,让你忘记疲倦,直到凌晨三、四点才去睡觉,然后睡到隔天中午才起
床。然而当夜晚再次来临时,你会感觉精神很好,这是当然的!毕竟你睡到
中午才起床啊。
重复这样的作息一阵子后,你的身体会适应这样的规律,活在一个不同的
“时区”。更有趣的是,我发现这样的睡眠周期不会一直向后延,而是在凌
晨三、四点左右达到一个平衡,然后停留在这个时区里。
这可能是因为,如果一直向后延,睡到下午、甚至傍晚才起床的话,其他人
会认为你是个无可救药的大懒虫,这种“社会压力”逼得我们不得不停留在
四点入睡、中午起床的时区里,毕竟再更晚睡的话,中午肯定是起不来啦!
结语
总而言之,工程师之所以偏爱在三更半夜写程式,就是因为在深夜里工作时
间没有限制,可以更灵活地运用时间(最惨就是今晚不睡觉而已),而且大
脑疲倦得不容易分心,最后,狂盯着电脑萤幕刚好可以保持清醒。