【程序员劳动争议】因为软件出bug被开除到底冤不冤?如果是vibe coding,是不是可以甩锅给AI了?

0 阅读1分钟

懂技术的知产曲有话说

从程序员角度,对自身工作成果及时留存,同时秉持诚信理念,认真履行自身工作职责,发现问题应及时向公司请示汇报。程序员对于自身工作成果,及时进行留存,以备不时之需,当然不是说留存源代码,甚至他人的编程成果,因为这些本质上都属于公司,程序员未经授权,不能随意复制、使用等,但对于自身工作成果,如向第三方代码管理平台提交工作结果的记录等及时留存,在出现劳动争议时,可以用来证明“自身清白”,如可以使用版本控制工具Git、SVN等记录工作成果。如果公司侵犯自身合法权益,这些证据能起到关键作用。

当然,另一方面,程序员在日常开发中,也应该秉持诚信理念,认真履行自身工作职责,及时完成公司交给的工作任务,不要心存侥幸,如因重大过失或严重失职给公司造成损失的,不仅涉及赔偿公司损失的问题,严重的可能会招来“牢狱之灾”,比如因对公司不满,怒删代码,致使公司项目瘫痪,程序员因此被判刑锒铛入狱的案例,并不鲜见。

【案情简介】

一、【事情起因】A入职B公司任高级软件工程师,后B公司发现A编写的源代码存在严重bug,给B公司造成重大损失。B 公司认为A作为高级软件工程师,随意更改应用逻辑未告知项目组其他人员以及测试人员,导致测试人员只是做一般功能性测试而无法对应用逻辑变更事项进行针对性测试。因此,涉案软件虽经两次测试未发现异常,完全是A本人的责任,而不是测试人员的责任。且测试人员将发现的异常告知A后,A每次都会给出避重就轻的解释,也从未向测试人员和公司说明其已更改了应用逻辑。因此B公司将A开除。A到劳动仲裁申请仲裁,仲裁认定B公司不构成违法解除,A不服仲裁将B公司起诉到法院。

A答辩称:没有办法提前预判B公司有测试错误的功能,故而没有办法给出清晰的测试指令,其也不清楚如果不给出具体的测试指令后继会进行常规性测试,其也并不了解如果不给出指令后继将如何测试。因此,软件没有开发成功原因在于检测环节。检测失败之后,B公司也没有给其任何机会修改,其实修改并不难,即说清楚需求、重新实现即可。

一审法院判决【B公司构成违法解除,应向A支付经济补偿金】

一审法院认为:B公司解除与A之间的劳动合同关系是违法解除,理由:

  1. A的工作岗位为软件工程师,所从事的工作内容为具有创新性的软件开发设计,工作成果本身具有相当大的不确定性,况且A所开发的程序已通过B公司研发部门的内部检测以及小批次客户的现场测试,均未发现异常,B公司也未要求A参与小批次客户的现场测试,亦未向A本人反馈过前述检测结果和存在的问题。虽然B公司后续将A所开发程序进行正式应用并投产批量生产时,发现在极端情况下的临界点时会出现异常并认定软件开发失败,但是B公司并未举证证明系A违反公司程序设计开发规范或操作流程所导致。

  2. 解除劳动合同对于劳动者来说是最严厉的处罚,故用人单位在做出该决定前,应当尽到必要的谨慎义务。从双方的邮件往来内容和谈话内容看,虽然A承认自己对软件的开发逻辑尚未吃透且未考虑到特殊应用场景,但是就A在B公司履行工作职责而言,仅表现为在软件开发设计方面因工作能力不足而存有疏忽,根据劳动合同法第四十条第二项“劳动者不能胜任工作,经过培训或者调整工作岗位,仍不能胜任工作的,用人单位提前三十日以书面形式通知劳动者本人或者额外支付劳动者一个月工资后,可以解除劳动合同”之规定,B公司也应先给予培训或调整工作岗位,然后根据其能否胜任工作的情况决定是否解除劳动合同关系。而B公司在发现A工作能力不符合公司期待时,并未对A进行培训,也未调整工作岗位,而是选择直接解除与A之间的劳动合同关系,显然未尽到自身应有义务。

  3. B公司以“A在工作中过于自信没有责任心,造成项目失败,给公司造成重大损失”为由解除与A的劳动合同关系,依据不足,应认定为违法解除,B公司应当向A支付违法解除劳动合同赔偿金。综上,一审法院判决:B公司向A支付违法解除赔偿金。

二审法院判决【撤销一审判决,驳回A的诉讼请求】

B公司不服提起上诉,在二审中为进一步证明A在软件开发中存在重大失职,B公司申请证人测试部经理xx以及项目经理xxx到庭作证。二审法院认为:在涉案项目中,A系软件平移开发的直接负责人,B公司要求其对底层驱动逻辑进行更换,同时上层应用逻辑即功能与原来保持一致。但A在未全面了解原代码文档全部逻辑的情形下进行代码修改,改变了部分应用逻辑且未将修改情况告知项目组其他人员及测试人员,导致后道测试人员未能对软件开发进行针对性测试,未能及时发现软件编译错误,给B公司造成严重损失,A在软件开发过程中存在较为严重的失误。另外由于软件开发失败,B公司为及时弥补,产生委外开发费用2.5万元以及产品召回费用、紧急购买电子元器件费用、返工费等十万余元,上述费用应当认为软件开发失败的额外损失,而非B公司运行的必要成本。综上,B公司依据《员工手册》解除与A的劳动合同,并无不当。二审法院判决:撤销一审判决,驳回A的诉讼请求。

如果您是程序员有劳动争议问题,欢迎与我交流