本文是从 Pay Your Programmers $200/hour 这篇文章翻译而来。
如果你在招聘程序员,你应该给他们 200 美元/小时。这样一来,很多其它任何方法都无法解决的难题都变的很容易。比如解决你的人才招募问题,保证你只有在真正需要的时候才去招募程序员。
期望问题
200美元/小时完全的阐明了你的期望。它是在说,你期望招募到这个领域里既专业又专长的人。
作为一个程序员,我面对这 200 美元/小时的劳动合同,拿它跟 65 美元/小时的合同相比,我会在 2 个关键方面表现的不同。首先,我会更加迫切的解决出现的问题和需求。如果在我休假的时候接到一个电话,客户要求一个新的功能。我会马上返回宾馆,立即开始实现它;高额的回报使我很容易向家人解释我的这种表现——事实上,她会完全的支持我这样。如果我的薪水只是普通水平,我绝对不可能表现成这样,因为不值得。也许我会因此丢了这份工作,但 65 美元/小时的工作到哪都能找到。
其二,对于一个打工仔来说,这实在是一笔丰厚的收入,我绝对不会把自认为的“学习”时间计算为工作时间。如果你付我 200 美元/小时,我只会收取按这个领域里一个专家的工作时长的报酬。我想,可能情况各有不同,但大部分的程序员都应该按这种规范行事。例如,我接手了一个项目,需要写出大量的底层的C代码。我已经有 10 年没写过C程序了。我会花每天 16 小时重新拾起我的C技术,但这些时间我绝对不会向客户收取报酬。我也绝对不会为修改任何一个成熟的程序员不该产出的 bug 所消耗的时间向客户收费。总之,这些将会占用我一半时间的事我都不会收取费用。
忠诚问题
但你猜怎么着?我完全不会向客户抱怨这些。事实上,我会很高兴这样,客户也同样高兴。我快速的擦亮了我生锈的技能,他们也重视我的工作,他们得到了符合需求的、及时的、符合预算的产品。
而当下一次客户需要什么东西的时候,他们会毫不迟疑的把我放在他们优先级的最高位。他们会因此得到更迅速的开发,更高的质量,因为我只需要给我的C语言除锈一次,我不会再重复先前的错误,我比别人更加了解他们的业务,以及他们自己都还没想到的功能特征。
你也永远不会再担心程序员会离你而去。如果你有大量的工作交付给他,他会接受,会把大量的剩余精力投入到工作中。如果你每周只有少量的工作交给他,他们将会很安逸的生活,享受他们的业余时间。这是一个双赢的局面。
一个社会层面的提示,高报酬伴随着高技术含量,相对于律师、医生等其它行业,程序员在这方面体现的更加明显,因为,其它那些行业报酬普遍比较高的原因是他们人为的限制这些行业的从业许可证的数量——他们是被强行的推上高收入的行列。但如果你给一个程序员很高的报酬,这没有任何的强迫因素。这是对价值的认可,这种认可会使忠诚心自我发酵。
信任问题
对于员工来说,一旦你给了他高额劳动合同,信任就已经不是个问题了。如果他不能按时提交,开了他。如果他提交了低质量的代码而不改正,开了他。如果你对他有任何的不满,开了他。
而面对一个报酬很少的程序员,你很难做出这种当即辞退的决定。你会试图做成本/收益分析——你会怀疑这个程序员有些懈怠了,但你仍然期望他能编写出好的代码。这是一个致命的错误。首先,地球上没有第二个地方能比雇员和老板之间的信息不对称更夸张的地方了。程序员可以编篡出他们能想到的任何童话,你不会有任何的机会揭穿他们的诡辩。第二,无效率、发牢骚的程序员并不是零,他们是负的。他们是能摧毁你的公司的大大的负面因素。
优化资源分配
如果你付不起 200 美元/小时,你就不该聘请程序员,因为你面对的是一个巨大的无效率的市场问题。
哪一种情况你更喜欢:投资 10 万收回 20 万,还是投资 100 万收回 5 千万?这几乎是一个不言自明的问题,但事实上所有的程序员聘用都陷进了第一种类型里。几乎所有的 IT 部门、大部分的老板都选择了错误的投资类型。这是一种巨大的资源不合理分配,因为在第二种类型中有大量的机会。
当你把目光集中到第二种类型后,很多的愚蠢的商业问题都会迎刃而解。你不需要再紧巴巴的控制工资预算和开支。进度延迟将不再是个问题,甚至不再出现。团体士气会高涨。
从另一方面讲,如果你把把程序员的报酬从 65 美元/小时提高到 75 美元/小时,这会破坏招聘市场上的经济次序,这是一种不稳定的状态。上面所提到的矛盾都会恶化,你会在这种微观经济迁移中滑向破产,或被抛弃。