很久之前,Reddit上出现了一则匿名的自白帖子:“ 大概六年前到现在,我在公司什么活都没干 。”
这个化名为FiletOFish1066的程序员称自己供职于一家知名的 科技 公司,实际上无所事事。
他写道,谋得这份质量保证工作的八个月后,他使自己的全部工作完全自动化。“我可不是开玩笑。每周40个小时,我去上班,在办公室玩《英雄联盟》,浏览Reddit,想干啥就干啥。 在过去这六年,正儿八经的工作我可能也就干了50个小时 。”
上司意识到他在六年内所做的工作比大多数硅谷程序员在一周内所做的工作还少后,就把他开除了。
这个故事在网上的技术圈子迅速传播开来,最终促使这位主人公不仅删除了帖子,还删除了整个帐户。
我发现歪果仁也跟中国人一样爱看热闹,不嫌事大!
大概一年后,一个自称是Etherable的用户向互联网上最重要的程序员论坛之一Stack Exchange上的Workplace版块发了一个问询帖:
“我没有告诉雇主我的工作已自动化,这是否不道德?”这位内心矛盾的程序员说,他接受了一份美其名曰是“数据录入”的编程活;六个月前,他编写了使整份工作自动化的脚本。此后,“ 上一个人过去常花一个月才能完成的工作现在只要10分钟就能完成。 ”这份工作是专职性质的,带来的好处是Etherable可以在家办公。
这个程序取得了近乎完美的效果。
后来这个帖子引起了分歧,评论铺天盖地。(现在浏览量将近50万人次。)意见分成两大派,一派觉得Etherable在欺骗雇主,至少在蒙蔽雇主;另一派认为这个程序员只是找到了一种巧妙的方法来完成手头的工作。Etherable从未回应随至而来的讨论。也许是被受到的关注程度(世界各地的媒体都在竞相报道此事)吓坏了,这个用户销声匿迹,只留下了那则帖子,关于谁可以使工作自动化、在什么样的条件下这么做的讨论越来越备受关注。
可以称之为自发自动化(self-automation)或自行自动化(auto-automation)。在大规模自动化这个幽灵困扰一线员工的那一刻,自行其事的程序员表明这个威胁到了程序员的手里,如何变成天赐之物,不管雇主是不是知情。由于FiletOFish1066和Etherable都匿名发布帖子,随后很快消失,因此两人都联系不上,无法请他们发表评论。但他册昌明们的故事表明,职场自动化会有多种形式,并由高管以外的人来主迅汪导。
生性乐观的经济学家和未来学家吹嘘, 自动化的好处在于,将工作交给机器有望消除无须动脑子的重复性工作 ,让人们可以一心扑在有趣又有创造性的工作上,或者更要紧的工作上。
砖家你确定现在程序员干的都是不动脑子的工作?
你还确定,时间多出来之后,
程序员会干有创造性的工作?!
几十年来程序员们一直在编写使工作自动化的代码。编程通常需要用到在不同的层面(从代码格式化到合并至不同的代码库)添加自动化的工具,大多数人根本没有走到使工作完全自动化或几乎完全自动化这个极端。
我通过Reddit和电子邮件的私聊信息与十来个声称有类似经历的程序员聊天。这些自发自动化人士处理过库存管理、报表编制、图形渲染、数据库管理和各种各样的数据输入。
有个人还使他妻子的全部工作自动化。大多数人要求匿名,以保全工作和声誉。
一位很早是自发自动化人士的名为Gary的程序员告诉我:“一开始,我的工作每天实际上要干8个小时。”他在一家大型企业连锁酒店工作,这家连锁酒店在90年代开始实现计算机化工作流程。Gary很快意识到在花大量时间重复同样的任务,于是他开始 下班后学习编程 。他说:“大概 花了三个月的时间,我用Lotus 1-2-3(当时一款很流行州告的PC电子表格软件)编写了一段代码,不仅使个别的重复性任务自动化,实际上还使整份工作自动化 。”他没有一五一十地告诉上司,其职场生活的质量大大提高了。
他告诉我:“一整天很空闲感觉怪怪的,于是我趁空了解酒店的其他系统。”后来他帮助管理层消除了那些系统中的瓶颈。自行自动化消除了琐碎的工作,减轻了他的压力,并让他可以扑在真正感兴趣的事情上。他说:“实际上,我将这份岗位变成了自己喜爱的岗位,即排查故障。”在离开公司前两周,他交给老板一张软盘,里面装有这个程序和解释如何运行的说明文档。Gary说,老板对他辞职颇为不安,直到他交出了软盘,介绍程序如何运行,并告诉老板万一有问题可以打电话给他,老板才放下心来。 后来电话没来过一个。
在大多数领域,一线员工对于他们的工作是否自动化,或者如何实时、何时实施自动化很少有任何正式的意见。自发自动化人士明白,自由化由势必从中收益的一线员工、而不是由自上而下的公司命令来安排自动化会什么样。一些人欣然享受多出来的闲暇时间,另一些人利用多出来的时间来学习新技能,应对新的编程挑战。
ps:你确定不是玩手机?
不过,许多自发自动化人士害怕与办公室外面的人分享代码。即使一个程序无可挑剔地完成了工作,许多人还是觉得为牟私利而搞的自动化是错误的。人力劳动本质上是善良的(以及员工应始终最大限度地为雇主提高生产力),这比任何自动化脚本更深深地融入到美国的职场文化中。而大多数雇用合同明文规定,工作时间开发的知识产权属于雇主。因此,员工可能所做的任何效率提升或自动化改进都往往归雇主所有。
一位程序员没有把他使其工作完全自动化的真相告诉公司,因为担心公司到时声称知识产权归公司,并拒绝补偿他。另一位只肯自称是Jordan的人告诉我,他曾无意中使整个部门的工作自动化。现在他用自动化脚本每年省下“好几周”的时间。Jordan表示,他和同事们保持缄默,绝不透露自动化技术,以便控制使用自动化技术的方式:“我们通常不对外透露这些工具。”
另一位程序员竭力向老板隐瞒使其年薪5万美元的工作完全自动化的概况。管理层可能通过网络查看其电脑屏幕上的内容, 于是他运行预先录制的视频,掩盖他实际上没在工作的事实。 Etherable在寻求建议的帖子中写道:“我觉得这么做不对。”
一些程序员表示,就因为使工作自动化,自己已被公司炒鱿鱼。2011年,一个名为AcceptableLosses的用户写道:“ 公司拿去了我开发的软件,派一个白痴顶替我,并立即以“不服从”为由解雇了我 。我开发了一款每年让这家公司获利100万美元的软件,对方却仅仅为了省下每年约3万美元的工资而开除了我。我真是自掘坟墓啊。”
正因为如此,自发自动化人士担心的倒不是道德问题,而是不想被雇主开除或盘剥,正如伍德科克特别指出的那样,雇主“不仅要求我们的所有时间归他,我们开发的所有东西也归他。”他推测,谨慎的自发自动化人士“不信任我们的工作场所。上司会说‘谢谢你,干得漂亮。现在再做一次。’”
很少有员工渴望完全自我自动化,但似乎越来越多的员工对于使用脚本来处理繁忙工作感兴趣。网络上有众多这方面的博文和实用文章,比如《我如何用Node JS使我的工作实现自动化?》,也有众多播客介绍每一种想象得到的自动化:小公司、营销和智能手机。这简直就是一个蓬勃发展的家庭手工业。
照目前情况来看,自发自动化大有助益。但随着自动化技术变得更广为人知,它们可能完全成为管理层期望员工拥有或学会的另一种技能,并最终让企业受益,并以另外某种方式使这些人成为有用的员工。
《哈佛商业评论》杂志写道:“员工将越来越需要使自己的工作自动化,否则就滚蛋。放眼全球,我们会看到更多自上而下的管理层命令,要求搞自下而上的自动化项目。”而老板及员工开发的机器人软件会再次品尝胜果。
在此之前,任何使用代码的人都可能应该考虑自发自动化带来的好处。可以以此来测试自动化如何为普通员工带来更高的生活质量,尽管谈不上完美。伍德科克告诉我:“问题在于自动化要有效,自动化要民主化。不是公司企业在提供自动化,这向前迈出了一步。它仍然不是民主化过程。”自发自动化人士在单独行动,决定何时、如何把自己的工作换成代码。而理想情况下,自动化决策将在同事和同行给出意见的情况下共同做出,以便可以均匀分摊好处。
自发自动化人士表示,程序员有独特的条件,可以与雇主就员工应该保留哪些自动化带来的效益展开谈判,比如时间更短的工作周以及更灵活地从事自己感兴趣的工作。从理论上来讲,自发自动化人士可以在属于中产阶级和工薪阶级的程序员当中组织和分配自动化技术,从而打造有望实际上获得15小时工作周的一个行业。这似乎是千载难逢的机会,可以努力为把人放在首位的自动化模式创造条件。
你如何看到互联网蓬勃发展,越来越多产业自动化发展,今后人们能做什么呢?
欢迎评论
点击【右上角,关注 子瑜说IT 】持续更新IT资讯以及web前端开发教学
新手零基础学习编程,每天不可避免的都会遇到各种问题,难免会感觉很迷茫。昆明北大青鸟http://www.kmbdqn.cn/整理了新手程序员易犯的五个错误及解决措敬正腊施,希望能让大家少入坑。
不使用版本控制系统
一旦你开始对代码有点熟悉的时候,学习如何使用VCS就应该成为你的首要任务。
这个系统有很多的高级功能,这对我们来说很重要。但一开始,通常会专注于settinguprepository以及committing,这有助于新手跟踪开发的进度。然后,学习fetching/pulling和pushing的概念也是很重要的,这样就可以拥有一个在线备份存储库。
2.不去阅读比你优秀的程序员的代码
北大青鸟校区老师相信这是学习的一个重要部分。新手学员常常疑惑,我为什么还要花时间去读别人的代码,在一个较大的开源社区里,学习者会有机会向优秀的程序员学习。在这里,新手可以找到一些使用你熟悉的代码编写的项目,并对它们进行深入挖掘和理解。当然不必理解所有的内容,只需要分析其中一小部分代码,这些都会让你受益匪浅。
3.快速切换语言或技术
的确,能学到一点东西的感觉会很好,在语言和技术之间切换也是有趣的。但如果新手学习者在学习清搭过程中经常这样做,就会适得其反,也会给造成很大的损失。相反,如果对一项技术有很深入的了解,想要切换其他技术语言就会变得很容易。
4.没有完成主要项目
这是北大青鸟校区老师在观察学员自我学习过程中易犯的一个问题。一大部分新来的学员对软件体系结构有着很大的兴趣,喜欢尝试不同的模式,框架和方法来学习一些特定需求很好的编程实践。但通常,部分在编写了代码的核心部分以形成一个很小的工作演示后,就倾向于“置之不理”,然后转移到别的项目上。
5.不关心代码质量vs过于关心代码质量
没有质量问题的丑陋代码比有质量问题的漂亮代码更好。一开始可以不关心代码质量,只要你对这个问题有意识,并且愿意在编程结束时进行清理和解决问题。代码质量是很重要的,但如果没有找到平衡,就可能会过度框架住新手的应用程序。亮滑
6、不对代码进行单元测试
单元测试可能会让你觉得在莫名其妙地重复着工作。但是,将测试加入到学习的工作流程中,这从很多方面看都是有益的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)