程序员1024故事集我爱编程程序员

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

2018-07-03  本文已影响134人  程序员1024故事集

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

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

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

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

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

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

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

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

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

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

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

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

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

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

02 上线十个系统,将临组系统搞挂

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我眯了会,凌晨四点多起来看接口正常,我开始验证功能,等发完发布成功的邮件是早上六点。

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

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

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

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

03 数据分库,平稳度过

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

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

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

过程出人意料的顺利。

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

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

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

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

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

一年最难熬是什么时候?

跳槽季过后的四五月。

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

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

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

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

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

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

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

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读