程序员偷偷自动化,每周才工作几小时却拿全薪,这样道德么?

程序员们在 StackExchange 上有激烈的讨论,如果偷偷把自己的工作自动化,是不是不道德?

程序员偷偷自动化,每周才工作几小时却拿全薪,这样道德么?

这次讨论的源于 Etherable 于 6 月 27 日在 StackExchange 上发的一个帖子,翻译如下:

我目前在给一家公司的遗留系统工作。这个系统真的是很老了,尽管我的角色是程序员,但我大部分工作却是美化数据。总结一下,我有一堆需求,实际上是每月电子表格中的大量数据,我必须把系统配置好,保证运行。这工作基本是就是编写一大堆的 SQL 脚本。不过这并不是一份很简单的活,因为最初开发这个系统的人写反了。实际上,创建电子表单的分析师要花很多时间来验证我的工作。原因是我这活太繁杂,易出错。正如你猜到的,这活非常枯燥。然而,这份全职工作薪水可观,并且允许远程,我还可以陪儿子。这份工作我做到大概 18 个月的时候,我基本摸清了所有套路,然后我编写了一个自动化程序,并且我过去 6 个月的活,都是交给它了。所以,过去要 1 人做 1 个月的事,现在可能 10 分钟就可以了。现在的问题是,我是否应该告诉公司?如果我告诉他们了,他们或许采纳自动化程序,然后不要我了。这并不像是一个有着大量 IT 工作的公司,他们是有一个遗留系统,一直来保存所有的客户数据,他们只是需要有人来维护这个系列。同时,我也觉得自己做的不对。我的意思是,现在只要我拿到了(公司下发的)规范(specs),然后大约每周运行一次自动化程序。再上报我做完了一部分工作,让他们测试验证。我甚至插入了一些 Bug,这样看起来更像是人做出来的。虽然有时候规范需要修改,加上邮件来回沟通的时间,我每周的实际工作时间约 1-2 小时,但我拿的却是全薪。虽然我真的很享受多出来的自由时间,但如果这样不打招呼,继续这样偷偷地做下去,是不是不道德? 这不比我在欺骗公司。公司从来没有表示他们对我的表现不满意,事实上,他们从雇用我中得到了他们想要的。

这位程序员(Etherable)说,他写了一些脚本,悄悄把原本一周的工作用不到两个小时就做完了,他开始感到有些愧疚了。

公司雇他做的工作都完成了,但是由于是远程工作,也没告诉他老板脚本的事,因此他基本上整天都在陪儿子。他担心公司发现这些脚本然后解雇他,并非是出于道德原因,而是公司有了脚本以后就不再需要他了。

欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 854393687

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

他写道:

“不告诉我老板自动化工作的事,不道德吗?……你能想象,这大概是世界上最无聊的工作了。但是这也是一份薪水颇丰的全职工作,而且我可以远程工作,在家里陪我的儿子。所以我已经做了 18 个月了,在这期间,我差不多发现了所有的套路,在过去的六个月里写了一个程序来帮我完成全部工作。以前别人需要用一个月的时间来清理电子表格,用这个程序大概十分钟就能完成。现在的问题是,我要不要告诉他们?如果我说了,他们大概会拿走我的程序然后解雇我。”

还有一件事是:这位程序员也坦白,他会通过故意加一些错误来掩盖自动化的痕迹,“让它看起来像是人工完成的。”

SE 的讨论帖,被人发在了 Hacker News 上,同样引起了激烈的讨论。

有趣的是,在参与评论的这几十个程序员中,人们分成了两大阵营:该行为道德和不道德

你这不道德

Stack Overflow 上的人普遍倾向于这种情况不道德。一个叫 Magisch 的用户甚至说这位程序员在“诈骗你的老板”。

