第十一章 甩锅
入职第六周的星期二。
技术分享之后,林辰发现组里的氛围微妙地变了。
老黄对他的态度没变,还是那样不声不响地帮忙。李姐也差不多,偶尔跟他聊两句工作上的事,但明显比以前客气了些。
变化最大的是陈翔。
以前陈翔虽然冷淡,但至少还会跟林辰说几句话。现在他连正眼都不看林辰了,每天戴着耳机坐在工位上,像个隐形人。
最让林辰不舒服的是孙帅。
技术分享之后,孙帅对他的热情明显降温了。以前每天主动找他聊两句,现在除非工作需要,基本不怎么说话。林辰觉得奇怪,但又不知道哪里出了问题。
"孙哥,你是不是觉得我上次分享会太张扬了?"他忍不住问了一句。
孙帅笑了一下:"想什么呢,你讲得挺好的。"
但这个笑容有点勉强。林辰没再追问。
这天下午,政务平台二期的一个需求出了bug。
这个需求是上周刚上线的用户权限管理模块,前端是陈翔做的,后端是林辰配合做的。需求评审的时候,陈翔说他理解了业务逻辑,让林辰把后端的接口写好就行。
结果上线之后,用户反馈权限校验出了问题——某些用户明明有权限,却被系统拒绝了。
张磊把两个人都叫到了他的办公室。刘倩也来了,坐在旁边翻笔记本。
"这个bug怎么回事?"张磊的语气不算严厉,但表情不太好。
陈翔抢先开口:"张经理,后端的接口返回的数据结构有问题。我跟林辰确认过,他说返回的是JSON格式的用户权限列表,但我实际拿到的数据格式不对,导致前端解析失败了。"
林辰愣了一下。他清楚地记得,他跟陈翔对接的时候,两个人一起确认了数据格式——就是标准的JSON数组,每个对象包含role_id和permissions两个字段。
"不是的,"林辰说,"我跟陈翔确认过,数据格式是——"
"你确认的是role_id和permission_list吧?"陈翔打断了他,"但我拿到的是role_id和permissions,少了一个list,前端解析不了。"
林辰脑子里嗡了一下。
他赶紧打开电脑,翻出之前跟陈翔的聊天记录。两个人确实讨论过数据格式,但林辰最后发的是一个代码片段,里面写的字段名是"permissions",没有"list"。
"你看,"陈翔指着屏幕,"你给我的就是这个格式。"
林辰仔细看了一下自己的代码——确实是"permissions",不是"permission_list"。但他记得很清楚,他在代码里做了兼容处理,两种格式都能解析。
"我做了兼容,"林辰说,"前端传哪种格式都能处理——"
"那你有没有测试过?"张磊问。
林辰顿了一下。他没有专门针对陈翔的前端代码做过联调测试。
"没有。"
刘倩在旁边抬头看了他一眼,语气不冷不热:"先把问题修了再说吧,客户那边已经在催了。"
张磊叹了口气,看向陈翔:"前端的问题你能不能自己解决?"
"能是能,但需要后端配合改接口。"陈翔说,"这个逻辑本来就是后端负责的,前端只是消费数据。"
张磊看了林辰一眼:"你把接口改对,今天下班前搞定。"
林辰张了张嘴,想说点什么,但最终只说了一个字:"好。"
从张磊办公室出来的时候,陈翔从他旁边走过,嘴角微微勾了一下。
那个笑容让林辰心里一沉。
他回到工位上,开始改接口。改着改着,他突然想明白了一件事——陈翔在撒谎。
他翻出代码,仔细看了陈翔的前端部分。陈翔根本没有做错误处理,拿到数据直接解析,格式不对就报错。而林辰的后端接口其实返回了正确的数据,只是陈翔的解析逻辑写错了。
但张磊已经做了决定。林辰知道,现在再解释也没有用了。
"被人甩锅了?"
旁边传来一个声音。林辰抬头一看,是周凯。
"你怎么知道?"
"陈翔这套我见过。"周凯拉了把椅子坐到他旁边,"他以前也这么干过。甩锅甩得干干净净,你还说不出话来。"
"那怎么办?"
"下次留证据。"周凯说,"聊天记录、邮件、代码提交记录,什么都行。但这次……"他看了看林辰,"忍了吧。"
林辰低头继续改接口,心里憋着一团火。
这是他入职以来第一次觉得委屈。
下班后,他没有像往常一样加班到很晚。八点钟就收拾东西走了。
走出大楼的时候,他给大学导师发了一条微信。
「老师,您之前说的对,技术好不等于职场顺。」
导师回得很快:「怎么了?」
「被人甩锅了,说了也没人信。」
导师沉默了几秒,回了一条:「学会留痕,这是第一课。」
林辰看着这条消息,在地铁站的站台上站了很久。