为什么重复性工作一定要自动化

2020-02-21
杂谈

假如老板给你安排了一个活儿,每天早上去 AppStore 看一下自家的几个应用在排名,并记在一个 Excel 表格里。

显然,这是一个没什么创造性的重复劳动。你在心里简单打了下小算盘,如果手动做这件事情,每天大约要花费 3 分钟,一年 365 天算下来总共大约要花 18.25 小时。如果写个程序来把这件事情自动化,由于你没做过爬虫相关的事情,编码+调试+修 bug 可能要花掉一星期时间。

那么,这件事情值不值得去自动化呢?

本文的标题已经暗示了我的观点:绝对值得,因为自动化从来都不仅仅是为了节约时间。

更好的质量

计算机天生就是用来做重复性工作的,与人类相比,计算机不仅是快,同时有极强的稳定性和精确性。对于这种简单不费脑的活,交给程序来做再合适不过了。

如果是人肉做这件事情,一年下来 365 天很难保证一天不漏。即使做到了一天不漏,也很难保证每天记录的都是同一时刻。即便你极度自律,上面两条都能做到,恐怕也不敢打包票这中间每次都不会看错或记错。

自动化程序就不存在这些问题。即便是由于网站改版,或者网络不畅等原因运行失败了,我们也能收到通知并进行补救。

提升自我技能

道理大家都懂,出于自身职业发展的考虑,工作中一定要注意技能的提升。对于程序员来说,把重复性的劳动给自动化就是一个很好的扩展技能树的机会。俗话说,技多不压身,说不定哪天就能发挥大作用。

而且,学习本身就是一件快乐的事情啊!

更小的边际成本

自动化方案具有更小的边际成本,能更轻松地满足需求的变化。

举个例子,假如过了几天,老板觉得一天查一次榜单不够精确,想要一天查两次或者三次,又或者公司新上架了几个应用。这些情况下,手工操作的成本都是成倍增加的,而自动化的方案很可能只需要改几个参数就好了。

创造新的价值

自动化程序的低边际成本使得它具有更好的可扩展性,当它被扩展到一定程度后,有可能量变产生质变,突然它创造出了之前没设想过的需求。

我们还是拿之前的例子来说明。我们可以把程序改装成每几分钟就去抓一下榜单,然后不只抓自家 App,还可以顺便把安卓的各大应用中心都爬一下。这时,它跟原本的工具已经有本质区别了,我们甚至可以用抓到的数据去卖服务了。如果一开始用人工的方案,几乎不可能意识到这种可能性。


欢迎加入技术讨论 QQ 群: 481269635 (硬盘在歌唱)
comments powered by Disqus

一个小故事,关于科幻,关于老师

2020-09-10
杂谈

beancount 复式记账实践

2020-08-20
杂谈

重复的代码都应该被消除吗?

2020-07-22
杂谈