最近阅读温伯格的《程序员开发心理学》,这本44岁的书,其中许多探索和观察,现在似乎仍然活着,并没有过时。它创造了一种以人为本的软件开发研究方法,是软件从业者启蒙的杰作,也是技术生活必读的经典之作。 当我想讨论加班的使用时,《程序开发心理学》中的一些内容就像弹幕一样从眼睛中浮现出来,激励着我。 环顾四周,有程序员加班加点。当我在零广场时,有时我戴着月光乘出租车到路边。出租车司机会和我聊天并说你是华为(华为在我们对面有一个研发中心)。实际上,我不是。许多公司加班加点,这对软件开发从业者来说是一场噩梦。 当我申请时,我被问到你对加班的看法。我在采访其他人时也问过这个问题。有些人这样回答:我希望我能在正常工作时间内有效地完成工作,如果有必要,我可以加班。有人回答说:我刚刚离开公司,因为我不能加班。 我这次不想讨论。我只想问另一个问题:加班有什么用?虽然大多数程序员都不喜欢加班,但加班并非毫无用处。 首先,它有很多负面影响: 让程序员讨厌下的工作? 让程序员讨厌团队 让程序员讨厌他们所在的公司 降低生产力 延迟正常工作 导致正常工作时间,混合工作和白天加班的工作模式。 有效降低程序员的积极性 其次,对个人和公司而言,它可能会产生或多或少的积极影响: 创造一种幻觉,让领导者感到每个人都很忙,并且务实 当您无法按时交付时,向老板和客户展示辛勤工作的过程,给出一个不负责任的账户 适用于依赖工作时间的任务 对于渴望学习的海绵式新手或程序员,您可以学习一些知识。、技能、经验 让程序员明白了,让程序员变得敷衍或无动于衷 影响表现 从另一个方面来看,加班没有效果。看看这个加班工作吧。此人被接受或拒绝。如果阿姨愿意通过加班工作做一些事情,那自然是有效的,因为这种加班有明确的目的,阿姨自发地冲向它。这时,加班,我感觉不到痛苦,但我感到愉悦。我只讨厌时间,不能停止。 找到错误的太多努力就像不看它们一样糟糕,甚至更糟。实际上,在程序员决定放弃并且不再承受压力之后,许多程序员错误通常会被消除。向程序员施加高压,希望他们能够快速消除程序错误,这已被证明是最糟糕的策略。即使到目前为止,这仍然是最常采用的策略。