手记

加班到底有什么用

最近在阅读温伯格的《程序员开发心理学》,这本44年前的书,其中的很多探索和观点,现在看来依然鲜活而不过时。它开创了以人为本的软件开发研究方法,是软件从业者思想启蒙的巨著,技术人生的必读经典。我在每周一书里推荐了它,回复10067可以查看。

当我想讨论加班到底有什么用时,《程序开发心理学》中的一些内容如同弹幕一样从眼前浮现,启发了我。

放眼周围,到处都是加班的程序员。我原来在零壹广场时,有时披着月光到路边打车,出租车司机就会和我聊天,说你是华为(华为在我们对面有个研发中心)的吧……其实,我不是的。很多公司都加班,这是软件开发从业者的噩梦。

我应聘时被人问过“你怎么看待加班这件事”这个问题,我面试别人时也问过这个问题。有的人这么回答:“我希望能在正常的工作时间内有效的完成工作,如果情况需要,也可以适度加班”。有的人这么回答:“我就是因为受不了加班才从上家公司离职的”。

这次我不想讨论这些,我只想理一理另外一个问题:加班到底有什么用?

尽管多数程序员对加班深恶痛绝,但加班并不是毫无作用。首先它有很多负面作用:

  • 让程序员厌恶眼下的工作

  • 让程序员厌恶传递加班指示的领导

  • 让程序员厌恶所在的团队

  • 让程序员厌恶所在的公司

  • 让程序员无法对他需要照顾的家人交代

  • 让程序员怀疑他所从事的这一行是否能长久干下去

  • 降低工作效率

  • 浪费公司资源(水、电、办公用品等)

  • 耽误正常工作

  • 造成“正常工作时间瞎胡混,加班赶白天落下的进度”这种工作方式

  • 有效降低程序员的工作积极性

  • 交付低质量和埋了各种雷的产品

其次,实际上,不管对个人还是对公司,它也可能多多少少有一些“积极”作用:

  • 造成一种假象,让领导觉得大家都在忙,心里踏实

  • 造成团队凝聚力、执行力高的假象

  • 不能按时交付时,向老板和客户展示努力的过程,给个不是交代的交代

  • 对于依赖工时的任务,是有效的

  • 有助于那些不推不动的人产出点东西

  • 对于海绵一样的新手或极度渴望学习的程序员,可以学到一些知识、技能、经验

  • 磨练程序员的心性,让程序员变得敷衍或者淡然

  • 影响绩效

从另一个维度来说,加班有没有作用,就看这次加班,这个人是接纳的,还是拒绝的。假如阿猿乐意通过加班来完成某些事情,那自然是有效果的,因为这样的加班有明确的目的性,阿猿是自发地奔向它的目的。此时的加班,不觉其苦,反倒有愉悦之感,只恨时间飞逝不能多做停留。

《程序开发心理学》在“积极性、培训及经验”一章里有这么一段话:

过于努力地去查找错误,与根本不去查找同样坏,甚至还要更坏。实际上,往往要等到程序员已经决定放弃从而不再承受压力之后,许多程序错误才能被排除掉。给程序员施加高压,以期他们能够很快地排除某个程序错误,这种做法已经被证明是最差的策略——尽管截至目前,这仍是最常被采用的策略。

44年过去了,温伯格的话还没过时,我们还天天在用这种“压一压就出活”的策略,想想真是令人唏嘘。


0人推荐
随时随地看视频
慕课网APP