我有个猜想,很多时候频繁的加班是因为团队喜欢加班(而害怕把刚做的工作扔掉)假设有一个项目需要两个任务A和B,B的输入是A的输出, 简化之后有两种做法,1. A完成后,再做B。 这样B的需求明确,不太容易白做。问题是需要等A做完,时间上只好延期,为了赶重要日期,需要加班。2. A没完成时,按照某个假设开始做B。这样必然导致B任务的部分工作需要重做。提高整体效率的话,应该选2,但很多时候会选1,“白做了“ 的感觉太坏了,以至于从上到下都想避免。结果就是频繁的加班理想情况A没完成的时候,资源可以放在其他事情上,不去做B,现实中这样会导致太多的context switch。别说人,就算CPU也没有办法承受大量的context switch,从而才有branch prediction 。branch prediction 哪怕正确率极低,也只有好处没有坏处,当然这个结论对人不成立,人有feeling,费曼大神曾经说过, “Imagine how much harder physics would be if electrons had feelings. 预测错了, 团队会感觉到工作又白做了。创业的每一天都是在所有坏选择中选一个不那么坏的。可能culture fit 就是每种坏选择的feeling 尽量一致吧?