加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

重复劳动陷阱

发布时间:2021-04-29 13:27:39 所属栏目:外闻 来源:互联网
导读:道大家有没有这样的感觉,每次加入一个新的公司/组,一开始总是要学这个学那个,可能会花很多时间看现有的代码,然后花一些时间实现一点点小的功能。 等到经过一段时间后,自己对工作越来越得心应手,提来的类似需求马上就可以做,以做得多做得快为骄傲,觉

道大家有没有这样的感觉,每次加入一个新的公司/组,一开始总是要学这个学那个,可能会花很多时间看现有的代码,然后花一些时间实现一点点小的功能。

等到经过一段时间后,自己对工作越来越得心应手,提来的类似需求马上就可以做,以做得多做得快为骄傲,觉得这样可以更受老板青睐,可以升职加薪。

我在毕业第三年的时候加入前公司,在加入公司的***个季度,我主要再做一些边缘工具以及理解系统,从第二个季度开始在组里的核心业务上开发。

当时自己为了能够快速的出成果,会从组里所有的任务里挑看着比较容易实现的做,往往一天就可以做完一个或者两个任务。

做完一个任务后,发现backlog里面有相似的任务,我也“赶紧”抢过来assign给自己,然后快速的做完,提交code review。

从那个季度开始我每个季度做的工单越来越多,超过组里的所有其他成员,自己也对自己的“高效”洋洋得意,觉的自己工作的非常充实,进步很大。

然而在这个过程中,我已经不知不觉得掉到“重复劳动”的陷阱中去了。

我们在写代码的时候,有一个原则交叫DRY(Don't Repeat Youself)原则,简单通俗的说就是不要copy paste代码,能抽象成函数的抽象成函数,能抽象成基类的抽象成基类。

但是程序员的工作本身也应该遵循一样的道理,那就是尽量不要做重复的工作。

重复劳动对程序员的危害

回到开篇的问题,同样是一样的计算机专业毕业,进入职场的职位和工作都差不多,为何有些程序员短短几年就成长为全能选手或领域专家,有些程序

学习曲线类似于上图,经历过短暂的入门期和相对长一些的积累期之后,可能大部分技术都会进入到高效期。

在入门期和积累期的时候可能技能使用的效率会低一些,进入到高效期之后,随着技能使用的效率大大提高,工作所产生的“输出”也越来越大。因此“高效期“给人以充实的假象。

一旦自己的某项技术进入到高效期,在此基础上的提升会非常困难,可能之前工作三个月所掌握的新知识,比之后一年在工作中积累的要多。

有时候我们看一个程序员工作了5年,但是他可能***年学习并熟悉所用的技术,接下来4年都在做相同的工作,解决类似的需求,那么他的5年工作经验等于1年乘以5。

而有些程序员,他每工作一段时间之后,都会钻研技术更深的部分,或者去学习新的技术,总是保持着在尝试自己并不擅长的领域,那么这样的程序员,他的5年工作经验会比前一种程序员要多。

如何摆脱重复劳动的循环

既然重复劳动的危害这么大,那么我们是否可以摆脱重复劳动的循环呢?

有的时候,程序员自己也不想老是重复的干类似的东西,但是无奈被派发的任务重复的很多,似乎自己可以选择的不多。

在我自己在第三年大量重复劳动之后,我的经理找到我谈话,说我不应该这样重复自己,同样的事情做一两次就好了,再重复的做对自己的帮助不大。

我分享一下我是怎么样避免重复的劳动的:

1.找到Pattern,解决一类问题而不是一个问题。

当你解决了N次类似的需求的时候,是否可以把这些问题抽象出来,是否可以去自动化的实现这类需求?

改了N次bug之后,是否可以发现bug的规律,能够开发出静态分析工具来抓住这些bug?

2.尝试用新的技术解决同样的问题。

有时当项目的实现并没有多少规定的时候,我们可以在一定的自由度下尝试新的工具。

今年年初的时候我去尝试修改一个已有的内部工具前段,持着学习新技术的心理,我用Redux重新实现了前段,而不是在原有的jQuery的前段基础上修改。

3.尝试换岗。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读