代码写得少又烂,离职少不了?
程序员每天写 7 行代码被开除
“代码写得少,离职少不了”。近期,一则有关程序员代码量的案件引起关注。
据中国裁判文书网显示,李某某与中科尚易健康科技(北京)有限公司产生了劳动争议。
判决书显示,李某某,男,1979 年 1 月 9 日出生,于 2020 年 11 月 2 日入职中科尚易公司,岗位为机器视觉算法工程师,双方签订了劳动合同,期限为 2020 年 11 月 2 日至 2023 年 11 月 1 日,试用期为三个月,试用期工资为 36000 元/月。李某某离职前月平均工资为 36000 元。
2021 年 1 月 12 日,中科尚易公司以李某某与其岗位不匹配、试用期不合格为由,明确告知李某某公司单方解除劳动合同的决定,并向李某某出示了《解除劳动合同通知书》。
2021 年 1 月 15 日,李某某到开发区劳仲委申请劳动仲裁,要求:
1.中科尚易公司支付李某某 2020 年 11 月 2 日至 2021 年 1 月 12 日期间 5 天休息日加班工资 16551.72 元;
2.中科尚易公司支付李某某 2021 年 1 月 1 日至 12 日期间工资 13241.37 元;
3.中科尚易公司支付李某某违法解除劳动合同赔偿金 36000 元。
庭审中,中科尚易公司提交《新员工评价表》《李某某试用期工作量及工作质量评估》《人事管理制度》予以证明。
《新员工评价表》显示:被评价员工为李某某,评价日期为 2021 年 1 月 11 日,评价项目分为五大项目,包括:知识技能(本岗位相关)、职业素养、业绩表现、团队合作、沟通理解,每个大项目下分为 3 至 5 个小项,每个小项均分为四个评分等级,公司给李某某的评分极大部分为最低分,得出的综合评价意见为:
李某某试用期被证明不符合录用条件,具体体现在:
1.编程语言能力不足,两个多月唯一编写的机械臂控制代码质量极差,最后由其他同事代为重写;
2.试用期间提交的算法代码量很少,可交接的代码极少;
3.模型训练经验不足,对采集样本的影响因素分析不到位,总纠结于“开关灯”等不重要方面;对扩充样本也是过分着力在“裁剪”等不重要的细节上,造成很多反复浪费;
4.不服从小组工作安排,讲条件、推责任;
5.反复越级投诉,严重影响同事协作氛围;
6.个人工作不达标,延迟公司整体项目产品开发计划。
双方签订的《劳动合同书》中约定李某某任职研发部机器视觉算法工程师职务,其具体工作内容为:
1.参与医疗机器人项目的研发工作;
2.负责人体 3D 点云数据的实时运动跟踪编程及 3D 点云处理算法研究、选择和优化;
3.负责基于深度学习的人体姿态识别相关算法的研发与优化;
4.负责多个摄像头联合识别算法的研发;
5.负责基于深度学习的样本制作与训练;
6.负责将算法相关代码写成规范的软件并文档化;
7.参与产品项目的集成、调试、测试、验证等相关工作;
8.领导交办的其他工作。
《李某某试用期工作量及工作质量评估》显示:基于李某某上述岗位职责的要求,对试用期员工李某某的工作量及工作质量评估如下(综合评估见试用期员工评估表):
一般工程师每天完成的代码量是 100-200 行,李某某作为公司聘用的富有经验的软件算法工程师,起码应该达到中位水平,即 150 行/天,2020 年 11 月 2 日至 2021 年 1 月 11 日期间李某某完成 3D 点云处理算法 0 行;深度学习识别算法总计 422 行(其中包含 70 行因质量太差废弃不用的代码);多摄像头联合识别算法 0 行;样本制作合计参与拍照时间约 2 天;样本训练参与工作量折合月 7 天;软件文档 0 个;集成、调试、测试、验证相关工作约 3 天。
也就是说,李某某在职 72 天,只完成了 422 行代码的编写,除去参与样本训练、集成、调试等相关工作占用的 9 天时间,在剩下的 63 天里,平均每天只写 7 行代码。
李某某对《新员工评价表》及《李某某试用期工作量及工作质量评估》的真实性均不认可,称其在职期间未见过该表,对评估结果不认可,工作质量评估的内容也未告知过其本人,不认可公司的解除理由。李某某对上述证据的真实性及证明目的不予认可。
关于是否违法解除劳动合同的问题,结合相关证据以及庭审笔录,一审法院认定中科尚易公司于 2021 年 1 月 12 日单方与李某某解除劳动合同,且不再为李某某提供办公设备,双方劳动合同于当日解除,解除理由为李某某试用期考核不合格、其与工作岗位不匹配。对于中科尚易公司关于以李某某存在 1 月 13 日至 17 日持续旷工、严重违反公司规定之情形与其解除劳动合同以及双方于 2021 年 1 月 17 日解除劳动合同的主张,无事实依据,一审法院不予支持。
因用人单位作出的开除、除名、辞退、解除劳动合同、减少劳动报酬、计算劳动者工作年限等决定而发生的劳动争议,用人单位负举证责任。
本案中,结合《劳动合同》,双方并未明确约定李某某试用期具体的考核标准,中科尚易公司在招聘时也未明确向李某某告知过试用期间的工作量及工作完成质量应达到的具体标准,故一审法院认定中科尚易公司对李某某并未设定具体的试用期录用标准。中科尚易公司提供的《新员工评价表》及《李某某试用期工作量及工作质量评估》均为公司单方制作,并未提交相关证据证明评定表、评估打分结果的具体依据,且表中评价意见未经李某某本人确认,属于主观评定,故一审法院对《新员工评价表》及《李某某试用期工作量及工作质量评估》评测内容不予采信。
中科尚易公司亦未提交其他证据证明李某某存在其他法定解除事由之情形,中科尚易公司以李某某试用期不符合录用条件为由与其单方解除劳动合同,无事实及法律依据,系违法解除劳动合同。李某某离职前月平均工资为 36000 元,且其在中科尚易公司工作年限不满六个月,经计算,中科尚易公司需支付李某某违法解除劳动合同赔偿金 36000 元。关于中科尚易公司主张无需支付李某某违法解除劳动合同赔偿金的主张,一审法院不予支持。
2021 年 2 月 24 日,一审判决:一、中科尚易公司支付李某某违法解除劳动合同赔偿金 36000 元;二、中科尚易公司支付李某某 2021 年 1 月 1 日至 12 日期间工资 13241.37 元;三、驳回李某某其他申请请求。
上诉人中科尚易公司不服判决提起上诉,上诉请求:撤销一审判决第一项,改判中科尚易公司无需支付李某某违法解除劳动合同赔偿金 36000 元。
最终,二审判决,中科尚易公司的上诉请求不能成立,应予驳回;一审判决认定事实清楚,适用法律正确,应予维持。最终判决:驳回上诉,维持原判。
程序员一天写多少代码算合格?
在这个案件中,双方劳动争议的焦点在于,用人单位认为李某某在任职期间的工作表现其岗位不匹配、不合格。主要表现在代码量极少、代码质量差,编程能力差等方面,此外李某某本人还存在工作态度、价值观上的问题。李某某的综合表现导致其公司作出了与其解除劳动关系的决定。
由该案件也可以看出,对于程序员来说,代码量和代码质量非常重要。在业界也常常有关于
“程序员一天写多少代码才算合格?”这样的讨论。
此前,在 Quora 上有这样一个问题 —— Google 的工程师们每天写多少行代码?对此,Google 的 AdMob 全栈工程师评论称,“我的同事最近和我分享了一组调查研究数据,一名高效的工程师每天能写 100-150 行代码,我嘲笑了他,表示这项预估值绝对要比实际值低”。
Raymond Farias 为了证明上述估计值的错误,决定以他在谷歌工作效率最高的一个月为例,并使用了 Google 的一个内部工具来查看每天的代码增量,包括增删改查的代码行数。最后他将一个月的数据汇总然后平均到工作日得出最后结论是 150,随后对他的其他同事进行了检测,最后得出的数据基本一致。
有一些数据显示,在国内公司,一些熟练程序员正常的生产率为每天 100 行代码左右。当然,这也因人而异。
事实上,代码量与“合格”、“优秀”这样的关键词没有直接的因果关系。我们不应当用代码量来评价一个程序员的好坏。就好比,一个作家并不能因为写作字数多而获得诺贝尔文学奖。
要想让代码量增多很简单,有很多方法可以实现。但这样多出来的代码有多少是真正有效的代码呢?本来 10 行代码可以实现的功能,非得用 100 行去实现,有什么意义呢?真正理想的代码应当是又好、又快、又精简的。
对于应届生以及初入职场的程序员来说,要求代码量无可厚非,因为,代码量在一定程度上是编程基础和熟练程度的体现。而对于有一定工作年限的程序员来说,再以代码量作为硬性指标和考核标准则显得有些机械,最核心关注的指标应该是代码质量,而非代码行数。
但是,编码是程序员的本职工作,如果代码量极少且质量又差,这显然是不负责任的。一个优秀的程序员不一定每时每刻都在编码,但应当以具备独立、深入思考,高效代码等能力时刻要求自己。
参考链接:
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论 1 条评论