身为一只程序猿。今天谈谈工作中的加班这件事。遇上项目上线,难免会加班。或代码没写完,或环境没配好,或遇到未知问题。各种花样的原因导致我们加班。
需要特别指出的是,很多情况都不是我们可以掌控的。例如这次的数据库挂了的问题,数据库是dba管理的,但是这种紧急情况下dba不在公司,我们程序猿不可克服这样的情况。最后dba在凌晨2点半回到公司,经过一阵的协调、试验之后,终于找到了解决方案。这时已经到了早上6点15分了。离今天早上第一个标还剩下2个多小时。也就是说我们只剩下两个小时去完善环境、部署代码(这次上缓存的优化、读写分离、一个大的业务版本)。最后经过小组各成员的专注部署和协作,完成了代码的正确部署以及正常启动了。这时已经到了8点。部署完之后测试发现还有一大二小的问题,也赶在15分钟之内完成了修复。
这次的上线可以说有惊无险。但是毫无疑问这个版本的项目管理是失败的。
1、项目经理只顾业务版本不顾系统性能版本和安全版本是主要原因,导致版本之间穿插着其他版本,混乱不堪。
2、这也是公司需要反思的,流程不规范,有dba的存在还需要程序猿自己操作生产数据。
3、dba与程序猿沟通不足。dba配置的sit环境和生产环境数据库架构、不一致;账号权限不对应,让程序猿误以为生产环境架构和sit环境一致。
4、程序猿取得生产环境数据库账号密码时没有与dba再三确认。
这四点导致了这次意外的发生。
但,即使做好了以上的四点,意外还是不能完全避免的。就像这次部署之前自认为已经做好了充分的准备,但真正部署的时候才会发现意外事情。
所以,作为程序猿,做好加班的心理准备也是需要做的。
那程序猿应该如何看待加班?
鄙人认为加班并不可怕,可怕的是遥遥无期地加班。听说过程序猿死得早,今天见识了,原来是真的。作为项目组中的虾兵蟹将,都要连续工作24小时,主力阵容要至少工作30小时,是连续的。并且主力阵容中途没有休息时间,注意力要高度集中。
本人这区区连续24小时之后,身体就感觉被掏空一般。可见这种长时间加班真的非常伤害身体。如果连续几个24小时都在高强度工作,那离猝死是不远的了。汉子都如此,程序媛妹子就更是如此了。所以基本策略应该是:尽量保证身体健康的前提下适当加班。
其实本人是非常佩服我们的主力阵容的。高强度的工作已经令我们的精神疲惫了,但是他们还不能放松。因为一旦放松,就会出错,会导致其他不可预知的问题。因此会耽误更加多的时间。如果不小心在生产环境做错了什么事情,那后果将十分麻烦。前段时间组长发生的就是一个好的例子。所以,生产操作尽量谨慎。可以让dba操作的就让dba操作。
每一行都有每一行的艰辛。最后说一句,请珍爱程序猿、媛。身边有程序猿、媛的朋友,不妨给他们送点温暖。