偶然在programmers.stackexchange.com 上看到了这个有趣的问题,有人问:既然普遍认为编程是比较难的工作,为什么业务分析人员和项目经理们会拿比程序员更多的薪水?虽然大多数的时候程序员都被发现是最晚离开公司的人,可那些家伙的工作却能拿更多的报酬,为什么会这样?
回答的人很多,但似乎只有一个是比较合情合理的,它是从经济学原理的角度分析的这个问题。
人们所能获得的报酬往往会低于老板们的“最高标准”,而高于人们自己的“最低要求”。在这个范围内,你的实际收入依赖于你相对于你的老板的讨价还价的能力。
假设你给公司提供的服务价值每天1000美元。如果你用枪指着他,他会给你这个价格,因为他别无选择。如果你别无选择,你只能接受每天100美元水平。这是你的浮动范围。
假设你是一个新手,没有背景关系,不出名,你的老板是谷歌。谷歌有很强的讨价资本,它可以等待,去雇用其他人,很多人都想为它工作。你的资本很少,你需要付房租,所以你只能接受每天100多美元,而不是1000美元。
假设你是地球上最后一个会 COBOL 语言的程序员,而你的老板的主机上正跑着 COBOL 程序。那么,你拥有很强的讨价还价的资本,你将能得到接近每天1000美元的报酬。
所以,要么是你的项目经理或业务分析员对公司更有价值,要么就是他们有更多的讨价还价的资本。我并不认为是前一种情况,也就是说,应该是后一种情况。善于人际交往的人很少。这种事情也不能外包——因为他们需要接触客户。他们的相对稀缺给了他们更多讨价的资本,所以他们有了更高的报酬。
这个巧妙的回答来自 NRM,尽管跟其它的各种和政治相关的解答比起来有点乏味,但它确实反映了实际情况。就像他提到的,善于交际的人稀少,这种人在任何公司都能来到巨大的好处,尤其是在软件开发领域。