凌晨3点不回家不心酸:程序员几个真实通宵时刻

点击上方“程序人生”,选择“置顶公众号”

第一时间关注程序猿(媛)身边的故事


640?wx_fmt=jpeg

图片源自:unsplash

作者

五五

白天搬砖,晚上砌梦想。相信每个人有故事,程序员更是有许多事故,书写最接地气的程序员故事。

如需转载,请联系原作者授权。


前段时间,《凌晨3点不回家,成年人的世界是你想不到的心酸》一篇引起热议,继而出现其他反驳的声音:《凌晨3点不回家:对不起我做不到》、《凌晨3点不回家?那是你效率不高》。


从事IT行业,有时候凌晨三点不回家真不是效率不效率的,今天和大家分享几个真实加班的时刻:


01 初入职场,连续睡办公室

640?wx_fmt=gif

刚毕业,在一家国企当开发,做的项目名称高大上,国家某局的一次改版升级,上本地新闻那种。


实际做的事非常Low:在一个运行近10年的系统修修补补,毕竟使用的人只是前台,任务内容是文书格式更改。


100多个JSP一个个手动调整!


我们改疯了,测试看瞎了,打印机罢工了!


上线那天还是出了大问题:某机关的打印机跟我们公司的不一样,打出来的文书……一言难尽。


办事的人抱怨,前台抱怨,我们被领导骂的狗血淋头。从项目经理到测试整队娘子军全被骂哭了,除了经理其他我们全是应届生,第一次合作做个项目摔大跟头。


压力非常大,前台排满办事的人,我们一边改一边打印文书给前台人盖章办事。改错一点就耽误大家干活。


关键的几个文书很快修好,剩下的我和小伙伴在总局睡了两天修bug,效果不理想。组长请我们吃饭后说下午给你们放半天假,都回去睡一觉,明天再来改吧。


当时心里十分愧疚,觉得自己将事情搞砸了,应该早点开发完,早一个星期来客户现场部署测试的……


后来在客户现场加了一周班,亲眼看客户正常运行两周后才撤离。在公交看到新闻播放某局系统升级更便民的报道,心里亦带有荣光。


这项目结束后,曾在上班地铁晕倒的开发妹子离职了,她说经过这次我知道自己不大适合干这一行。


做程序员说到底比的还是身体素质。


02 一口气上线十个系统,将邻组系统搞挂


我们几个应届生在第一家公司呆了一年纷纷跳槽。我亦从开发转为测试,正式进入互联网公司。


体会到互联网公司与传统公司的不同:一人当三个人用,每个项目严格遵守发布时间,不允许delay。


那时我自己负责app组,对接app和server,一个人上线十个后端系统,过程有些酸爽。


项目虽大但风险不大,稳妥考虑仍写了checklist和回滚步骤。


下午两三点开始发布,每个系统上线后先观察下,五点多已全部上线完。


正准备发app包时,隔壁组到了六点的业务高峰期,整个系统挂了!


这段时间只有我线上发布,可涉及他们组的代码我们只改动几行,并不涉及主要功能。


但是故障群一个接一个投诉扑面而来。大伙迅速决定,先回滚!


幸亏checklist的回滚步骤救了命!我一个个系统回滚,执行完十个系统已过去半个小时。我紧张得手发抖,心里很着急,回滚页面打开一排排,有些忙不过来了。


果然是我们的锅,回滚两个系统便能打开。


可是今天仍需要发布上线。


负责那系统开发的女开发愧疚得没敢去吃晚饭,逐行代码排查。


晚上九点终于排查出,原来是将前天脏代码merge进来,再次发生慢查询。同样的错误犯了两次,开发懊恼得很。


调整调整,大伙十点多准备再次上线。


小心翼翼地将十个系统上线完,已是十二点多。


上线后开始跑数据,跑完数据检查接口数据不对!


此时仅剩我和一个开发,他让我先睡会。自己吭哧吭哧排查问题,是缓存的锅。跑完缓存再跑重新刷数据。


我扛不住睡了两个小时,凌晨四点多接口正常,我开始验证新功能,等发完发布成功的邮件是早上六点。


开发发朋友圈:通宵达旦…


回家睡了几个小时,因为我没有backup,怕线上出问题又滚回去上班。


在这个公司我从出入职场的吊儿郎当学会7×24随时oncall,使命必达,曾见过开发在婚礼现场还改bug。


流程规范化,不接受delay,这样大伙能为项目顺利上线拧成一条线。


03 数据分库,平稳度过


如今部门业务量上来,业务数据只存一个库,为了打破“每逢佳节倍要挂”的魔咒,大家将分库提上日程,一库变八库,从此开心过节不是梦。


上线当天晚上十点,吃完开发买来的烤串、全家桶夜宵。小睡两个小时,凌晨两点准时向用户挂起免战金牌。


联系DBA开始数据分库,随后大家检查数据没问题后,开始上线业务代码。


过程出人意料的顺利。


三点多上完线,大伙观察会儿,系统很稳定!


DBA将代码上线过程的数据同步好,我撤掉免战金牌,留下一个开发值班,大伙就撤了。


发完顺利上线邮件还不到四点,本以为要折腾到天亮的…


分库后的效果非常好,节假日大家不用再紧盯线上。

640?wx_fmt=gif


04 新人首次发布上线,煎熬


一年最难熬是什么时候?

跳槽季过后的四五月。


这是青黄不接时期,老人走光,新人到处碰瓷。老员工多帮忙盯盯,刚开始的几次上线尤为重要。


正巧有个小项目,前端后端测试均是新人。说是车祸现场不为过,bug反反复复出现,开发效率慢,等bug改完已是晚上十点。


排期放在这,今晚总得上线的。


上线前需要改个配置文件,新人开发磨蹭半个小时改错别的系统,测试不知所以,我在旁边指出问题。


这个项目磕磕碰碰上线完已是凌晨两点。我没有如释负重的轻松,反而觉得不值得,不应该。


凌晨三点不回家,不能是因为效率低。


这次加班我满心的挫败:新人已入职一个多月,可一个项目结束时开发和测试还没理清几个系统间的关系,日常工作仍是不熟练。


我想如何能完善新人培训,让新人快速的成长。


05 品牌合并,又是一场大战


月末的品牌合并项目是跨组跨部门的合作,相互之间强关联,涉及域名更改,账号数据整合,几个系统整合在一块。


确定时间后,我立即列一下上线步骤,谁跟着发布,谁是第二天的backup。同时要求上游业务组也列出发布方案,并提前预留时间,大伙一起“演练”下。


那天将会通宵达旦,愿大伙合上电脑,走出公司时,伴着晨光熹微,带着战士收刀入鞘的骄傲与荣光回家。


用户用上新功能,系统运行稳定,那就好。


- The End -


「若你有原创文章想与大家分享,欢迎投稿。」

加编辑微信ID,备注#投稿#:

程序 丨 druidlost  

小七 丨 duoshangshuang


点击图片get往期内容


640?wx_fmt=png

640?wx_fmt=gif

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnsevenn/article/details/80750508
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