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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  还有什么呢?

  

转载于:https://www.cnblogs.com/tandaxia/p/11521810.html

一次“背锅”和“解锅”后的反思相关推荐

  1. 测试员就是“背锅侠”?学会这些,扔掉测试人常背的3口“锅”

    最近发生了一起生产事故,究其根源,事故本身属于架构或者需求层面需要规避的问题,测试人员的责任其实是非常小的,但实际情况是:相关测试人员因此承担了很大的压力,成为质量问题的"背锅侠" ...

  2. 测试员≠“背锅侠”:学会这些,扔掉测试人常背的3口“锅”

    最近发生了一起生产事故,究其根源,事故本身属于架构或者需求层面需要规避的问题,测试人员的责任其实是非常小的,但实际情况是:相关测试人员因此承担了很大的压力,成为质量问题的"背锅侠" ...

  3. WinRAR技巧:解压后自动打开解压好的文件夹

    WinRAR技巧:解压后自动打开解压好的文件夹 很多读者喜欢使用老牌的解压缩工具WinRAR,大家使用WinRAR解压文件之后的第一件事就是找到解压好的文件夹,双击文件夹,以便在里面找到自己想要的文件 ...

  4. 我下载的mysql解压后没有安装_mysql 解压版安装配置方法教程

    1.首先,你要下载MySQL解压版,下载地址 虽然mysql都有8.0了,但这里我要安装的是mysql5.7,其他版本方法类似 2.解压安装包,根据自己的喜好选择路径,我选择的路径是D盘,因此MySQ ...

  5. 3.在slave1机器下载3个安装包解压后,复制给master机器

    务必:从机器slave1或者slave2中下载下面三个安装包 一.在slave1机器上下载下面三个安装包 jdk-8u111-Linux-x64.tar.gz 下载地址:http://www.orac ...

  6. ubuntu下rar文件解压后文件名乱码的解决方案

    在linux解压rar文件,通常使用的命令是 rar e a.rar 但是由于编码的缘故,在windows下打包的的中文文件,解压后时候乱码,提示为无效的编码格式,由于windows是gbk的编码格式 ...

  7. Ubuntu下pdf乱码和rar解压后无效文件编码解决方案

    问题:pdf乱码,中文都显示不出来,只能显示英文. 解决方案: 1) sudo apt-get install poppler-data 2) sudo mv /etc/fonts/conf.d/49 ...

  8. VS 安装部署项目自解压程序解压后按顺序执行多个程序

    这篇blog介绍了如何用VS创建安装部署方案,以及如何制作自解压程序.然后我的程序中需要解压后按照顺序先后安装2个exe.winrar的解压后执行,虽然可以用分号填写多个应用,但貌似是同时执行的.为了 ...

  9. jdk安装包解压后如何安装(jdk下载安装)

    1.找到"解压到"按钮,一般解压到压缩包所在的位置就行,点"确定"2.解压后,找到这个文件夹,并在里面找到"**.setup"的文件(一般文 ...

  10. Linux 下压缩包解压后目录的权限问题

    looking 用户打包目录 looking 用户在自己家目录下打了一个 tar.gz 的压缩包: [looking@master test]$ ll total 139540 -rw-rw-r--. ...

最新文章

  1. GIF动画 汇总帖子+实例
  2. iOS开展——全球应对MotionEvent
  3. C++ vector求均值和方差
  4. 如何在CentOS 7上安装Percona XtraDB集群
  5. sas 检测到开型代码语句的递归_对于标准答案的递归很多人都看不懂,其实就是一个深度优先的遍历。我写了段伪代码,将递归步骤还原并注释了一下,供大家参考,希望大家有所收获。...
  6. java in array_ArrayList to Array Conversion in Java
  7. [Python] np.ones_like(ndarray)和np.zeros_like(ndarray)
  8. Spring常用注解,自动扫描装配Bean
  9. mssql 查询无记录时sum_SQL常见面试题查询
  10. android恢复微信好友,安卓微信删除好友怎么找回 找回好友详细方法
  11. Whiteboard for mac(mac画图软件)
  12. 【产品功能】弹性网卡支持私网多IP
  13. php 有下划线的方法,编码风格 - PHP类方法中领先的下划线有什么用?
  14. 金蝶云苍穹笔记(三)
  15. openpyxl超详细笔记
  16. 如何关闭计算机自动休眠状态,电脑自动待机怎么关闭【图解】
  17. NIKE的网络营销案例给我们的启发
  18. Matlab将图例添加到图
  19. scala.Predef$.$conforms()Lscala/Predef$$less$colon$less;
  20. 怎样在线将视频生成二维码?二维码在线制作工具使用教程

热门文章

  1. appium相关记录
  2. 二层交换机的安全方案与实施
  3. 断点下载 (记录上传、或下载的量
  4. 第三代搜索推出的专题是什么?
  5. CentOS 6.2安装配置pacemaker
  6. 常用的一些注入命令!!!
  7. 官方实力榜:绿军居首黄蜂第二 火箭小降雄鹿飙升
  8. 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(2)
  9. 第一次c++上机实验
  10. 父子类之间,成员函数重写、重载以及重定义的区别