smilevchy's blog

Life & Study & Chasing

Thinking in Whether Programmers Should Stay Up Late

“你平时几点睡觉啊”

“11点左右吧”

“啊,那么早啊,不是说程序员都要熬夜吗”

“……”

“你这样还是程序员吗?”

“……”

周围很多人都认为:“程序员就要熬夜,不熬夜的不是程序员”。 不仅很多非 IT 人士持有这种观点,而且很多 IT 人士也不知怎么地也认同这一观点并且付诸以实践。

对于这个问题,我感到很不解。 熬夜和是否是程序员真的有那么深刻的相关关系吗? 是谁说一定要熬夜才能算是程序员的。 我不知道那些随口就说出“程序员就需要熬夜”的人是否有经过自己的思考的,或许因为周围的环境都那样,很多人都那样说,所以他们也糊里糊涂地跟风,然后就经常快乐地在夜深人静的时空里和自己的电脑进行思想的交流。

至于我自己,则是进行了一定的思考的。

我在此鲜明并独立地断言,“熬夜和是否是程序员没有深刻的相关关系”。

程序员的使命是充当机器与现实世界的连接层,他们负责把现实世界的问题建模并诉诸机器。 所以说,只要能完成这一连接,就是程序员。至于完成的时间点,这些根本就构不成关键因素。

这个问题也类似于“求最优解”。现在,在可能集里有两个解:

一个是熬夜,通宵赶代码,获得的 side effect(bad)则是第二天精疲力尽,头脑不清晰,影响当天的工作,给自己的身体积累了不良性;

另一个则是 10 点睡觉,然后早上 6 - 7 点醒, 获得的 side effect(good) 则是精力充沛,头脑清晰,符合养生之道,而且照样有那段安静的时间可以写代码。

明明就有多种组合,为什么一定要选择那条性价比最低的呢?当然,有些人的 side effect 是不一样的,或许他熬夜之后还能保持战斗力甚至更甚之。

我只是想说,如果有另一条更好的方法可选,为什么一定要选择那条不好的,就因为周围大家都那么做,然后就跟着做了?

程序员这一职业本来就就要脑力和体力,为了能够更加持续性地发挥自己的智力,应该多注意体力的保持,而不是爆发性地榨干自身体力。

thinking

« Reaction to <Code Complete> Today's Shock »