有时你需要解雇一些人
在我工作过的开发环境中,管理者不敢解雇开发人员,他们要么折磨开发人员,惩罚他们显然无法胜任的工作,试图对开发团队施加不正当的限制,要么任由他们对开发流程大肆破坏。
才华横溢的开发人员会因为产生糟糕的代码或不平等的技能基础而感到失望。而其他开发人员则常常被迫陷入维护的噩梦,从而侥幸编写出糟糕的代码。面对维护噩梦的前景(或者很可能是越来越多的维护噩梦),他们就会辞职。
另一种情况是,为弥补糟糕的开发人员而强加的限制性工作条件让有才能的开发人员失去了信心。他们厌倦了被当作白痴对待(因为其他开发人员都是白痴),于是接受了一家更好的公司的工作邀请,这家公司为他们提供了更好的职业前景、更好的工作环境以及更快乐、更有才华的员工。他们接受了这份工作,因为他们要去的公司可能也会有更好的业务前景和更高的薪酬,同时还有更快乐的工程师和更好的工作环境。
这种情况还有一个极端:企业声誉受损,无法聘用长期开发人员;于是他们支付高昂的费用聘用昂贵的合同开发人员,同时对他们的技能组合抱有侥幸心理。在合同开发人员身上大出血的同时,企业出于无奈很可能会雇用任何愿意为这些项目工作的人。这些开发人员的面试官很可能没有针对他们将要构建的系统提出正确的问题,从而导致对所雇用的承包商的质量进行豪赌。公司减少了雇用优秀长期员工的机会,业务进入尾声,公司的衰败也变得更加严重。这种情况我见过多次,每次公司都面临缓慢而痛苦的衰退。如果有人邀请你去一家类似的公司工作,我强烈建议你另谋高就,除非你真的相信自己能够为这样一家公司带来改革。
如果你在这样的组织中担任管理职务,请确保你有能力进行有意义的改革,有能力雇用正确的人,解雇错误的人。否则,你在这样一个组织中的任期将仅仅是在试图改变椅子的位置,同时承受着员工流失率高的痛苦。
有才能的员工值得信赖;那些对自己的工作充满热情的员工不需要限制来防止他们偷懒。如果有才华的员工无法履行职责,那么你的开发人员极有可能只是偷懒者;你需要消除限制开发的官僚流程。
强迫性地执行那些对将软件交到用户手中毫无帮助的程序,对开发团队来说毫无价值。