朱赟的技术管理课
朱赟
计算机博士,前Airbnb技术经理
立即订阅
11176 人已学习
课程目录
已完结 39 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 | 从工程师到管理者,我的思考与实践
免费
01 | 职场分身术:从给答案到做引导
02 | Bug引发事故,该不该追究责任?
03 | 每个工程师都应该了解的:A/B测试
04 | 如何帮助团队成员成长
05 | 当我们给别人提意见时,要注意些什么?
06 | 每个工程师都应该了解的:聊聊幂等
07 | 当别人给我们提意见时,该如何应对?
08 | 说说硅谷公司中的一对一沟通
09 | 每个工程师都应该了解的:大数据时代的算法
10 | 项目延期了,作为负责人该怎么办?
11 | 管理和被管理:期望值差异
12 | 每个工程师都应该了解的:数据库知识
13 | 管理者在进行工作分配时,会考虑哪些问题?
14 | 硅谷人到底忙不忙?
15 | 每个工程师都应该了解的:系统拆分
16 | 技术人如何建立个人影响力?
17 | 管理者不用亲力亲为:关键是什么?
18 | 每个工程师都应该了解的:API 的设计和实现
19 | 硅谷面试:那些你应该知道的事儿
20 | 项目管理中的三个技巧
21 | 每个工程师都应该了解的:中美在支付技术和大环境下的差异
22 | 不要做微观的管理者
23 | 如何处理工作中的人际关系?
24 | 编程语言漫谈
25 | 兼容并包的领导方式
26 | 如何做自己的职场规划?
27 | 小议Java语言
28 | 如何激发团队人员的责任心
29 | 说说硅谷互联网公司的开发流程
30 | 编程马拉松
31 | 工程师、产品经理、数据工程师是如何一起工作的?
32 | 硅谷人如何做 Code Review
33 | 技术人的犯错成本
34 | 如何从错误中成长?
35 | 理解并建立自己的工作弹性
36 | 如何对更多的工作说“不”
尾声:成长不是顿悟,而是练习
新书 |《跃迁:从技术到管理的硅谷路径》
朱赟的技术管理课
登录|注册

02 | Bug引发事故,该不该追究责任?

朱赟 2017-11-15
“人非圣贤,孰能无过?”技术人员也是人,因此编程过程中难免出 Bug,出了 Bug 系统就会出问题,出了问题系统就会宕机。那么,Bug 引发的一连串事故,该不该追究责任,又如何去追责呢?
今天我就和你聊聊 Bug 和责任的问题。
记得有一次,一个国内的访问团来公司参观。在交流的过程中,有人问:“在你们的工作中,工程师的 Bug 或者失误引发的问题,会不会被追究责任,会不会扣工资,会不会被开除?”
当时我很诚实地按照实际情况回答说:“不会。”
这个人又继续问:“那出了事故没有任何惩罚,不会有问题吗?”当时,我围绕着员工的素质、自觉性和责任心进行了回答。后来再次思考这个问题,我越想越觉得有意思。
我在 Airbnb 负责支付和交易业务,这意味着大部分的错误都等价于真金白银。无论是从用户那少收钱,导致公司亏损,还是从用户那多收钱引起法律或者合约的纠纷,只要跟钱沾了边,都不是小事情。
俗话说 “常在河边走,哪有不湿鞋”,各种因为代码问题引起的麻烦也是屡见不鲜。那么,在 Bug 引发问题的情况下,怎样处理才能最大程度上保持团队的主动性、责任感和执行力呢?
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《朱赟的技术管理课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(40)

  • 李运华 置顶
    大家好,我是极客时间《朱赟的技术管理课》运营负责人小原 ,收到短信加不上我的用户,请关注公众号"极客时间“,回复你的微信号,我会拉你进群。
    2017-11-16
    12
  • ibrothergang
    “如果你是一家公司的技术主管,团队里的一位工程师因为误操作删除了线上的用户数据,这时候你又发现,上个月数据的自动备份因为某些故障停止了,现在你该怎么办呢?”

    首先,解决问题。
    对外的事情永远应该放在首位解决,首先要考虑的是用户数据没有了怎么做补救。如果实在没有办法挽回数据了,考虑如何将损失降到最低。或者以某种方式补偿用户。用户的利益永远是第一位的。

    其次,追究责任。
    误操作也好,没有自动备份也罢,肯定需要有人来承担责任。没有责任人的事故很难挖掘到深层次的原因。错了就是错了,就是需要承担起这份错误带来的事故责任。

    最后,流程优化。
    人和机器最大的不同是人是具有主管能懂性的。机器可以严格按照程序执行,没有喜怒哀乐,但是人不行。谁都会有心情沮丧的阶段,也会有狂喜的时候,这种情况往往就容易犯错。所以如何规避,是不是可以从流程上去杜绝错误出现就是事后需要思考的。那前面的例子,如果删除操作是高危操作,是不是可以制定需要授权,是不是可以规定同时需要多人确定。自动备份是不是可以制定一些预警机制?

    个人一些想法,抛个砖,引玉。
    2017-11-15
    87
  • 金鹏
    支持朱赟开直播答疑的赞我
    2017-11-15
    40
  • _fenghao_
    苹果支付实在是问题颇多...终于搞定了,先支持安姐,big fan!

    以前创业碰到很多这种问题,重大事故大都是有流程,不执行,偷懒所致,因为越是不确定的东西反而自己更重视,反而熟悉的问题总错,所以还是要细心。个人非常不容易罚款,当时CEO逼着订下罚款的细节,我说👌,权责利要匹配,也一并订下奖赏的条款,不说话了……

    2017-11-15
    10
  • rembau
    所以答案就是不惩罚吗?
    我有两个疑问:
    1,例子中最后推敲到是测试系统不完善,可是如果要完善测试系统需要大量的资源,公司目前资源紧张,协调资源很难,是不是应该在这种情况下顶着压力申请资源改进测试系统呢,是不是每次代码合并都进行一次review更简单有效一点
    2,留的题目中,我们继续使用上面例子中追问自己的思路,数据为什么没有备份,没有备份,为什么没有发告警信息呢,因为运维系统不完善。假设运维系统完善了,发告警了,可是运维同事忽略了呢。

    所以我觉得有时候人与系统或者流程之间有个均衡,资源充足的公司不断完善系统,让每个人都成为螺丝钉,资源不充足的公司,要培养人的习惯,管理者要把更多的精力放在人身上。

    池建强回复: 是的,一切都是平衡,理论结合实际,知行合一

    2018-02-27
    9
  • 刘剑
    对于朱老师提出的这个问题,我通过2个角度去看;
    1.自身角度,这种问题不会同步出现。首先能够操作正式服务器后台数据的都是经验丰富的主程级别,出现概率极低。就算出现了,我们通过数据库日志也可以恢复数据,把损失降到最小。如果日志损坏了我们还可以通过最多24小时自动备份数据恢复。我相信不会同时都出问题。
    还有就是需要及时上报让运营考虑应急预案,让客服做好疏导和安抚工作。必要时候给予出现问题用户一定补偿。

    2.如果是很不规范创业公司,开发人员误删了用户数据(我们按最坏的考虑数据清空了),又没有备份,立刻停止任何操作,及时上报问题,立刻切断外网用户的访问,如果数据价值非常大可以请专业数据恢复公司恢复数据,运营、客服都要协调动起来,讨论出善后方案并高效执行。

    对于第一种造成损失较少,但需要误删者解释清楚操作细节和原因,这种一般是操作规范的问题,以后严格按规范操作数据,然后需要向公司公开道歉,特别是增加了运营和客服工作量
    对于第二种造成损失很大,是操作的问题,也是数据库冗灾没有做好,更是管理上的问题。需要深刻反思反省,加强冗灾能力同时让公司加人手和资源吧。通过这件事老板也不会不舍得投入了(曾见到过创业公司不重视服务器资源投入的问题,还有就是找靠谱的开发人员和技术主管)。
    2017-11-16
    8
  • Rachel_fang
    现在在的团队,感觉每个人都没有安全感~问题发生后大家想的不是如何解决而是先说是谁的责任~解决问题找到问题根本比追责带来的正向结果会好
    2017-11-16
    6
  • Seven_dong
    日常code diff 一定迭代后 retro看看有什么可以改进的,制定action改进
    2017-11-15
    6
  • 愤毛阿青
    前几个月删掉测试环境用户表的飘过
    2017-11-15
    6
  • jayxhj
    出现线上问题第一件事肯定是先解决这个 bug 或者问题,所以尝试修补数据并安抚用户肯定是首要的事情。

    不过针对丢失用户数据这件事,很有可能数据追不回来了,这时候给用户相应的补偿很重要(包括但不限于发优惠券,送套餐,营销召回等方式),一方面达到挽救损失,另一方面直面问题,让用户降低对平台的不信任。当然,最重要的是,得解决数据丢失的问题,定期检查,灾备演练,防止这数据丢失的事情再次发生。
    2017-11-15
    5
  • Hills录🇨🇳
    昨天差点把测试代码上生产。。。
    2017-11-15
    4
  • 禾子先生
    您好,既然事故已经发生,眼前第一件事就是救火了。第一,我会先分析此次误删了多少用户数据,并使用最近备份的数据;第二,试试恢复数据,找专业公司来对磁盘数据进行恢复;第三,汇报上级领导;
    做完这些,就要开始“追责”了,为什么发生,怎么发生的。比如,是不是权限管理有疏漏,是不是生产安全操作原则没有普及,技术人员是否疲劳工作等。
    2017-11-15
    4
  • 阿痕
    我作为公司运维主管,真真切切的碰到过数据被运维删除的场景,分享下我的一线经验:
    首先,先想办法把损失降到最低,是否有其它备份,是否有其它途径重新生成数据等。
    其次,作为技术主管,对外主动承担首要责任,不要把责任推给下属。
    第三,用why-why法去找深层次原因,就是不断的问为什么,找出根本原因。
    第四,针对上述的原因,一个个找解决方案,每个解决方案都要有责任人和时间点,避免重复再犯。
    第五,针对事故进行复盘总结,对事不对人,重点不在于惩罚,而是在于吸取经验,总结教训。
    2018-04-27
    2
  • 章洁
    发现留言很有意思。
    2018-02-26
    2
  • Mindy
    首先,解决问题。
    其次,组织复盘。从组织结构、工具、流程规范等方面思考,找到根本原因进行解决。另外,如果出现人员方面的责任心问题,需要追求责任,给予惩罚。
    2017-11-30
    2
  • nanjishidu
    首先进行数据恢复减少损失。
    然后完善自动备份程序和操作流程,杜绝类似问题的发生。
    最后问题追责。技术主管是第一责任人,操作数据之前未进行数据备份,未定时检查数据备份是否正常。运维人员是第二责任人,未定时检查自动备份程序的稳定性。工程师是第三责任人。
    2017-11-15
    2
  • 王长荣
    事中:应急,第一时间毛估影响及止损方案,降低业务影响(协调公关、客服、运营等对外发文安抚)
    事后:复盘,输出后续优化改进,避免下次类似问题
    2019-08-12
    1
  • 吕韬
    第一步:尽力补救,能救多少是多少,不能救的制定一套补偿方案,方案要具体,怎么实操、花多少成本多少时间,谁去做
    第二步:复盘,找问题的相关责任人还原整个事实,建议如何防止这类问题
    第三步:管理层内部分析原因,思考流程机制的问题,减少人为失误,发布新的管理办法,然后继续观察
    2018-07-28
    1
  • 郝志强
    简单说下自己的思路:第一,优先解决问题,尽可能地降低用户和公司损失;第二,问责,弄清楚人员误操作的原因,以解决问题为目的,责任同样要承担;第三,查找上个月数据未正常备份的原因,追责;第四,根据上述情况制定相应措施以及改进方案。其实大部分人遇到这种情况都是愤怒和责怪,但是这并不能解决任何问题,只会导致问题越发严重。因此,及时的控制自己的情绪很重要,职位越高,关健时刻越要冷静,这样才能抓住问题的核心,不至于乱了阵脚。
    2017-11-16
    1
  • 金鹏
    看到这个问题菊花一紧。个人觉得先从技术的角度尝试,有没有trick的方式可以恢复,如果没有用上上个月的,尽量减少损失。然后复盘,是谁的责任,并找到问题,完善流程。为什么程序猿有数据库删除权限?是否要分权限?是否要专人负责?设立Dba?为什么数据备份出错?是否有云备份?分布式数据?为什么一个月都没人知道?出问题为什么无预警信息?最后,主管是否有很大的责任?

       朱赟可否每周做一次复盘?回答一些大家的问题,另外也让大家知道你看问题的视角,强化记忆和学习。帮助一起提升。
        当然,如果直播就更赞。(色)(色)
    2017-11-15
    1
收起评论
40
返回
顶部