Joe Strazzere 很好地总结了这一派的观点:

  • 你用每周 1-2 个小时在家里工作(陪儿子),但是却拿着 40 个小时的工资;
  • 你 6 个月前写的这个程序,但是到现在都没告知你的老板;
  • 几乎每周你都在对你的工作成果撒谎;
  • 你故意在程序里插入错误来挽救你的骗局;
  • 你还要让创建表格的分析师花费相当多的时间来检查你的工作;
  • 你承认“感觉自己做了错事”;
即使答案在我看来已经很明显了,但是你个人的道德标准让你得出了这样并没什么问题的结论。尽管我怀疑你知道真相……”

另一个程序员 SSight3 承认他曾经也自动化做过类似的工作,但是他说自己不属于不道德的原因是,他告诉了他的老板:

“我的情况是,我本来是要做半年的无脑输入数据的工作,但是我自动化了这个过程并且把方法公开给了我的老板。我现在被分配到一个更适合我的天赋和能力的部门。”

他说这个自动化的工作最终使他免于部门的后期裁员。

大多数站在认为此行为不道德的阵营的人坚信,即使他不能承认已经用这个脚本多久,以及他的工作时间有多短,他仍有义务告诉他的老板关于脚本的事。

错误的动机

但是 Hacker News 的朋友们提出了另一种观点。

很多人认为,只要公司拿到了他们花钱想要的结果,那这个人用多少时间去完成都无所谓。尽管这个阵营的人也同意,故意制造一些 bug 确实是错的。

其中一个人写道:“我不认为这里有什么道德问题,只有交易关系——支付工资,创造价值。如果公司用另一种方法能花更少的钱达到目的,它就会采用这种方法并解雇员工。这种事可以避免吗?这位员工正在为公司创造价值,他正在守护自己(和公司)讨价还价的底线,毕竟公司一直都在剥削员工。”

另一位程序员表示他在做网页的时候也有相似的境遇,而且受到了负面的影响:

“他们想按小时付费给我,但是我协商要按页数付费。当然了,我是自动化完成工作的。但出乎我意料的是,即使他们花同样的钱得到了同样的结果,我们也明确地达成协议不按时间付费,而是按产量付费,他们还是很讨厌我写程序自动化工作。”

有人指出,在整个 IT 行业,自动化不是特例,而是规则。拿系统管理这个工作来说,这项工作是确保 IT 系统不出故障。“我知道很多系统管理员自动化完成大多数工作,他们自己只是做一些监控和维护,他们很棒,没人因为这件事儿指责他们,事实上,这是很好的实践。”

另一个人表示同意。“作为一个系统管理员,我工作的 90% 都是自动化完成的。如果出了问题,我会一周七天 24 小时随叫随到,但是工作中的其他时间,我可以做做杂事,看看电影,玩玩游戏。我所知道的每个系统管理员,几乎都是这样的。”

一个人说他整个职业生涯中都是自动化工作的,从没隐瞒过:

“五年前,我在一家大公司做着一份入门级的夜班。那六个月里,我几乎用脚本完成了所有工作,大部分时间都在看 Netflix,我也没花什么心思去隐瞒我没事做这件事。为此公司奖励我一次升职,然后我做了同样的事(自动化工作)并且又升职了两次。我现在的产出是从前的两倍多,我的职责是告诉别人如何自动化工作。”

一位程序员完美总结了 Hacker News 上的观点:

“他(发帖求助的程序员 Etherable)唯一的错误就是,没能充分利用他的才能和潜在的生产力。对此最好的解决办法,就是找一份更好的工作。”

技术人员对自动化工作并不陌生。2015 年,曾经有过这样一个程序员,他离开公司后才被发现自动化到了这样的程度:甚至连用咖啡机煮一杯拿铁都要自动化。

有趣的是,编程对于需要长时间且难以忍受的工作来说是小有名气的。许多技术人员都这样工作。

但显然也出现了这样的亚文化:一些人在做相反的事情,创造一些没有他们就进行不下去的工作。

欢迎工作一到五年的Java工程师朋友们加入Java程序员开发: 854393687

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

相关推荐