为什么程序员都是夜猫子

本文探讨了程序员选择深夜工作的原因,包括避开干扰的时间表、疲倦有助于提高编程效率及明亮屏幕延迟睡眠周期等三个关键因素。文章指出,深夜工作能让程序员在无干扰的环境中高效编程,疲倦的状态反而能提高注意力集中度,而明亮屏幕导致的睡眠周期推迟则是形成深夜工作习惯的生理原因。
       一种很流行的说法是,程序员是把咖啡因转化成程序代码的机器。

       说的是实情,随便问一个程序员,问他什么时候工作最有状态,估计他很有可能说是深夜。有人稍微早一点,有人更晚。有一种流行的趋势是凌晨4点起床,在破晓之前这段时间里做一些事情。而另一些人喜欢凌晨4点才睡觉。

       所有这些的主要目的是躲避打搅。但是你把自己反锁在屋里不就行了?为什么对夜晚情有独钟?

       我想,这事归纳下来有3点:工人的时间表,疲倦的大脑和明亮的电脑屏幕。

        工人的时间表

       Paul Graham 在2009年写了一篇关于 工人的时间表的文章——主要是说这个世界(主要)存在两种时间表。传统的管理者的时间表——一天的时间别分成了很多小时,一次十分钟的分心至多会浪费你1个小时的时间。

       而另一种情况是程序员们所说的工人的时间表——生产东西的人的时间表。研究一个大型的抽象的系统,需要把整件事情装进大脑——这样的一些人类似于用珍贵的水晶玻璃搭建一间房子,一旦有人打搅你,整个结构都会滑落,摔成无数的碎片。

       这就是为什么被打扰的程序员会如此的生气。

       因为这是一种巨大的精力上的投资,在没有几个小时不被打搅的环境中的酝酿,你不可能开始工作。如果你好不容易在大脑中构建了整个要思考的事情的模型,而在半个小时后被人摧毁,这是很大的浪费。

       事实上,在跟很多的企业创办人交谈后,你会发现,他们都感觉在白天根本无法做任何事情。持续不断的打扰、重要的事情需要注意、大量的邮件需要处理,环境不允许他们坐下来做事。于是他们大部分人都在夜晚,人们都入睡的时候去完成他们要做的事做完。

        疲倦的大脑

       但是程序员仍然在晚上会困倦。程序员不是超人。程序员甚至在白天都会感到疲劳。

       为什么我们要把智力上最复杂的事情放到我们的大脑想去睡觉的时间段里去完成,而在我们的大脑最敏锐最清醒的时候去做相对简单的事?

       因为疲倦让我们编写出最好的代码。

       跟ballmer峰值相似,疲倦能使我们的精力更容易集中,因为你的大脑疲倦了,不得不集中精力!没有多余的脑能量来提供你去三心二意。

       对我来说,如果喝了太多的茶或在错误的时间喝了提神饮料,我反而干不了什么事。我会过度兴奋,一会查看微博,一会看看新闻,不知道自己该做什么。

       你会认为我应该更有效率的工作——精力充沛,大脑超频。但正好相反,我东一榔头西一耙子,根本无法在一件事情上定神2分钟。

       而反过来,当我稍微有点疲倦时,我却能把屁股安稳的放到椅子上开始编程。在大脑稍微有点疲倦的情况下,我能连续编程数小时,毫不考虑微博或Facebook。好像这互联网根本不存在。

       我感觉大部分程序员都是跟我的感觉是一样的。对于日常工作中80%的任务,我们的脑能力都是过剩的——除非你需要写的是在当前程序运行的环境中让它增速10的算法。即使你开发的是最高级的机器学习想象功能,其中大部分的工作也只是简单的整理数据和以一种合适的方式表现输出结果。

       当你的大脑不是满负荷运转时,它总是想找点事情做。疲乏会让你迟钝,手头的工作就已经够你消化了。

        明亮的电脑屏幕

       这一点非常的简单。在晚上老是盯着明亮的光源,你的睡眠周期会推迟。你忘了该是睡觉的时候了,直到凌晨3点。然后你早上11点才能起来,当晚上再次到来时你不再感到困倦,因为你11点才起床!

       反复这样的作息规律,你的身体会进入另外一个时区。更有趣的是,这种周期不会一直推迟下去,一旦你进入了这种3点或4点才去睡觉的生理平衡状态,你会一直留在这种状态里。

       也许这是一种警讯在起作用,社会在告诉我们,如果我们在下午2点吃早餐,会被认为是很邋遢的人。

        最后

       总结一下,程序员喜欢在晚上工作,是因为这时没有何时应该停止工作的限制,这让人感到更放松,你的大脑不再思考让你分心的事情,明亮的屏幕使人清醒。


### 保持清醒和专注的方法 程序员工作期间保持清醒和专注,可以通过调整作息、优化工作环境以及采用特定的工作习惯来实现。以下是一些具体建议: - **规律作息**:确保每天有足够的睡眠时间,并尽量保持固定的作息时间。即使是夜猫子型的程序员,在白天精神状态最佳时也更适合处理简单任务,而将复杂任务留到夜晚可能会因疲倦反而提高效率[^1]。 - **合理饮食**:避免摄入过多糖分或油腻食物,选择健康的零食如坚果、水果等可以帮助维持稳定的能量水平。同时,适量饮用咖啡或茶可以提神,但需注意不要过量以免影响晚上的睡眠质量。 - **短暂休息与活动**:每工作一段时间后(例如45分钟),起身走动几分钟或者做一些简单的伸展运动,有助于促进血液循环,缓解疲劳感。利用番茄工作法(25分钟全神贯注+5分钟休息)也可以帮助管理注意力周期。 - **减少干扰源**:为了进入并保持“代码心流”,需要一个相对安静且不受打扰的工作环境。戴上耳机播放适合编程的背景音乐或白噪音是一种常见做法;此外关闭不必要的通知也是关键步骤之一[^4]。 - **设定明确目标**:为每一天甚至每一小时设置清晰的任务清单,这样可以让大脑有一个明确的方向感,减少拖延的可能性。使用待办事项列表工具如Trello, Notion等能够有效追踪进度。 - **练习冥想/正念**:通过冥想训练提高自我意识和集中力,学习如何快速从分心中恢复过来。这不仅对工作效率有好处,长期来看也有利于心理健康[^2]。 - **适当锻炼身体**:定期进行体育锻炼可以增强体力和耐力,改善心情,从而间接提升工作效率。即便是简单的散步也能起到积极作用。 - **心理激励机制**:给自己设立奖励制度,每当完成一个小目标就给予一定的奖励,比如看一段有趣的视频、享受一杯喜欢的饮料等,以此激发内在动力。 ```python def stay_alert_and_focused(): tips = [ "Maintain a regular sleep schedule.", "Eat healthy snacks and stay hydrated.", "Take short breaks every 45 minutes for stretching or walking around.", "Use headphones with focus music or white noise to block distractions.", "Set clear goals using tools like Trello or Notion for task management.", "Practice mindfulness meditation to improve concentration.", "Engage in physical activities regularly to boost energy levels.", "Implement a reward system to motivate yourself after completing tasks." ] return tips ``` 这些方法结合了实际操作性和心理学原理,旨在帮助程序员更好地应对日常工作中遇到的挑战,同时也强调了身心健康的重要性[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值