凌晨3点,被oncall电话吵醒,从床上爬起来,打开电脑,VPN连上,查日志,定位问题,改代码,发版本,验证修复……
折腾了一个半小时,终于搞定了。
然后产品经理在群里发了一句:"不好意思,刚才我在测试环境误操作了,已经回滚了。"
你说气不气?
更气的是,第二天上班,没人会问你昨晚睡得好不好。领导照样9点开会,产品照样催需求,测试照样提bug。
好像你昨晚的一个半小时,根本不存在一样。

oncall的成本,从来不只是那一个半小时
很多人觉得,oncall嘛,就是偶尔半夜被叫醒处理个问题,一个月也就一两次,能有多大影响?
影响大了去了。
咱们算笔账。
第一笔账:睡眠成本。
凌晨3点被叫醒,处理到4点半。你以为你4点半躺下就能继续睡?
不可能的。
你的大脑还在高速运转,回想刚才的操作有没有遗漏,担心会不会又出问题。心跳还没平复,肾上腺素还在分泌。
真正能睡着,至少得5点以后。
7点闹钟响了,你得起床上班。算下来,你这一晚上只睡了4-5个小时,而且是碎片化的睡眠。
第二天你会怎么样?
头晕、注意力不集中、反应变慢、情绪烦躁。写代码容易出错,开会容易走神。
一次oncall,毁掉的不只是一晚上的睡眠,是第二天整整8小时的工作效率。
第二笔账:心理成本。
更可怕的不是被叫醒那一次,而是你知道自己随时可能被叫醒。
oncall期间,你不敢喝酒,不敢看电影,不敢离手机太远。睡觉的时候手机放在枕头边,音量开到最大,生怕漏接电话。
这种状态叫什么?叫待命。
你以为你在休息,其实你的神经一直紧绷着。
有oncall经历的人都懂,那一周你的生活质量会断崖式下跌。周末不敢出远门,晚上不敢睡太死,每次手机响都会心跳加速。
说白了,oncall期间你的私人时间根本不属于你自己。
第三笔账:经济成本。
很多公司oncall是有补贴的,对吧?一周给你200块、500块。
听起来还行?
咱们算算:一周oncall,假设被叫醒2次,每次损失3小时睡眠(包括处理时间+重新入睡时间),一周就是6小时。
你月薪3万,按22天工作日算,时薪大概170块。6小时就是1000块。
公司给你500块oncall补贴,你亏了500块。
而且这还没算上第二天工作效率下降的损失,没算上心理压力的代价,没算上周末不能出门的机会成本。
说句扎心的话,oncall补贴根本不够补偿你的付出。
更荒诞的是,很多oncall根本不该发生
回到开头那个故事。
凌晨3点被叫醒,折腾一个半小时,最后发现是产品经理测试环境误操作。
这种事有多常见?太常见了。
我见过的oncall故障里,至少30%是可以避免的:
测试环境和生产环境没分清楚
发版前没做充分测试
监控告警阈值设置不合理,误报
某个同事手滑执行了错误的脚本
说白了,很多oncall不是技术问题,是管理问题。
但最后买单的,永远是那个被叫醒的程序员。
如果你正在oncall,至少做到这两点
说了这么多,不是让你拒绝oncall——很多公司这是硬性要求,你拒绝不了。
但至少可以做到这两点:
第一,争取合理的补偿。
如果公司oncall补贴太低,或者根本没有,你得主动提。不是闹,是谈。
"领导,oncall这事我理解是工作需要,但确实对生活影响挺大的。咱们能不能在补贴上做点调整?或者oncall后第二天能不能晚点到?"
合理的诉求,大大方方提出来。
第二,推动减少无效oncall。
每次oncall后,记录下来:什么问题、怎么解决的、能不能避免。
如果是误报、误操作这种低级错误,在复盘会上提出来。不是甩锅,是改进流程。
"这次是测试环境误操作导致的,能不能加个二次确认?或者测试环境和生产环境的操作权限分开?"
能减少一次无效oncall,就是给自己省一次折腾。
……
最后说一句。
oncall这件事,最让人无奈的地方在于——它把你的生活变成了待命状态。
你不知道什么时候会响,但你知道它一定会响。
这种感觉,就像头上悬着一把剑,不知道什么时候掉下来,但你得一直盯着。
如果你正在经历这种状态,记得照顾好自己。
该休息就休息,该提诉求就提诉求,该跳槽就跳槽。
没有任何一份工作,值得你用健康和生活质量去换。
共勉。
2万+



被折叠的 条评论
为什么被折叠?



