工作中,对于本分以外的要求,越是举手之劳,越要学会拒绝 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bernardkickass
V2EX    职场话题

工作中,对于本分以外的要求,越是举手之劳,越要学会拒绝

  •  1
     
  •   bernardkickass 59 天前 3216 次点击
    这是一个创建于 59 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚下班去吃了个肯德基,听到店长在训斥店员,听了下,事情经过大概是这样的:

    有顾客嫌冰淇淋太少(实际上是标准量,并没有少),要求店员多打一圈。 虽然这样做违反规定,但店员觉得多给一点没什么,就照做了,也没有征求店长的许可。 店长在例行查看监控录像时发现问题,找店员去对峙,于是发生了我看到的一幕。

    店员小姑娘很委屈:就为一点冰淇淋至于么,能值多少钱?就当我请那位顾客的了,你从我工资里扣吧。

    店长更生气了:你以为我在心疼那点冰淇淋的钱?这是公平问题、信誉问题! 顾客花多少钱,就应该给多少钱的货,一分不多一分不少。 你偏袒这位顾客,其他顾客看到了怎么想?要是被录下来投诉到总部,起码罚一万,也由你来赔么? 到时候我们店被扣分,我这个店长可能都没得当,你跟我一起喝西北风去吧。


    想到十年前我初进职场的时候,也曾因为不会拒绝而捅了篓子,而且情况要更加严重。

    那天,后端负责人请了病假,但他那边有代码急着上线, 于是用钉钉让我在内网提交一下发版审批,他直接在钉钉上确认,就可以上线了。 他还补充说,代码已经 review 过,且合并到了稳定分支,可以放心发版。

    本来这次发版只有后端的改动,和我这个前端切图仔没什么关系, 但我当时觉得这只是举手之劳,并没有考虑到潜在的后果,于是就照做了。

    发版后不到一个小时,客服那边反馈说客户遇到了 bug ,而且是十几个客户遇到了相同的 bug 。 没办法,那就回滚吧。可当我提交了回滚的发版审批之后,后端负责人已经“失联”了(后来才知道他那时正在手术台上)。

    这时客服又来催,说是有 VIP 客户的业务受到了这个 bug 的影响。 后端同事这时好像已经找到 bug 原因了,但只有他们的负责人有发版权限,他们也只能干瞪眼。

    他们给我出了个(馊)主意:回滚审批的页面上有个“紧急发布”功能,可以越过审批人强制发布。 只需要写个小作文说明原因,然后由 SRE 同意即可发布。

    我当时也是心急火燎,没有多想就申请了强制回滚。 SRE 那边问我,确定要回滚么?出事了你可要负责。 我迟疑了一下,但看着客服在催,后端负责人一直不回消息,其他后端同事觉得回滚没问题,于是就咬牙确认了。

    于是灾难的一幕发生了:原本只是某个功能模块有 bug ,现在是整个服务不可用。 后端同事一拍脑袋,哎呀忘了,新版本执行了数据迁移,数据结构都变了,旧版本不仅跑不了还会导致数据损坏。 赶快回滚数据库到发版前的时刻。

    可是回滚数据库的审批链条长得可怕,什么 DBA ,SRE ,甚至一堆人的 leader 都要参与审批。

    我的这个审批工单还惊动了部门老大,他此时正在上海开会。 因为此次事故不得不中断会议,Zoom 过来协助解决问题。

    他的第一句话就是,不要回滚数据库,发版后产生的所有数据一条也不能丢。除非你想让整个部门跟着消失。

    后面的事就不用多说了。在服务完全中断的五个多小时后,所有损坏的数据均完成修复,新版本代码也成功上线。 后端负责人负此次事故的主要责任,case study 结束后就再也没见到过他,钉钉显示已离职。 我和一堆后端还有 QA 同事负次要责任,不仅要参与他们的 case study ,还要背最低绩效,年终奖归零。

    因为这件事我在组里也一直抬不起头,过完年就直接提了离职。人生中的第一次也是唯一一次大厂工作经验就此落幕。


    所以我想说的是,在工作中,对于那些本来不应该由自己做的事,哪怕这件事再简单, 看上去再无害(实际上你可能没有能力判断是否有风险),也不要不好意思拒绝。 至少要先请示一下自己的上级,有个人给你兜底。

    23 条回复    2025-09-20 20:06:49 +08:00
    phrack
        1
    phrack  
       59 天前
    你这故事其实有点离谱啊,为什么那个后端不找自己组的其他人反而找你个前端来发版,他跟你比自己组里的还熟呢?
    povsister
        2
    povsister  
       59 天前   1
    你想表达的意思我 get 了,但发版可不是举手之劳... 尤其是越权发布
    tonytonychopper
        3
    tonytonychopper  
       59 天前
    我比较好奇为什么后端会找你前端来发版本,并且对方明知道要做手术还不提前找好 backup……
    dswyzx
        4
    dswyzx  
       59 天前   4
    都要上手术台了还在考虑工作。这大厂是离了谁地球不敢转吗
    huigeer
        5
    huigeer  
       59 天前 via Android
    这是两个不太相干的类比,后一个严格说你的问题很大,这是越职
    bernardkickass
        6
    bernardkickass  
    OP
       59 天前
    @povsister @huigeer 刚毕业那会儿没有职场经验,出了事不能冷静应对。虽然知道越权操作不对,但是由于急着弥补自己的过失,也就不管不顾了。事实证明这样做是灾难性的。
    bernardkickass
        7
    bernardkickass  
    OP
       59 天前
    @phrack @tonytonychopper 大部分后端同事十点半以后才陆续到工位,而我通常十点以前就到了。
    当天发版是他临时做出的决定,如果让其他后端同事操作的话,就来不及通过审批了,因为手术马上就要开始了。
    CEBBCAT
        8
    CEBBCAT  
       59 天前
    这两个故事都是真的吗?行文很有 AI 味
    leo72638
        9
    leo72638  
       59 天前 via iPhone
    上手术台前要发版还行
    bernardkickass
        10
    bernardkickass  
    OP
       59 天前
    @CEBBCAT 你这属于是 AI 用多了看啥都像 AI

    我现在就可以把肯德基店长还有前同事的联系方式发给你,让你自己去查证。
    但我早就不是意气用事的毛头小伙子了,不会为这种事给别人添不必要的麻烦。
    yuanmomo
        11
    yuanmomo  
       59 天前 via iPhone   5
    这个只是 op 在的公司。我现在的公司就没有这个顾虑了,有问题,提出来,谁有时间,改就是了。

    上次印象深刻,另外一个组找我们老大沟通一个东西,老大没问我们,就回复说可以那样干。结果人家组就这么干了,结果我 review 的时候,一看这样做就不对,拉个会 @讨论一下,领导上来就跟人道歉说他没想到这样做不行。结果别的组也说,没关系,没关系,改了就是了。

    第二次也是他们组,我当时没跟他们细说,以为他们懂,ingress 加一行配置就行。结果他们组一个同事哼哧哼哧搞了半个月,用 spring 写了一个 http 代理转发,说白了就是个简单得 NGINX ,让我 review ,我哭笑不得。明明几分钟的事情,搞了半个月,结果在转发文件上传的请求时很不稳定,没办法,同事说框架的问题,解决不了。最后我给他们说具体的方案,他们恍然大悟,最后几行配置搞定。这里很明显我背锅,要是早说不至于浪费同事的时间,我也跟他们道歉了。

    说到底,要是一个环境,没有年终奖,员工也不怕裁员(裁员了,失业津贴 100%发十个月),哪儿来这么多破事,说到底还不就是那个恶心人的绩效考核。
    udisyue
        12
    udisyue  
       59 天前
    首先你这是跟肯德基两码事,肯德基那个是造成对客户不公平的结果
    其次,你前端代人上线本来就是不对的,后端负责人不在也应该是他组内代理人去执行,上线没有小事
    SD10
        13
    SD10  
       59 天前 via iPhone
    肯德基事件应该有标准处理的培训吧,没有的话不应该批评店员。
    iOCZS
        14
    iOCZS  
       59 天前
    权限职责分离是对的;不要轻易回滚也是对的
    swananan
        15
    swananan  
       58 天前
    我这边可以看到的,op 当年大概犯了以下几个错误,当然都和肯德基的例子没什么关系
    1. 帮别人进行线上发布,我觉得最核心的不是答应帮别人发布,而是没有理解线上发布需要做什么事情,发布不是只点一个发布按钮就结束了,灰度、业务报警、客户反馈,这些需要时刻跟踪,发布版本的变更内容和可能造成的影响都得了然于胸。如果对发布有了这些认知,相信 op 也不会随随便便答应别人(还是不同业务线的人)的发布要求。
    2. 线上紧急回滚需要谨慎,不能一键回滚,而是要当做发布来处理,灰度、监控报警观察等等一些系列操作都不能缺失,一把梭等于是在玩命,当然版本发布者的回滚风险评审确认也是必不可少。所以,也是为什么发布必须又核心开发者本人来执行,而不是找人代发。

    顺便推荐下我写的一篇博客,https://jt26wzz.com/posts/0007-online-firefighting-real-world-lessions-from-4-years-on-call/
    JamesR
        16
    JamesR  
       58 天前
    感谢分享经验,我见过好几次了,前端有时候,经常直接改我们后端的东西,以为很简单,不就一行代码嘛,为了省事,结果有时候还是出错,一查日志,结果发现前端改的。
    BeforeTooLate
        17
    BeforeTooLate  
       58 天前
    刚入职场,领导教我第一个事情就是:遇到不确定的事情千万不要自己蒙头做,找你上级领导确认一下总没错。
    CEBBCAT
        18
    CEBBCAT  
       58 天前
    @bernardkickass #10 很抱歉给你造成困扰,原因是字里行间和以往读过的文字不太像,却和 LLM 润色过的文章缥缈之处有些神似。看来阁下的行文错别字很少了,感谢分享真实故事
    a2603230
        19
    a2603230  
       58 天前
    这种事情基本上小公司的日常了,小公司出问题基本不回滚,直接等服务端修复完再重开服务。
    huaweii
        21
    huaweii  
       55 天前 via Android
    笑死,你这个公司是不是就是中层小领导集体舔狗玩日本剑道的那个公司啊
    abelmakihara
        22
    abelmakihara  
       50 天前
    第二个问题 说破天也不可能前端点个发版的
    其他人是都死光了?发不了版关我屁事..
    shmilypeter
        23
    shmilypeter  
       21 天前
    @phrack 刚开始的发版应该是定期发版,后端是提了 pr ,自己没测,有侥幸心理,所以没有找老同事,找了还是刚毕业愣头青的楼主让他点合并到代码仓库,以期蒙混过关,也的确蒙混过关了。

    等版本发布之后出了 bug ,想要回滚代码,就要 SRE 同意了,这个时候楼主又大包大揽出面了,结果没想到数据库结构变了。

    然后要回滚数据库,审批链条长到可怕,惊动了大 leader 。

    只能说你们当时定期发版,直接上生产,也有点牛逼了,一个功能上生产,在平安那边是 sit uat blue green ,最后一步才是 prod ,一般敏捷流程下,sit 到 prod 会相差一个月时间。不说搞那么多步骤,如果有个灰度环境也不至于这样。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2511 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 01:54 PVG 09:54 LAX 18:54 JFK 21:54
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86