2018-03-09 04:38:41 +0000 2018-03-09 04:38:41 +0000
178
178

如何处理一个同事把错误归咎于我的BUG是他的错

我是一个相对较新的工作,但当涉及到我们使用的某项网络服务时,我已经确立了自己的 “人设"。我们自己的网站与该服务整合在一起。

今天我们的网站出现了一个停播问题,导致网站用户无法使用该服务。自然而然,我被叫去帮忙了,但其中一个网站的开发人员对我个人发火,暗示我没有做好我的工作,并指责我沟通不畅。后来,在与至少8个人的电话会议上,他被动地骂我没有解决这个问题。

经过一天的工作,在家里加班,我终于确定问题的根源不在服务中,而是在网站的代码中,特别是在那个不善言辞的开发人员写的代码中。

TL;DR:那个指着我的家伙其实是问题的根源

我一般是个随和的人,没有必要把这个家伙说出来;但是,**我希望得到一些建议,如何婉转地向他表达我希望他100%地确定不是他的代码,然后再和我说这句话。

答案 (8)

99
99
99
2018-03-09 10:41:44 +0000

有些人为了转移自己的注意力,会主动把责任推到别人身上。因为你也是比较新的人,所以他的做法肯定是很方便的,

这里我的建议是。写一封邮件,描述一下问题是什么,你是如何得出问题的根源,最终的解决方法是什么,以及以后如何预防。在这封邮件中包括所有的利益相关者。

在这封邮件的最后,写上这样的内容,

XYZ,

你能不能在这段代码的相应文档或标准操作流程文档中加入这些步骤?

这样你不是在 “指着他",而是明确地喊出他是这段代码的所有者,因此要对它负责。喊出来很重要,因为不是每个人(尤其是上层管理人员)都会打开任何代码库的链接来查看是谁的提交。

有点刺耳,但他活该。

25
25
25
2018-03-09 12:58:31 +0000

我是靠不玩指责游戏建立起了自己的事业,但事实是,人类最听话的声音。然而,如果你参与到为自己辩护,他就会把你拉到他的水平,用经验来打败你。

如果你能找到一个,你需要一个冠军。理想情况下,这应该是你的经理,但有时,这应该是另一个受人尊敬的开发商。他们会去为你出手,让响亮的人闭嘴。你所要做的就是和他们私下讨论一下你为解决这个问题所做的事实(而不是指责),以及他们希望你如何进行,这样,下次服务出了问题,就能更快地发现问题并修复。这可能涉及到写一个小测试工具,直接测试服务(不使用其他开发人员的代码),或者是一些日志记录什么的,这样就可以很快地确定 “我们与他们 "的问题。如果他们知道实际上是谁的错,他们就可以洗刷你的污名,而不需要你和大嗓门的人直接冲突。

我一直都是弯着腰,避免让其他开发者站在防线上。我说过类似于 "我在复制问题的时候遇到了麻烦,能不能让我知道你打了什么电话给服务,得到了什么反馈,这样我就可以正常测试服务了 "之类的话?如果开发者愿意给你提供实际调用和响应的日志痕迹,请问他们预计会得到什么回报。然而,大多数情况下,开发人员只会给你看他们的代码。在这种情况下,你有时可以发现问题所在。即使你发现了,还是不要叫他们出来。他们必须自己去发现问题。让他们通过调试器运行代码,并无辜地问某一行代码中的某一个变量包含了什么。我可以继续说下去,但你会明白的。

17
17
17
2018-03-09 16:52:10 +0000

在IT行业(以及其他一些行业,如航空业),这是一个非常好的传统,当有人发现问题时,每个人都会一起想办法解决,最好是找到问题的根源,这样就可以改进流程,但没有人会因为犯错而受到个人的指责或处罚。这样做的结果是,人们对自己的错误坦诚相待,而不是试图掩盖错误,这对每个人都有好处。

看上去你的车间里好像有人还没有接受这种文化,这一点需要管理层注意。

12
12
12
2018-03-09 12:05:32 +0000

我相信你应该和你的经理谈一下问题的处理方式,尤其是影响用户体验的优先级问题。

这种情况下,你有2个系统在沟通,突然间沟通停止了,你的系统就会出现问题。当沟通失败时,双方都要把目光放在两个系统上。每个人都把重点放在你的服务上,导致他们不去调查自己那头的事情。解决一个问题最大的浪费时间,就是试图找出其中的某一部分实际运行正常的是哪里出了问题。

这些都是学习的经验,但是。我敢打赌,你现在已经完全知道如何对服务进行故障排除了。试着根据你的经验来制定一个故障排除计划,首先要确定是你的服务出了问题("从其他页面调用服务是否正常工作?","服务是部分还是全部出了问题?")。你是网络服务的人,你可以对自己的工作有一点信心。

试着放手让他知道其实是他的代码失败了。试图叫他出来是有点小气。他不应该一开始就把重点放在你身上。把它看成是公司内部的一般问题,用排除故障的方法来处理,并和你的经理一起处理。你也不知道这其实是他的代码,他也有可能是从别的同事写的另一个部分抄来的。

4
4
4
2018-03-11 12:54:45 +0000

我觉得和你的经理谈一谈是个好建议。你的经理需要知道你受到了不公平的指责。

但在此之上,你正在接受考验。你最初的直觉是对的;你必须做出回应,否则情况会变得更糟。我会直接给他发邮件,让他知道问题出在他的代码里,这段时间,除了你的经理,你没有告诉任何人,为了保护自己,你不得不告诉他。最后让他知道,如果他再这样做的话,你就会公之于众。

2
2
2
2018-03-14 10:25:16 +0000

如果你发了一份你发现了问题并注意到问题的解决方法,那么其他开发人员可能会知道问题的所在(这很好),但管理层可能不会知道。与你的同事建立起这样的信任,从长远来看,会让你有良好的地位。


稍微有点小插曲–这显然要看你在他们的工作中发现的错误的性质。如果你发现的是如此惊人的错误,表明他们的工作不称职,你可能会想悄悄地将此事上报给你的经理–他们会想知道,你也会与他们建立信任。

0
0
0
2018-03-11 04:17:33 +0000

我建议你先睡一觉,然后再去回应个人方面的问题。如果你把问题解决了,事情又恢复了,那么你还是 “男人"。休息一下之后,你会更容易变得和蔼可亲。

0
0
0
2019-03-06 23:49:19 +0000

虽然主要的问题已经在其他的Awswers中提到了很长时间–对方骚扰你–但我想指出另一个角度。

在对方拥有的代码中进行了修复,然而更多的时候,服务可以通过更保守地处理客户的请求来避免更大的问题。它是否验证了输入?它是否会报告任何运行时的错误?是否有测试环境(这也适用于消费者)?有时服务中的问题只是等待浮出水面,所以我想说,仅仅因为在某一个地方做了修复,并不代表这就是问题的全部。另外,对于这样的问题,不仅仅是代码。还有过程也是如此。