小弟去年有幸入职到一家比较有名气的公司,入职以来一直做公司的一个基础服务,不是开发框架,核心组件那种,而是某个基础业务,公司内大部分系统都需要接入的。 刚入职的时候,发现这个服务已经很有历史,倒手了好几个团队,代码、接口混乱不堪,处处暗坑,更别说功能设计文档。开发流程也是极不规范,只有生产、开发两个环境,上线随时都能上。原来的团队好像早有预谋一样,把东西交接给我以后,转岗的转岗,离职的离职,忽然我就接了这么大一个锅来,但当时还是觉得比起上家公司做了边缘业务,这次终于负责一个比较重要的东西了,一开始还是很有干劲的,想把它做好。 Boss 也给新团队配了新同学,经历几次踩坑生产 Case 后小组也开始慢慢能 hold 得住这个怪兽,但是渐渐发现事情没那么简单。由于下游接入量非常大,我们小组每天都要面对大量的各种咨询:接口怎么用、数据对不对、给下游的测试环境(同时也是我们的开发环境)为什么不行了、他们的系统出问题了跟你们服务有没关系?等等等等,总之就是下游出问题,要先问是不是我们的锅,下游不会接入,我们要一步步教。哪怕我们已经写了文档了,出了事根本不会先去看文档。公司内部的交流又是基于 IM 的,其他系统一有问题就在 IM 上敲你,在群里喊着“ xxx 是不是挂了?”然而很多人根本不懂“提问的智慧”,描述不清楚问题,只想让你帮他们马上解决。
公司团队分处好几个地方,存在非常大的沟通成本。基于 IM 的工作流对于开发来说简直是毁灭性的,这强制要求我们必须关注各种消息,日常的开发工作经常被别人打断,更别说 IM 上挂着每个人的电话,一言不合就一个电话打过来,我就有好几次周末、节假日、晚上睡觉被接入方打电话的经历。 现在我的工作时间非常碎片化,正常上班时间根本无法完成计划的任务,只能通过晚上、周末加班写代码赶进度。 今年开始在组内推行运维值班,每个人轮流处理运维和下游问题,想要以此释放开发资源,但是收效甚微。首先团队除了核心成员,其他人由于各种原因,一段时间就变动一次,而我们的系统还没有完成改造推广,存在大量技术债务,这些需要一段时间的运维处理经验才能熟练应对,新人完全不懂,其次我们的使用方总是喜欢直接找人,不是按运维排班表来反馈问题,而我又有点讨好型人格不懂拒绝,最后的结果,就是我每天又要疲于跟其他开发扯皮。 感觉自己陷入了一个巨坑之中,每天上班身心被自己不希望的事情折磨。我喜欢做好准备,按部就班地工作生活,但是长期在这种工作状态下,觉得越来越疲惫了,自己的工作产出不由自己决定,每天都是各种突发状况来打断,又无法拒绝。最近经常晚上九点多十点多到家,早上迟迟不想醒来,一年下来感觉体质越来越差,体检也不敢去查,心情也 down 到了极点。