【案例导读】
A入职B公司任游戏业务技术总监,负责开发新游戏系统。后B公司认为A开发太慢,导致游戏延期6个月才上线,而且在上线的40天内出现严重故障,导致玩家流失,因而将A开除。A起诉到仲裁,B公司起诉到法院,要求A赔偿给其造成的损失近380万元。B公司开除A的行为是否构成违法解除?A是否应该就其行为向B公司赔偿损失?以下案例给出了答案。
【争议阶段】
程序员入职后“开发进度太慢且bug众多”,公司认为存在重大过失,将其开除
【案情简介】
**一、【事情起因】**A入职B公司任游戏业务技术总监,负责开发游戏系统。B公司称A在向B公司总经理汇报工作时提出工作规划,预计1月份能完成开发,但迟至7月份才交付,已严重延期,而且交付后的新游戏系统,存在42天的严重故障期,导致游戏玩家流失,给B公司造成重大损失。后B公司以A给其造成损失、工作态度不好、不服从工作安排,与A解除劳动关系。A到劳动仲裁申请仲裁,B公司到法院起诉A,要求其赔偿损失。劳动仲裁认定B公司构成违法解除,应支付A经济补偿金,B公司起诉到法院,法院判决基本同仲裁结果。以下重点分析B公司起诉A赔偿损失(直接损失379.1万元,要求赔偿90万元)案件。
**A答辩称:**其已经按照研发计划完成了绝大部分工作内容,并向B公司进行了汇报。虽然当时的选城市、代理平台互通和客户端的热更工作没有按计划完成,但B公司当时认可选城市功能先不用做,后续也一直没有要求再做这个功能;代理平台的互通功能需要其他同事对接,B公司拖了一个多月才安排人员对接,而这个工作需要一个多月的时间;客户端的热更是其他程序员的工作;B公司还提出了增加游戏大厅的功能,至少需要一个月的时间;在开发的近半年时间内,A还按照B公司的要求,几乎每天都在对新系统进行测试,修改测试时发现的问题,这些问题均在合理范围内。
**B公司不认可A的说法:**选城市的功能A没有完成,B公司才说暂缓;代理平台的互通功能本身就是已经写好的内容,等A写完代码就可以接入,一两天就可以完成;客户端的热更功能是A手下需要完成的工作,但A负有督促完成的义务;B公司仅提出了增加游戏大厅的功能,但该功能只是一个简单的功能,两天就能完成。
B公司还主张A负责研发的新游戏系统存在多线层还是单线层结构选择错误问题,逻辑判断错误问题,系统崩溃隐患等问题。并认为A具有14年开发经历,是游戏开发领域资深工程师,有能力预见和避免事故的发生,却因疏忽或过于自信造成了重大障碍。
二、【一审判决】一审法院认为:《中华人民共和国劳动合同法》第九十条规定,劳动者违反本法规定解除劳动合同,或者违反劳动合同中约定的保密义务或者竞业限制,给用人单位造成损失的,应当承担赔偿责任。
在劳动关系中,用人单位提供生产资料和劳动条件,享有劳动成果,对劳动者提供的劳动有管理职权,劳动者的工作能力不能胜任工作时,用人单位有权对劳动者进行培训或者调整工作岗位,经培训或者调整工作岗位后仍然不能胜任工作的,用人单位有权解除劳动合同。因此,劳动者在履行劳动合同过程中因工作能力不足给用人单位造成损失,在一定程度和范围内属于用人单位应当承担的经营风险,而且,劳动合同法对用人单位如何避免该类经营风险扩大规定了权利救济途径。因此,法院认为,劳动者在履行劳动合同过程中非因故意或者重大过失给用人单位造成经济损失的,不承担赔偿责任。
具体到本案中,双方关于A负责研发的新游戏系统是否存在工期延误、B公司要求增加的新功能的合理工期、结构选择和逻辑判断是否存在错误、游戏系统是否存在严重质量问题等的争论,均是技术层面的问题,缺乏权威专业的第三方机构的评估鉴定。而且,双方之间系劳动合同关系,并非平等主体之间的合同关系,劳动者非因故意或者重大过失对其工作成果不负瑕疵和质量担保责任。故法院认为,根据B公司、A现在的举证情况,尚不足以认定A在工作中存在故意或者重大过失导致B公司重大经济损失的情况,因此一审法院对B公司据此提出的赔偿请求不予支持。综上,一审法院判决:驳回B公司的诉讼请求。
三、【二审判决】二审法院认为: B公司虽主张A的失职行为造成其损失,但未提交充分证据证明A主观上存在故意或者重大过失的证据,B公司所主张的情形亦不属于劳动合同法规定劳动者向用人单位承担赔偿责任的情形,B公司该上诉主张,缺乏事实及法律依据,二审法院判决:驳回B公司上诉请求,维持一审判决。
**四、【再审裁定】**B公司不服二审判决,提起再审,主张:由于A重大过失,把一个营利性企业直接变成了濒临倒闭的企业,后果极其严重;A作为技术总监,工作多次失误,毫无愧疚之心,拿走近50万工资不说,还到劳动仲裁部门仲裁,导致企业又赔了45 000元解除合同经济补偿金。
**再审法院认为:**B公司主张A在履行职务过程中存在严重失职行为,直接导致B公司损失379.1万元,应承担90万元的赔偿责任。但B公司未提交充分证据证明A主观上存在故意或者重大过失的证据,其所主张的情形亦不属于劳动合同法规定劳动者向用人单位承担赔偿责任的情形,故B公司的该项主张,缺乏事实及法律依据,一、二审法院对其主张未予采纳,并无不当。再审法院裁定驳回B公司的再审申请。
【实务操作启示】
由以上案例分析,笔者尝试归纳如下启示要点,供软件开发企业以及程序员在涉及此类劳动争议的实践操作中,作为参考:
1. 从软件开发企业角度,应该对软件研发制定规范流程,对技术人员工作成果详细记录并定期考核评估。对于软件开发项目,从项目立项到规划设计,再到开发实现、交付验收、运营维护,企业都应该制定规范流程,客观记录员工工作产出情况,并对员工工作业绩定期进行考核评估,对于考核后员工工作能力不能胜任工作时,企业应及时对该员工进行培训或者调整工作岗位,经培训或者调整工作岗位后仍然不能胜任工作的,企业应及时解除劳动合同,避免损失扩大。同时避免对个人及部分技术团队的过分依赖,防止出现上述案例中的情况,由于可能的个人失误,影响整个项目的进展。
对于工作成果认定存在争议的,企业应及时留存证据,在适当时刻可以对技术成果委托鉴定机构进行鉴定。在上述案例中,法院之所以认为B公司主张不成立,就是因为涉案技术工作认定存在复杂性,缺乏权威专业的第三方机构的评估鉴定。如果B公司主张确实成立,其应该委托鉴定机构对A工作是否构成重大失误进行鉴定,因为鉴定机构会从普通技术人员角度(或与A能力背景相匹配的技术人员角度),去认定开发工作是否存在延误,是否存在根本性失误等,不仅是否失误可以鉴定,给B公司造成的损失,也可以由鉴定机构或者价值评估公司出具报告,鉴定报告作为证据提交,将能在很大程度上改变法官的自由心证,因为对于技术问题,公说公有理婆说婆有理,但法院可以信赖第三方中立机构——鉴定机构的意见。
当然,程序员在履行劳动合同过程中因工作能力不足给软件企业造成损失,在一定程度和范围内属于软件企业应当承担的经营风险,软件企业不应将经营管理失败或者运营风险,转嫁给程序员,让程序员成为“背锅侠”,这也不属于一个诚信经营企业的正常操作。
**2.从程序员角度,对自身工作成果及时留存,同时秉持诚信理念,认真履行自身工作职责。**程序员对于自身工作成果,及时进行留存,以备不时之需,当然不是说留存源代码,甚至他人的编程成果,因为这些本质上都属于公司,程序员未经授权,不能随意复制、使用等,但对于自身工作成果,如向第三方代码管理平台提交工作结果的记录等及时留存,在出现劳动争议时,可以用来证明“自身清白”,如可以使用版本控制工具Git、SVN等记录工作成果。如果公司侵犯自身合法权益,这些证据能起到关键作用。
另外,程序员在日常开发中,应该秉持诚信理念,认真履行自身工作职责,及时完成公司交给的工作任务,不要心存侥幸,如因重大过失或严重失职给公司造成损失的,不仅涉及赔偿公司损失的问题,严重的可能会招来“牢狱之灾”,比如因对公司不满,怒删代码,致使公司项目瘫痪,程序员因此被判刑的案例,也不鲜见。
因此,无论对于软件开发企业还是程序员,均应秉持诚信的理念,各司其职,这样才能形成良好的用工环境。
【关联知识】
【劳动者在何种情况下,应该对公司的损失承担赔偿责任?】
《劳动合同法》第九十条规定:劳动者违反本法规定解除劳动合同,或者违反劳动合同中约定的保密义务或者竞业限制,给用人单位造成损失的,应当承担赔偿责任。
原劳动和社会保障部发布的《工资支付暂行规定》第十六条规定,因劳动者本人原因给用人单位造成经济损失的,用人单位可按照劳动合同的约定要求其赔偿经济损失。经济损失的赔偿,可从劳动者本人的工资中扣除。但每月扣除的部分不得超过劳动者当月工资的20%。若扣除后的剩余工资部分低于当地月最低工资标准,则按最低工资标准支付。
依据以上法律规定,劳动者只有在三种情形下给用人单位造成损失的,才承担赔偿责任:1. 劳动者违反本法规定解除劳动合同;2. 劳动者违反劳动合同中约定的保密义务或者竞业限制;3. 因劳动者本人原因给用人单位造成经济损失的。
【对于劳动仲裁不予受理的案件,当事人可向法院提起诉讼】
在上述案例中,B公司就A给其造成重大损失,要求A赔偿损失,首先向劳动仲裁提起仲裁,但劳动仲裁认为B公司请求事项不符合受理条件,故决定不予受理并出具不予受理通知书,后B公司向法院提起诉讼。
因此,不是所有的劳动争议事项,都必须先提起劳动仲裁,根据《劳动争议调解仲裁法》第二天规定:中华人民共和国境内的用人单位与劳动者发生的下列劳动争议,适用本法:
(一)因确认劳动关系发生的争议;
(二)因订立、履行、变更、解除和终止劳动合同发生的争议;
(三)因除名、辞退和辞职、离职发生的争议;
(四)因工作时间、休息休假、社会保险、福利、培训以及劳动保护发生的争议;
(五)因劳动报酬、工伤医疗费、经济补偿或者赔偿金等发生的争议;
(六)法律、法规规定的其他劳动争议。