热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

一次“背锅”和“解锅”后的反思

中秋过的真快,还没体会到就到最后一天了。今天在图书馆,突然想写篇与技术无关的,但是我们工作中经常发生的事情。本来不想写这种类型的文章,怕这种文章降低自己形象显得太low。但是一来想

  中秋过的真快,还没体会到就到最后一天了。今天在图书馆,突然想写篇与技术无关的,但是我们工作中经常发生的事情。本来不想写这种类型的文章,怕这种文章降低自己形象显得太low。但是一来想锻炼下自己的文笔叙事能力,越怕这怕那越不敢动笔,越不动笔越没长进,总要开个头来个正向刺激循环;二来相比技术类型的文章,故事类型的文章应该更受大家待见观看;三来这种工作中常见的“甩锅”事件值得大家探讨评论一下,碰撞的火花下交换解决思路,或许以后再碰到类似的事情,能够更迅速完美的解决。

  故事是这样的,昨天周六,突然有客户反馈了一个问题过来,说公司产品有个业务操作展示错乱了,下一步操作无法执行。问题很快反馈到我们研发大群来了,由于前一天刚好产品迭代了一个版本,负责人是后端的一位小Leader,于是这个问题先由后端的这个同事接了。这个同事看了下接口返回数据,没看出什么问题,马上判定说是前端这边的问题,怀疑是前端这边进行了逻辑修改,要前端去定位原因。

  由于前端部门老大回老家了,这个任务就落到我头上了。客户发现的问题,还是这么明显的操作,我们竟然没有自查出来,测试也没测出来,那问题就严重了。我也不敢怠慢,顾不得去玩了,赶紧回家连上公司电脑查原因。先查这块逻辑最近git记录,没有发现明显的更改逻辑;然后又切换了四个月前的一个代码分支看效果,发现效果和如今一样。因此我判断,应该不是前端这边的问题,是后端返回的数据出问题了。但是是哪块的数据出问题了,由于这块业务比较复杂,代码很多,我一时也找不出来。于是先把我的判断观点抛到群里,建议后端同事去自查下代码,最近有没有对这块逻辑进行更改。

  这个后端同事真是对自己太自信了,说后端返回的数据没有看出什么问题,绝逼是前端的问题,让前端去自查代码定位原因!尼玛,这话我有点不爱听了,这是合作互赢的态度吗?但是由于我一时拿不出有力的证据来反驳,只好不和他继续讨论了,先妥协了去看代码。由于他有我们前端代码的权限,然后受我那个判断观点启发,于是他切了前端五个月前的分支代码来看效果。其实他在进行这步操作的时候,我也在进行这个操作,发现五个月前的代码竟然展示正常!这什么操作?我一时没整明白了!

  这时他已经把他的“重大发现”赶紧发群里了,四个月前和今天的代码显示不正常,而五个月前的代码显示正常,是不是表示前端在四个月前就已经制造出了这个bug,这么长的过程前端同事都没发现,测试部门同事也没发现!

  这个锅就大了,难道我们前端都是干饭的?我赶紧冷静了一下,梳理了下逻辑,回忆了下四个月前的那次版本迭代,是在那个版本中对这个逻辑进行了大修改和功能增加。那个功能刚好是我负责更改的,因此印象还是很深刻。我对自己写的东西还是很有信心的,另外我对当时负责测试的那个同事的业务能力也很有信心。这么明显的bug,首先我不可能自查不出来;其次就算我没自查出来,不可能测试同事也没测出来;再次退一万步讲,就算测试同事当时没有测出来,不可能四五个月的时间过去了,产品、开发、测试、运营还有客户这么频繁的使用还没发现这个问题。

  但是那位后端同事,就抓住这个点不放了,坚持质疑为什么五个月前的代码可以正常显示和操作,而现在却不正常了?我一时说不出个所以然来,只好提议后端能不能部署一个四个月前的分支测试环境,让我对比下数据,快速定位问题。后端同事听不进去,坚持是前端的问题,说后端返回的数据看起来没有问题,没必要部署以前的后端代码,这个问题只需要前端去查看自己的代码,就能解决。

  我有点生气了,大家都意识到问题的严重性了,都想快速把问题解决掉。但是你这么自信,这么坚持自己,是国共合作团结一心共同抗日该有的态度么?既然说服不了他,只能我妥协了,去看代码。网络突然卡起来了,然后自己笔记本屏幕有点小,远程看代码看的有点眼花,干脆直接去公司了。还是公司的双屏幕好,马上就看出返回的数据中有个地方异常了,我手动改了下,然后效果就显示正常了。应该就是这个原因了,我赶紧截图单独发给这个后端同事,让他去查下这个数据为什么异常了。

  但是这个同事真的真的是对自己的判断太自信了,不认同我这个说法,坚持为什么五个月前的代码可以正常显示,为什么现在却不正常了,硬抓住这个点不放,要我去看前端代码解决这个问题。这感觉就是有点顽固了,平时感觉这小伙挺好打交道的,怎么突然这样呢?我只好说,那我们同时进行,我去查我这边的代码,你去查你那边的代码,等下我会给你答复旧版本正常新版本异常的问题。他回了句:不太可能是后端问题,但是我可以去看下。我去,你对自己写的功能有自信,难道我对自己写的功能就没自信了吗?过了一会,他说他也在来公司的路上了。

  我决定要拿出有力的答复来狠狠的打他的脸,开始认真过一遍代码再梳理些已经被遗忘的逻辑。代码太多了,看得我头晕脑胀,不过好歹整理出思路了,但是一时不知道怎么组织语言表达出来。然后我突然惊喜的发现了自己电脑里保存了一条以前的旧数据,打开一看,果然印证了我之前的猜测,是新数据异常造成了这个现象。这时候他也来公司了,我叫他赶紧过来看,一时不知道怎么形象准确的表达,所以我请他看我的操作。但是他一直在那说为什么旧版本正常,而新版本不正常,说了好几次。我生气了,沉了脸说:你能不能先看下我这个操作。他这才停下来看我如何操作。没想到我在操作的过程中,突然知道怎么组织话语,把新旧版本不同表现的原因说出来了。

  他这才稍微认可我的说法,又说,为什么如今你们对我们的数据格式这么依赖。我说,你看看这个效果图,你的数据有返回我们马上就能用的数据吗?新加的功能让我不得不根据目前的数据格式进行遍历提取我们需要的数据。他又说,这是当初你们老大和我定下来的数据格式..... 然后他就回他座位找问题去了。 等了好一阵子,我去问他,找到原因了吗?他说已经改好通知运维发预发布了,一行代码引发的血案。

  我这才松了一口气,这个问题终于解决了。但是,既然已经改好了怎么不通知我一下,害我在那等那么久,那没什么事我先回家了.......

  可能是当时没反应过来,回来后我才在反思今天发生的这个事。这个后端同事今天表现出来的自信和质疑,让我一度很生气,但是在找到最后的原因后,我为什么不去打击一下他那嚣张的气焰,为什么我最后的表现竟然是”松了一口气“,玛尼这不是有点犯贱吗?为什么明明是我这边的道理,怎么感觉好像一直像是我这边的问题,怎么一直是我这边在妥协?如果他不要那么自负,早一点去自查代码,这个问题不是很快就解决了,何须我这边去忙活半天。我后面为什么不去质疑他这么重要的功能是能随便改动的吗?代码的严谨性呢?后端那边经常说代码审查代码审查,这是怎么审查的?代码改动了,没有去考虑相关的功能影响吗?没有去通知相关的人去进行测试? ......

  以上的质疑算是我自己一时的意淫,真要去做了以后大家都这么干,那工作氛围得成什么样?再说人哪有不犯错的,以我目前这表达能力,万一哪次犯错了被人揪住小辫子那不得给踩死。但是该有的说法是不是还得说出来,一来大家都是为了公事,为了把事情做好,没有私人恩怨;二来不想自己在别人的印象中是一个软蛋,可以随便捏拿,得有一些菱角,大家和平共处,一起把事情做好。凭心而论,我们公司研发都还是比较单纯的,很少有因为推脱工作责任而互相推诿互相攻击的,大家互相协作互相配合,工作氛围还是不错的。但是我身边的一些同学朋友的公司,里面的工作氛围真是不可描述啊,我有时听了他们的描述,感觉这甩锅真是甩出了新高度,某些人身上自带攻击性,说话句句带刺,心理有点不正常啊,这种环境下真不知道这些小伙是怎么坚持下来的!

  总结一下就是:工作中,我首先表示我的和平处理态度,互相尊重,互相协作;但是如果你一味的甩锅,和打压我,那我也要亮出我的獠牙来。另外这个表达能力真得好好的提升下,一段准确形象的表达可以节省多少口舌;再厉害一点的表达能力,应该是既能把意思表达清楚,又能使人心悦诚服的接受。

  还有什么呢?

  



推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 深入探讨智能布线管理系统的电子配线架应用
    本文详细介绍了电子配线架智能布线系统的核心优势,包括实时监测网络连接、提高操作准确性、图形化显示连接架构、自动识别网络拓扑、增强安全性等功能。该系统不仅提升了网络管理的效率和准确性,还为资产管理、报告生成以及与其他智能系统的集成提供了强大的支持。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 本文详细介绍如何通过修改配置文件来隐藏Apache、Nginx和PHP的版本号,从而增强网站的安全性。我们将提供具体的配置步骤,并解释这些设置的重要性。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
author-avatar
漫湾镇团委
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有