A. 京东29岁程序员离职当天“删库跑路”获刑10个月
都说IT从业者的压力大,大部分工作也枯燥,为何还是有很多人前仆后继共秃头?京东29岁程序员离职当天,删库跑路,这是又疯了一个?程序员删库跑路,删库一时爽,后果很严重!
码农们的压力其实也没那么大,无非是加班久一点,长得老一点,头发秃一点,但是扛不住给的钱多啊。有钱不香吗?有钱,再累也能受得了,再苦也能继续干!但是,活干了,钱给不到位,用了人不认账,甩手开除人,这事就有的说了。
一名29岁的程序员未经公司许可,在离职当天,私自将公司即将上线的京东到家平台系统代码全部删除,被判处有期徒刑10个月。
该程序员于2021年3月入职上海某公司从事计算机系统研发工作,主要负责京东到家平台的代码研发工作。朝九晚九的生活,没日没夜地加班,三个月过去,最难熬的日子也算是熬过来了。就在程序员松了一口气的时候,接到 公司人事通知,说其试用期未合格。
公司劝退的意思很明显,就是让其识相点自行离职。一句轻飘飘的试用期不合格,仿佛判下死罪,该程序员不服气,一不做二不休,一气之下在离职当日, 擅自以本人账户登录代码控制平台,将其在职期间所写京东到家平台优惠券、预算系统以及补贴规则等代码删除。
这么一搞,彻底出大事了,几天后等公司准备上线运行系统时,才发现代码被人删除,只能将原定按期上线的项目紧急延后。不说活动延期的损失无法估计,就说公司为了保证系统正常运行,还花费3万元高价聘请第三方公司恢复数据库、组织员工重新书写代码。
2021年9月23日,该程序员被刑事拘留,后被依法逮捕。 案发后,程序员在家属帮助下赔偿公司人民币3.5万元,并取得了公司方的谅解。
【但法院认为】
在删库跑路这件事上,程序员们各有各的闹法。在国内,闹得最大的一次,当属2020年初,疫情期间微盟集团系统故障,旗下300万商户的线上业务全部停止,商铺后台的所有数据被清零,故障时间长达8天14个小时。原因就是数据库遭遇人为破坏,其公司内部一位IT运维人员,在酒后因生活不如意,无力偿还网贷等个人原因,为报复 社会 做出恶意删库的行为。
而在国外,今年年初,某知名开源库项目作者,主动恶意破坏了自己的项目,玻璃心暴力拒绝白嫖,不仅删库跑路,还注入了导致程序死循环的恶意代码,以致全球大量使用该项目的个人和企业都深受其害。
删库跑路的行为构成 【破坏计算机信息系统罪】 ,指的是出于主观故意性,违反国家规定,对计算机信息系统功能或计算机信息系统中存储、处理或者传输的数据和应用程序进行破坏,或者故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的行为。 因为操作疏忽大意或技术不成熟导致的过失,不构成本罪。
一般情况下,出于主观故意的破坏计算机信息系统,要么是想炫耀计算机才能,要么是想窃取机密,要么是想谋取利益,要么就是想泄愤报复,动机如何,不影响罪行成立。
违反国家规定,删除、修改、增加、干扰计算机信息系统功能或计算机信息系统中存储、处理、传输的数据和应用程序,或者是故意制作、传播计算机病毒等破坏性程序,影响计算机信息系统正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。
对于公司来说,表面上,程序员删库跑路带来的是经济损失,实质上,还有用户信任度和公司公信力的缺失,等事件发酵还会产生企业 社会 形象及评价的负面影响,总之,全是弊端。公司应当更加重视构建完善的管理制度及安全机制,做好备份恢复和权限管理,深入业务排查风险,减少用工纠纷,防患于未然。
不说别的,就说试用期考核不合格这事,公司一定要处理得当。能为公司写代码,但试用期不合格,这事听起来是有点怪怪的,如果给不出令人信服的理由,别说当事人难以接受,就是围观看热闹的网友也会加以指责。
以员工试用期间被证明不符合录用条件为由辞退员工,需要满足以下条件:
仅凭一句试用期不合格,让人卷铺盖走人,容易引发纠纷。员工与老板虽然是同一阵营,但同时也是对立面,难免会有矛盾,出现问题不及时依法合法解决,久而久之,矛盾累积,爆发冲突,稍有不慎,便可能出现违法犯罪行为产生恶劣的影响及严重的后果。
对于程序员来说,通过删除数据宣泄情绪是极其错误的行为,不仅要赔偿造成的公司损失,还要因触犯法律受到严惩,为一时的冲动担责真的不值得。删库跑路的行为代价过大,伤敌100自损10000,完全得不偿失。任何人做任何事,都要三思后行,不要头脑一热,不因一时气愤,不该只图痛快,等干出什么出格的事,造成不可逆的结果,为时已晚。
注:文中人名为化名,引用案件信息来自上海市杨浦区人民法院,案号为:(2022)沪0110刑初27号
B. 程序员辞职代码要报废么
不用报废。这部分代码仍然属于公司的专有财产,因此不能擅自使用或者转让。如程序员要使用这些代码,应当首先和公司进行沟通,并取得公司的许可。否则,程序员的行为将可能被视为侵犯知识产权等违法行为,需要承担相应的法律责任。同时,如果程序员离职时有使用这些代码的需求,应当通过正式的文书进行提交和备案,以确保不存在法律和谁使用的问题,避免因此给公司和个人带来不必要的损失。
C. 程序员日均写7行代码被开除,公司随后被判违法解除劳动合同,如何解读
程序员日均写7行代码最后被公司开除,公司随后被判违法解决劳动合同。在这个案件中可以发现相关的信息,这就是对职员的一种不公平待遇。程序员的工作是受到法律保护的,这种解决劳动合同的方法是违法的。
最后通过法院的裁定,公司是认为证明陈淑媛在试用期这段时间并不符合录用的条件,只是单方的与其解除了劳动合同,但并没有事实依据,也没有法律依据,这种合同属于违法解除劳动的合同。最终根据法院的判决,公司需要支付作为程序员的劳动,赔偿金有36000元,并且要支付,证明程序员在2021年1月份到12月份期间的工资达到13241.37元,法律维护了证明程序员的合法权益。
D. 敲了 10000 小时代码,我也没能成为一名高级程序员
【CSDN 编者按】 Malcolm Gladwell在《离群索居》( Outliers)一书中曾言 ,要真正掌握某件事情,需要10000小时的练习。 而本文作者Greg Bulmash拥有40多年的编程经验 ,写了10000个小时的代码,却没能成为一名高级程序员。 为何一万小时定律会失败呢?他分享了自己的一些看法 。 或许他的经验能够对你有所帮助,一起来看看吧。
原文链接:
本文由CSDN翻译,转载需注明来源出处。
译者 | 章雨铭 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
Malcolm Gladwell在《离群索居》( Outliers )一书中说,要真正掌握某件事情,需要10000小时的练习。其实,10000只是一个粗略的数字,而且这句话的含义也被过度简化了。我已经断断续续进行了40多年的编程。可能已经写了10000个小时的代码,但我甚至还未能成为一个优秀的程序员,更别提成为大师级的程序员了。
我认为有以下几个原因。首先,在这10000小时中,我主要学习了4种不同的编程语言,以及其他一些辅助语言。我从一种语言换到另一种语言时,发现它们有的概念可以互通,有的完全不同。而有趣的是,在这种语言中没有意义的概念可能用来构建它。
例如,JavaScript没有本地链接列表实现,但如果在V8 GitHub库的src目录下搜索 "链表",会发现有76个commit提到了它。即使它们在语言本身中没有用C的链接列表,但会在引擎下使用C的链接列表。
每种语言都有自己的语法和特殊的实现方式,这些是必须要学习的,而不仅仅只是学习其概念。一种语言的最佳实践方式对于另一种语言来说可能不是最好的。在编译语言上我从来没有花过很多时间,几乎总是使用解释型语言,如BASIC、PHP、JavaScript、Python。我学习过C#和Java,用Rust做过Hello World,但在Linux中从源码编译对我来说十分困难,所以我通常只是下载源码,按照教程中的指示操作,然后祈祷代码能够运行。
除了学习这些语言,我还学习了服务器技术和系统架构的基本概念,不是从编程的角度,而是从网络管理员或者说系统管理员的角度。而且无论是建立一个大型网站,在Flash中创建矢量图并将其渲染成位图,还是学习通过AWS解决方案架构师助理认证,我都已经做了很多次。但是很多东西我已经忘记了。我已经学会了这些语言的框架和库,如JavaScript的React和JQuery以及PHP的Laravel......然后也忘记了许多,因为我为完成一个项目学习了它们,然后就没有再使用它们。
即使写了10000小时的代码,也不意味着你能够轻易地在不同语言之间转换。当你真的进行转换的时候,你会发现10000小时没有那样神奇的魔力,因为另一个不可避免的原因:记忆衰退。正如我所说的,如果我停止使用一种语言,甚至只是停止使用它的一个功能一段时间,我就会像忘记 "高中西班牙语 "一样忘记它。我在高中时读完了西班牙语3级,在大学时考过了西班牙语4级,并获得了A。而现在,我可能只记得不到10%的内容。
例如,我几乎完全忘记了怎样使用常规动词连接过去式,更不用说不规则动词了。但是因为我以前练习的足够多,我知道自己的不足之处,所以我可能比刚开始学习的人更快地恢复以前的知识。但可能需要几个月的强化练习才能全部恢复。
十年前,我精通PHP,在一个定制的MVC框架中工作(由其他人创建),使用Doxygen来映射类的继承层次,并使用JQuery来构建前端的交互性。但我在7年前没用过PHP了,转而使用Node。现在,我需要花5分钟并且改正了一些语法错误,才在刚才提到的PHP副本中正确地写出一个Hello World。
去年12月时,我为freeCodeCamp的前端库认证建立了五个React项目,但在那之后,我就没有再编码React项目了。过去了两个月,当我开始准备面试的时候,我觉得我就像是React新手。如果我看到自己写的代码,能够很快理解。但是因为很多东西都只是我准备的辅助工具,很多我都忘光了,所以我需要回到文档中去开始一个新的React项目再开始工作。和新手相比,我只是走得更快。
这就是新手和已经入门了的区别。一万个小时可以让你成为一个小提琴大师。但是如果你每隔500小时就换一次乐器,并想要成为整个交响乐团的主角,那你不一定能够更胜一筹。所以为了强化和拓展你的技能,练习不仅要广泛,而且要持续。
10000小时是什么样的概念?是5年每周工作40小时,两年休息1周(假期、病假和休假都在这2周内)。你会发现有的工作招聘时要求在一个3年的框架内有5年的经验。5年似乎是成为专家所需的标准时间。因为对框架的无知和这种简化的标准,就会产生逻辑上的矛盾,一言以蔽之。
一个专业的开发人员,有多少的工作时间是花在电子邮件和会议上的?又有多少时间在真正编码和思考编码问题?当我在微软写文档的时候,我的经理说,不管怎么算,你一天中大概只有一半的时间花在实际的生产工作上。其余的时间会花在一些琐事上,比如回复电子邮件、开会、进度/状态报告、在IM上回答随机问题或者和别人闲聊......
所以我只有20%的时间是在写代码,因为其他80%的时间是在写文档和教程,这意味着我平均每天只写了一个小时的代码。在使用浏览器中的开发工具进行调试方面,我曾经是个天才,因为我在这方面经验丰富,还经常为新版本进行更新。但是,虽然当时所有的开发控制台的快捷键,我都烂熟于心,但在我离开微软的7年后,我基本上已经把它们忘得一干二净了。
事实上,自从我进入开发人员关系部后,我每天花了10-20%的时间写代码,其余的时间写教程,为会议讲座和网络研讨会制作文件,制定建立和培养开发人员社区的战略,制定展示新功能的最佳方法,以及处理各种人——产品经理、内部工程师、外部开发人员、产品营销经理、需求生成和社交媒体经理、律师、公关和公司政策执行者的问题。
最后要记住的是,你不会花整整一万个小时学习新东西。如果你在学习小提琴,你可能会花上几百个小时来学习一些初级的作品。在你学习新东西之前,你已经掌握了一些初级的东西,并且在反复练习直至完美的过程中,
学到很多,并且将你学到的这些用于学习新事物。所以这一万个小时中的大部分时间都是强化的。
在编程中,这就像多次编写相同的To Do单页应用程序。前几次你可以参考教程,但最终你必须能够在没有任何参考的情况下写出它。这就像一边看着乐谱一边慢慢演奏《欢乐颂》,然后记住如何演奏,然后准备在演奏会上演奏。
但是,当你需要在截止日期前交付一个项目时,你有多长时间来进行强化练习?在许多公司,不会给你提供扩展技能和强化编码的时间,需要你利用额外的时间来完成。一些公司会给你10%的时间或20%的时间来做独立的项目,但很少有公司希望你把这些时间花在单纯的练习上。
新的框架、新的最佳实践方法、新的语言、新的模式产生的速度不断加快,在这种情况下,仅仅是在新的方面取得合格的成绩,都会像和职业选手一样演奏《欢乐颂》的困难。
你需要平衡强化和 探索 的时间,特别是当你每天编码的时间少于50%的时候。你必须不断地通过练习来进行强化,建立心理肌肉记忆,直到你能在睡梦中解决它们。小提琴几百年来都没有实质性的变化,但编程却在不断变化。成为一个特定语言的大师级程序员意味着要坚持更长的时间。你不得不在非工作时间进行强化练习,完成任务,努力成为一个优秀的程序员,或者跳槽到另一个能够给你充足时间练习的公司。
哪怕你5年或者10年后都没有成为大师级的程序员,也没有关系,因为好好地做一万个小时比看起来更难完成。
E. 程序员被辞退后写代码给自己转账,其行为在法律上会被如何定性
离开公司后,程序员仍然掌握原公司的账户信息,利用自己的技术专长窃取公司资金。被告人马某被浙江省杭州市临平区人民检察院依法提起公诉,被判处有期徒刑四年二个月,并处罚金。如果用人单位口头上说要辞退你,你可以按时上班,也可以在收到正式书面通知(加盖公章)之前,要求用人单位给你书面通知。
处三年以下有期徒刑、拘役或者管制,并处或者单处罚金。(2)个人盗窃公私财物数额巨大,从3万元至10万元不等。处三年以上十年以下有期徒刑,并处罚金。(3)个人盗窃公私财物“极其巨大”,从30万元到50万元不等。处十年以上有期徒刑或者无期徒刑,并处罚金或者没收财产。从具体情况来看,比如盗窃数额较大,法定最高刑为三年有期徒刑,那么追诉时效为五年,而数额特别大或者有其他特别严重情节的,法定最高刑为无期徒刑,那么追诉时效为二十年。