首先。假设这个程序猿是一位职场新手甲。他刚大学毕业,没有工作经验。来自产品的需求。他要理解非常久才干做。然后开发的过程中会遇到各种问题。假设经验不足以支撑他高速完毕任务,那么仅仅能求助于网络,书籍,熟人。

假设这些都帮助不了他。

他须要求助于同事。可是次数频繁,同事会厌倦于帮他解答;他也会羞于咨询。这时,他一天下来,基本都会卡在一个非常easy的问题上。下班了,他还没有完毕任务。没错,他须要加班了,由于他的编程能力非常差


    大概没有人会知道他是由于须要处理一个并不是高科技的问题。不懂技术的上司以为他是个勤奋的员工,很看重他。但是,这什么进度还是会这么慢呢?创业的公司可等不起。

这一切。假设招到一个有经验的开发者,这一切的加班似乎都不须要。


    好吧,公司开除了这名程序猿或者他因“个人原因”辞职了或者公司再招到一个相对有经验的程序猿乙。

当然。有经验的代价就是公司要付双倍的薪水。全部之前的需求在他这边都没有遇到过加班的情况。

他是一名很有经验的程序猿。他在过去的二年时间一直在处理相关的开发工作。

到这边来,全部的问题都是小意思。

他的优秀表现让公司惊喜和意外,公司认为即使再招十个之前的员工也比只是他一个人。所以。双倍的薪水又有什么呢?


    一段时间后,公司開始提各种各样的需求。他最终開始加班了。加班不是由于某段时间需求的总量多了。

而是由于随着公司的高速发展。需求也越来越多样化。他的知识储备不足以令他总能轻松应付。他变得和第一个程序猿一样,也加班了。仅仅只是加班的原因不一样,第一个程序猿是由于一些代码的调试的原因,而这位有经验的程序猿是由于一些从没听说过的技术。他的加班让公司相同对他非常重视,甚至觉得是一位好伙伴。


    与此同一时候,公司在招他的时候也招进来了一名优秀的毕业生。他相同是一名没有经验的程序猿,可是他有非常好的学习能力。

开发进度缓慢让产品人员和运营人员都难以接受。可是他总能在最后关头交付代码,虽然上线后须要修修补补。他常常加班来学习以便攻克技术难点,公司对加班的员工表示欢迎,由于没有人让他们加班,也不须要给他们加班费或者调休。

公司为全部加班的人员提供良好的晚餐。

他能够接大大小小的各种需求,仅仅是。开发时间要比較长。可是他不会遇到那种代码调试不通过的简单的问题。

相比程序猿乙,程序猿丙由于常常拖慢进度常常被产品和运营建议开除或者调岗。


   但是后来,公司对他赞赏有加。原因有二:一是他最终能够用和程序猿乙接近的时间来做任务。二是在程序猿乙那里看似不可能的任务。程序猿丙总能在近期关头给出解决方式和代码。仅仅是时间比較长。产品和运营的观点发生了改变。向公司建议开除程序猿乙。

程序猿丙是一个学习型的员工,时间让他有经验后,他成长成为一名更优秀的员工。


    公司有过教训后,最终不惜花重金去请各种优秀的程序猿。由于仅仅要有一名这种程序猿,就能够少请很多败坏项目的程序猿。于是,公司有了程序猿丁。

他在过去的一段时间里有着不错的工作经历,帮助过所在的公司完毕了各种重大的项目攻克了相当多的行业技术难点。

他的到来为公司带来了非常好的活力,全部之前遇到的问题都不复存在。他成为了全部程序猿的主管。后来。他还是加班了。由于公司的良好发展。于是聘请了很多其它的产品和运营。开发团队忙只是来了,他作为主管要求大家一起加班


    为了缓解这样的局面,他向公司申请添加程序猿。公司答应了并再招了二各分别类似乙和丙的程序猿。没错,公司不会再招聘类似甲的程序猿。团队不须要加班了。

    好景持续不长久,一段时间后,加班的情况再次出现了,由于竞争对手的努力,让产品和运营提出很多其它的需求。他发现产品和运营的需求源源不断地输入。但是有些需求可能用户永远用不到或者三天后就变化了。为了解决这样的局面,他找来领导和各部门的负责人来商讨解决的办法。有人提出走敏捷开发。公司决定新成立一个小团队来做測试。

于是公司每个敏捷开发团队成立了。时间证明了。这个新团队最终能够不加班了。而对需求的完毕整体让产品和运营惬意。


    乐观的局面总不能持续非常久。由于线上出了一个令用户急剧下降的bug。他们须要加班通宵。或者回退代码,或者修复这个bug。没有使用非常好的版本号回退办法,仅仅能是一场恶梦。持续集成和自己主动公布增加到他们的团队。没错。程序猿丁開始在团队里实施非常好的项目管理的方案。起码发新版后,非工作时间在线上出bug,不论什么有权限的人员都能够轻松地一键回退。剩下的。上班再说。


    ... ...

    这就是我要讲的程序猿为什么要加班的几个故事。欢迎各位补充。

以后我也会补充很多其它的故事。

事实上全部的后面都不重要,我仅仅希望各位创业者,在招聘程序猿时。避免遇到程序猿甲,争取找到程序猿丁。

作为开发者的我们,也要努力成为程序猿丁,保证自己的职场竞争力。

还是那句话,软件开发不是高科技的东西,这世上并没有软件科学家一说。

我们能做的是让开发更像一门艺术。

posted on 2017-04-16 18:22  yutingliuyl  阅读(318)  评论(0编辑  收藏  举报