为什么业务分析师和项目经理的薪水比程序员高?[关闭]


324

我们必须承认,编程比创建文档甚至创建甘特图和向程序员询问进度要困难得多。因此,对于那些天真的幼稚的人来说,知道编程通常比较困难,为什么业务分析师和项目经理的薪水比程序员高?是什么使他们的工作成为高薪工作,即使在大多数情况下程序员都是最晚回家的人?

更新

令我无知的是,从某些答复看来,BA和PM之所以能获得更高的薪水,是因为它们通常是造成程序员混乱的原因。但归根结底,是程序员弄脏了手,以解决问题并更加努力地工作。因此,这仍然没有意义。


126
他们穿的西装更好:-)
Stephen C

234
美国更高的薪水绝对与技能无关。您越被喜欢,就越玩政治游戏,您获得的报酬就越多。程序员通常是逻辑,聪明,个人的,他们按原样告诉他们。高管对此表示讨厌。
MVCylon 2011年

29
“……那些回家晚了的人……”不要遇到苛刻的情况,但这听起来像是您需要解决的个人问题。如果花费大量时间来确定公司对公司的价值,则需要进行一些认真的个人分析。
亚伦·麦克弗

14
让我想起了迪尔伯特的工资定理:csm.ornl.gov/~frome/dilbert.html
badgerr 2011年

27
我要提到的是,我正在从事的主要项目的项目经理和业务分析师所花的时间比我多。宇宙中没有足够的钱支付我做他们的工作。
HLGEM 2011年

Answers:


390

作为一个类,项目经理是否获得比程序员和业务分析师更高的薪水完全取决于您所生活的软件世界。

这个问题的简单答案是“因为在我们的社会中,我们仍然认为薪水与等级制中的职位挂钩”。但是,这个答案虽然反映了人们根据其感知价值获得报酬这一事实,但并不能解释为什么PM和BA在许多软件组织中处于层次结构的顶部,以及为什么管理层首先将层次结构作为选择的结构对于软件项目团队。这是似乎真的值得提出的两个问题。

广义上讲,有两类软件制作组织。我将它们称为“小部件工厂”和“电影摄制组”。

小部件工厂诞生于管理思想的周围,这种思想是由McGregor提出的动力理论X提出的。更高或至少相同的标准。这种想法落在了一个很自然的想法上,即整个团队可以很容易地由经理代替并由其代表-团队中的所有其他人都是可以轻松替代的,或者仅仅是增强经理完成任务的能力。因此,层次结构是一种结构,而是水平的工作角色。

窗口小部件工厂管理的前提是,可以在项目经理的密切监督下,通过明确定义的流程,按照业务分析师制定的规范制造软件。通过为项目配备足够的合格但可互换的编程和测试资源来照顾制造。工作由PM和BA准备的初始业务案例根据预先安排的预算来驱动。

只要关注这些人的交谈方式,就可以轻松地发现运行Widget Factory的管理人员。它们可能涉及以下方面:资源(包括指代团队成员时),流程,运营效率,统一性,可重复性,对资源使用的严格控制,明确的工作角色以及定义的流程输入和输出。他们试图传达理想软件开发操作的图像时,会随意提及实际的工厂隐喻。

然后是电影摄制队。他们基于这样的观念,即人们聪明,有上进心,非常努力地工作,并且喜欢孩子们喜欢玩的游戏。电影摄制组认识到,由于专业化,个人贡献者的能力可能远远超过组织,协调和指导工作的人的能力。由于经理不能再替代所有人,所以层次结构不能很好地起作用-人们必须以更加扁平和复杂的形式进行合作才能完成工作。乔布斯角色本身往往更垂直-从头到尾-涉及到各种各样的技能。这种管理思想以麦格雷戈的理论Y为基础。

电影摄制组的导演知道,只有能够组建一支出色的工作组,吸引他们的想象力并帮助团队凝聚和合作,她对软件的愿景才能实现。她的作用是激发,捍卫愿景,提供指导并集中精力。每个人都很重要,因为“主管”相信软件是世界观和所有参与者的能力相结合的结果,也是该小组共同开展工作的独特方式。从一开始,每个人都认识到让明星加入团队的重要性–明星表演者增加了成功的机会。愿景推动预算并吸引资金。

谈到赔偿Widget Factories认为,最大的价值来自项目经理和业务分析师的工作,他们工作在层次结构的顶部,因此必须得到相应的补偿,而团队的其他成员则无所谓拥有将要求转换为工作代码的正确资格。PM和BA努力通过限制团队其他成员自由访问项目信息源来保持自己的地位。在没有正式访问主要信息源的情况下,团队很难做出任何价值判断或提出好的解决方案,程序员只能从上面接受命令并按照PM和BA的定义来解决问题。

与之形成鲜明对比的是,电影摄制组表现得更加平等。成员可以不受限制地访问主要信息,鼓励他们进行价值判断,并可以自由选择行动方案以实现并促进愿景。领导力结构基于能力而不是团队中的特定角色。薪酬反映了让特定人员参与该项目的可取性,它通常与人们对以下事实的认识有关:如果可以说服该人员将精力投入到创建该软件上,那么最终结果将变得更有价值。在这种环境下,项目经理的角色变得不太重要,因为他不太可能成为创意领导者。作用主要归结于行政支持和对外关系。

现在,大多数内部软件开发团队和一些咨询公司都是在小部件工厂依靠流程来生产一致无聊的软件的情况下运行的,这不足为奇。在这样的环境中,项目经理和业务分析员通常会获得比程序员更高的报酬,这是基于这样的假设,即他们在结构合理的环境中能带来最大的价值,从而使程序员难以证明管理错误。

成功的软件公司倾向于采用Film Crew的观点,任何其他哲学都会阻碍他们吸引优秀人才的能力,因为他们依赖如此之多来生产出色的软件。在这种情况下,您不太可能会看到业务分析师的角色,而项目经理却没有那么出色,并且通常不会像优秀的程序员那样获得高薪。


68
我们需要一个“电影摄制组”软件制造商的列表:)
Guillaume

8
情况的绝佳概述
lurscher 2011年

46
优秀的总结。值得一提的是,在大多数公司中,软件开发被视为一种成本(例如,支付水电费),而不是一项核心投资。
dbkk 2011年

3
好答案!您对两种不同的组织作了很好的描述,并描绘了他们如何看待同一份工作。软件开发人员需要选择在输出中他的贡献将是重要且有价值的部分的组织。就像电影的音响工程师/音乐导演一样。
Senthil Kumaran

39
杜德,这是一个出色的回应。电影摄制组的类比效果很好。我在电影摄制组工作了9年,后来被一家小部件工厂买了下来,之后我只用了8个月。然后,我开始了自己的软件开发业务,我们是电影摄制组。我认为您刚刚给了我比喻来传达我们的工作方式。谢谢!
丹尼尔·保尔

276

因为在我们的社会中,我们仍然认为薪水与等级制中的职位有关

分析师或项目经理在层次结构中较高,因此应给他们更高的报酬。

让我告诉您一个真实的故事,说明为什么这是一个问题。

一个好朋友开始在一家大医院当程序员。由于他的辛勤工作和奉献精神,他迅速成为Oracle DBA,这在数据既敏感又有价值的公司中至关重要。

医院工作水平高。级别取决于您在层次结构,旧式和文凭中的位置。

我的朋友得到了一个建议,成为另一家不使用薪水水平的公司的DBA。他的薪水可以增加很多。因为他喜欢并尊重他工作过的医院,所以他决定与老板交谈,要求加薪。

老板拒绝了。由于级别的原因,这是不可能的,工会也不会让这种事情发生。

我的朋友走了。

医院最终聘请了外部顾问(不受级别限制),并在其网站上发布了一份工作。该顾问对现有的基础设施一无所知,因此他的学习曲线很大。因此,医院损失了很多钱。

医院的确损失了很多。外部顾问的薪水是我朋友要求的五倍之多,他们找不到合格的员工来代替他。

那差不多是三年前。我的朋友仍然在他的新地方,并以自己喜欢的方式快速攀登等级阶梯。

医院仍在支付5倍以上的费用。

恕我直言,薪水应与您提供给公司的价值有关

更新:在层次结构中上移时,会发生杠杆效应。因此,实际上,您为自己带来的价值而获得报酬。但是,无论他们在该层次结构中的位置如何(通常在最底层),生产力高出10倍的杰出程序员都应多付10倍的报酬。这就是我要强调的。


73
多么奇妙的轶事。
艾伦·皮尔斯

28
您是正确的-薪水应相对于价值。通常情况并非如此。在一些私有的小型私有公司中,每个人的工资都保密(并通过个人协商),那么只有大老板才知道给谁付款。有时在那些地方,薪水是相对于价值的,有些监督人员的薪水低于从事这项工作的真正聪明的人。当然,这种情况并不经常发生。
quick_now 2011年

16
皮埃尔,听起来像英国的公共部门!
ozz 2011年

10
该员工可能会提议担任外部顾问?
Thomas Stock

4
@Thomas:是的,我记得我曾提出过这个建议,但是他并不十分感兴趣(害怕失去安全感,这是恕我直言的一种幻想),而且这并不能解决医院的预算问题。

84

他们比程序员承担更多的风险。他们必须根据我们提供给他们的任何信息做出决定,然后在达不到他们的期望时面对利益相关者的严厉批评。部分薪酬待遇可以弥补这一风险。

另一个因素可能是准备可以适当计划,评估和缓解项目经理的经验。从某种意义上说,细致入微的项目经理会经历过失败的培训,这使其成为昂贵的技能。一旦达到资历级别,公司可能就不愿意放开这种宝贵的人员。

编辑:

除了经济上的伤害或人身伤害外,还有更多的风险。例如,考虑被经理或客户谴责的风险。尽管没有造成任何实际伤害,但是我们仍然必须调整自己的行为以避免这种后果,这仍然是不希望的。但是,管理人员必须始终做出良好的决策,并且必须根据公司的利益来平衡各种风险,而不是根据个人喜好。


42
“他们比程序员承担更大的风险。” 像什么?我还没有看到一个项目经理,或者实际上任何一个经理都因为一个错误的决定而遭受任何严重的困难。(在软件行业,那是。)
biziclop

83
@ 9000另一方面,糟糕的项目经理很容易找到,他们的薪水也更高。
biziclop 2011年

10
面对利益相关者的严厉批评并不是真正的经济风险,也不值得付出更多的额外报酬,这是对一系列错误决定或对利益相关者隐瞒工作进展的真实信息负责的一部分。如果程序员在报告“全是绿色”的情况下被公知地产生过分糟糕的无功能代码,则他们将面临类似的风险。在大多数组织中,PM并没有因为无法交付而被批评为不可能。
2011年

18
因做出错误的决定而被解雇,并获得数百万美元的遣散费,这听起来真是太恐怖了!
Wooble 2011年

3
@biziclop:公平地说,糟糕的程序员往往会像狗屎一样坚持下去,只是在没有自身困难的情况下填补职位空缺。而且还有更多。
马特·乔纳

80

从某种程度上讲,编程可能会更困难,但也更令人愉快。您只需坐在那里,解决漂亮的编程难题,而经理则要处理下属,客户,老板和利益相关者之间的各种麻烦。这就是为什么很少有理智的人真正想要成为经理的原因,所以您必须通过支付更高的薪酬来弥补。

编程更加困难,但是管理更麻烦。

思考某人对公司的价值的一种方法是,想象该人离开公司会是什么样。通常,从这个意义上讲,经理比程序员更有价值。Java的创建者James Gosling最近离开了Oracle。有人可能会认为这是巨大的损失,但您猜怎么着?其实没关系。它对Java或Oracle几乎没有影响。狗吠,但大篷车继续前进。

顺便说一句,我(认真地)认为,除尘器和清洁工的报酬应比程序员高。清洁别人的垃圾是一项艰巨必不可少的工作。


12
@Joonas-“ .....认为dust夫和清洁工的薪水应该比程序员高。” <-您需要向我解释一下!WTF?
ozz 2011年

27
从物理上讲,清洁确实是一项艰巨的工作。尽管如此,与像样的程序员相比,有更多的人能够像样的做清洁工。因此,好的程序员的市场价值更高。
彼得Török

13
@Mayank:不,我只是一个谦虚的程序员,他认为程序员通常对自己的评价过高:-)
Joonas Pulakka

10
@jpartogi:程序员无需忍受臭气即可劳作代码。众所周知,这是一项舒适的工作。
乔纳斯·普拉卡

9
坐在设计已经演变成一团糟的遗留系统的前面,并试图在不破坏任何更多代码的情况下为下一个版本创建快速补丁,这确实是一项艰巨而又普通的程序员任务,这确实很麻烦。有成千上万的快乐经理人和成千上万的悲惨程序员。因此,您的答案并不能真正解释收入的差异。
弗拉德·古迪姆2011年

71

减少创建图表和编写文档的管理,就像在说编程就是打字。

对于每个人来说,但对我而言,编程比管理人员容易得多。


5
这是一个编程论坛,因此大多数人会发现编程比管理更容易。总体而言,如果没有选择偏见,我会怀疑大多数人都能比编程更好地进行管理。
David Thornley,

15
我不同意。就像优秀的程序员一样,优秀的管理者也很少。
迪马

4
@ Woo4Moo您应该考虑该陈述的能力。
Yahel 2011年

8
@ Woo4Moo实际上,如果您不能逻辑地思考,您就不能成为一名优秀的程序员。现在有相当多的残疾程序员在使用Dragon Naturally等所有语言。
匿名类型

2
我很难相信优秀的经理比优秀的程序员更难找到。我曾经与数百位程序员合作,但我认为只有3到4位是我的好人,但我可以想到与我合作过的数十位优秀经理。
Dunk

36

这里的每个人都专注于负面因素。我从未见过像办公室政治这样的程序员,优秀的经理可以使您免受此类垃圾的困扰。在我们主要客户中与很多人进行互动之后,其中一半人精神错乱,我很高兴能有我的PM来为我吸收这种精神错乱。如果他们付给他们很多钱,那很好。他或她需要这种药物来进行不可避免的治疗。


您不必喜欢办公室政治就可以有效地玩游戏。
韦恩·考特斯

4
我知道,但是我更喜欢别人玩游戏,所以我可以编写代码。
MattC 2011年

1
我喜欢玩游戏,但不喜欢和其他人一起玩。
匿名类型

3
成为一名学士学位最困难的事情是弄清矛盾的要求。每个利益相关者对要求的内容都有不同的想法。然后,大老板是最妄想和最疯狂的人。提取程序员可以忍受的要求并产生有用的东西,足以促使BA饮用昂贵的休闲药品。
Cyber​​Fonic 2011年

8
是的,但是糟糕的经理只会将办公室的政策从客户直接推给开发人员,这一点很重要。
sevenseacat 2011年

20

当然,这是有争议的,但是背后的重要原因是,如果项目失败,他们将承担项目的责任,而不是程序员。他们可能会给您提早提起某些事情的机会,但是他们面临着更高权力的批评。他们是负责计划和估计的人

管理需要非常多方面的技能:人际交往能力,领导才能,估算成本和时间的能力。为此,他们还需要与您保持联系(例如,从技术上来讲,对您正在做的事情有所了解),或者是非常好的品格判断者。

如果没有正确定义需求,那是他们的错。

如果测试计划定义不正确,那是他们的错。

如果您休假或打断腿,或者在周六晚上浪费或者在没有给予足够通知的情况下离开,他们必须找到替代产品或<某些原因在这里>,您将无法完成工作并且产品无法得到(按时或根本没有交付),这仍然是他们的错

还要注意,当我指的是他们承担责任时,它会影响他们上方和下方的人们。如果他们搞砸了,那可能就是您团队的工作即将开始。这也是您要付出的压力

PS:另外,我不知道我是否会说编程比做甘特图更难(重用您提到的示例)。我不了解您,但是我发现编程(通常,对于行业中需要完成的80%的工作)非常容易。如果弄砸了,可以修复它。如果您的老板搞砸了他的甘特图或成本估算,那么与将a转换!= null为a 相比,这将是一个更大的问题== null。小错误对他们更重要。当然,大多数情况下,如果您在上线的嵌入式医疗应用程序中进行了类似的测试,那也是一个大问题。但是他们会比您遇到更多的问题!


他们可能承担大部分责任(大部分而不是全部),但不会承担大部分责任。
sevenseacat

@Karpie:当然,程序员可能要为不幸承担责任,但经理们要承担大部分责任。也许不是您的同意,但是对于公司(或其利益相关者)的高层管理人员来说,程序员是没有责任的。是管理他们的人。当然,我能理解您的观点(以及说“薪水受制于层次结构中的位置的人”),而且有些公司放弃了白痴管理团队,而将责任推卸给其他人。这不是应该的样子,以我的经验也不是一般情况。
haylem 2011年

@Karpie:我确实知道在某些人眼中我可能是恶魔的拥护者,但是尽管我希望薪水能奖励一个人为公司带来的增值,但我不知道有很多公司愿意只能与程序员一起运行。一些员工带来间接价值,而且很难量化。当他们可能承受的压力比您想像的要大得多时,认为他们只是闲着无所事事,指责和玩指责游戏通常很容易。
haylem 2011年

19

供求是确定市场价格的经济模型。结论是,在竞争市场中,特定商品的单价将一直变化,直到达到消费者需求的数量(按当前价格)等于生产者提供的数量(按当前价格)为止。价格和数量的经济平衡。供需的四个基本定律是:

  • 如果需求增加而供给保持不变,那么均衡的价格和数量就会更高。
  • 如果需求减少而供给保持不变,那么均衡价格和数量就会降低。
  • 如果供应增加而需求保持不变,则较低的均衡价格和较高的数量。
  • 如果供应减少而需求保持不变,则价格较高且数量较少。

在这种情况下,原因之一是开发人员过多。


3
有许多底层开发人员,但是有能力的程序员在大海捞针
Foo Bah

10
当然,这是关于工资在市场经济中应如何运作的理论。您的薪水不取决于您带给公司的价值,而是取决于更换您的边际成本。麻烦在于没有真正的自由市场。裙带关系,裙带关系,寻租和知识的不对称是地方性的。从理论上讲,那些效率低下的组织应该被那些没有效率的组织淘汰,但是当几乎每个人都这样做的时候……
Charles E. Grant

4
或者,也许-确定程序员的素质很困难,因此市场似乎泛滥,但是大多数供应方实际上都不适合。这将解释很多我见过的代码...
Alex Feinman

尽管上面有所有不错的答案,但这是真正的答案。
尼克·霍奇斯

1
请注意,市场不是对称的。雇主可以选择数千名程序员。程序员只能选择几个雇主。与公司的总资本或收入相比,雇主因一名程序员而遭受的损失微不足道。程序员的损失是巨大的-更换工作通常需要几个月的时间,因此就像程序员一生中唯一或全部的资源的百分之几。您会看到经理在这里拥有更大的权力,因为他们有能力使他们的替换成本更高。
安东·纳扎罗夫

17

在整个职业生涯中,我一直在开发人员和PM角色之间转换。我的项目开发人员的收入是我的两倍,其他人的收入是我的一半。获得高薪人士的薪水是什么,因为:A)他们是“摇滚明星”开发商。B)他们与客户互动,以易于客户理解且风度翩翩的方式解释产品。C)他们指导从事多个项目的开发人员团队。D)他们总是可用并且渴望取悦。

他们以不同的身份扮演开发人员,PM和BA的角色。通常,如果您将90%的时间花在降低代码上,那么您的价值就不会那么高,很容易被替换。如果您想赚更多的钱,那么您就需要承担更多的责任……并且可能不得不寻找另一家可以为您带来更多收益的公司。


11

理由是项目经理的职责范围(通常)是在计划预算内按可接受的质量按时交付整个项目。通常会有很多钱危在旦夕,所以自然而然的优秀项目经理通常会比程序员高薪。

但是,我不认为业务分析师的平均收入比程序员高得多。我的感觉是,公司的薪水水平是由等级而不是由员工的价值决定的,这种情况越来越少见。


我认为其原因是很多BA是从普通程序员中提拔出来的。在许多公司中,晋升并不意味着更多的钱。
IAdapter 2011年

10

我的经历可能有所不同(或者我生活在物理定律失真的不同宇宙中),但是我所见过的大多数业务分析师和项目经理(不是程序经理,而是项目经理或PMP)的职位都处于或略低于程序员的平均工资。

与软件工程师的平均薪资相比,薪资差距开始扩大(有利于软件工程师)。与高级EE或高级软件工程师相比,差距更大。几乎没有高级业务分析师或高级PMP会像高级EE或高级/主要软件工程师一样。

但是,项目经理(与PMP并不相同)会比其他人赚得多(原因应该很明显)。


当我看到这些关于薪水的抱怨时,最让我感到困扰的是,作为程序员(特别是企业中的初级/入门级程序员),我们(或不是)那么特别。刚离开学校的入门级程序员真的没有什么值得火箭科学家付薪的。没有

我们所有从事软件工作的人都从零开始。我们都做到了。

如果我们真的说实话,我们清楚地知道,我们不知道的废话。能够完成我们的本科CS课程负载只是一个起点。它并没有使我们如此特别或ZOMG!超级爱因斯坦人。真的不!

但是(由于互联网泡沫破灭的命运),我们希望不仅能赚到更多,而且还能比其他受过大学教育的人赚得多,这是因为OH WOW,我们是程序员,他们只是生意而已分析人员和PMP。

你能自大吗?新闻快讯-对于企业中的大多数编程任务,您甚至都不需要4年制学位。真的,那是认真的。

花费时间,积累从高级编程到软件工程(或相关工程)的经验。然后,你可以要求做很多很多,佩罗MUCHO MUCHO比业务分析师和PMP等等。

克服困难-我们中有些人(或曾经)被高薪。期。


暂且不谈:业务分析师和/或PMP与尚未累积成为中/高级软件工程师所需的时间和专业知识的程序员(或仍未在高度需求的利基市场开发专业知识的程序员)使薪金接近或相似的原因。区域):

一个业务分析师是软件和系统乡亲和企业界人士/业务流程之间的联络人(这是证明你的薪水的存在,而不是其他的方式的人。)他们负责在有条不紊打破业务流程的,分析性的方式,作为适合形成需求的输入,是您所从事的工作。他们确保您花费大部分时间进行编程,而不处理业务上的细节。

你们中的许多人认为生意很容易。如果您真的认为这是真的,那么上帝会帮助您。

一个项目经理负责杂耍多个项目(而你只需要在任何给定的时间一两个最忙里忙外。)他是你的伞的人,他是一个已经做了肮脏的工作大部分在一个剩下的未被洗的群众不想做-追赶人们,确保他们能完成工作或消除工作上的障碍。

他是一个会问您“正在从事什么工作的人?您正在帮助推动项目进行的工作是什么?您的工作有问题吗?您遇到的障碍是什么?您需要什么?谁可以给您?” “ ...

然后他将去找其他人问同样的难题,确保消除障碍,并确保自己在项目上占了上风(如有必要)。

我在许多失败的项目中看到的头号问题是缺少PMP或对PMP的不尊重(特别是对开发人员的尊重)。我很少见到项目由于PMP不称职而失败,但是人们不得不怀疑为什么许多程序员比急于说更多的是是这样。


除了程序员不仅仅因为我们很特别(不比其他任何人)而要求大笔的薪水,而是因为我们可以拿到它们。这不是真正的普通人才,需求量很大。
David Thornley

@David-的确,这不是一个普通的才华……甚至在程序员中也不是。这就是我的意思。我们企业中的程序员过多(感谢dot-com和java / .net大学)。而且,企业上的许多编程工作还不够复杂,无法获得火箭科学的薪水。供需与更简单的需求(以及我们仍未大幅改善编写软件的方式这一事实)相结合,然后告诉我们,我们当中许多人都很特别(因为许多人没有或已经发展了稀有人才),并且因此,他们付出了高昂的代价。
luis.espinal,2011年

3
@ luis.espinal:大多数人都要求他们能获得的最高薪水。问题不是他们是否拥有道德权利(是否有人在道德上享有比别人更高的酬劳?),而是市场是否能够使他们得到。
David Thornley,

1
您的帖子过长,我在第一页之后停止阅读。
匿名类型

2
@Anonymous Type-下次我将尝试将其哑化。
luis.espinal,2011年

9

我从事金融业,我认为大多数非高科技企业的心态都相似:

薪酬与职业风险成正比

除非完全解雇一个小组或团队,否则低级的程序员始终会保留其工作。这是工作的本质,程序员充分了解他们所承担的零风险就可以投入其中。如果有错误,则不要在砧板上碰到错误。

在更高的级别上,如果出现问题,您将是第一个进入的人。我有一个下属,他犯了一个很小的印刷错误,导致我们亏了钱,所以我有很多经验,我为此付出了很大的努力(不是真正的程序员犯了错误)。

很简单,报酬与风险相称。另一方面,可以这么说,程序员不一定在游戏中有任何皮肤。


5

如果您的问题是“为什么X和Y比我公司的程序员薪水更高”,我可能会回答“您可能在错误的公司工作”。

公司在软件业务中的成功更多地取决于其程序员的能力,而不是其他任何人。与意识到这一点的公司相比,不认识这一点的公司自然处于劣势。雇用最好的程序员并照顾好他们是最好的选择。优秀程序员与其他程序员在工作上的差异是巨大的。比他们命令的薪水差异大得多。但是,如果您坚持不付给程序员薪水,那么您将得到所付的钱。

也就是说,业务中的所有其他角色都很重要。伟大的管理者产生了巨大的影响。其中很多是通过吸引优秀的程序员并使他们满意。关于业务分析,市场营销,销售,测试和支持,可以说类似的话。

如果您是一名出色的程序员,但没有得到丰厚的回报,那就去别的地方。再说一遍,您可能不是一个优秀的程序员。不幸的是,如果您不是很出色,很难理解为什么。如果您知道为什么,那么您可以改变并变得很棒,对吗?

我曾经是程序员,而我曾经是人事经理。我曾与许多优秀的程序员合作,但只有少数优秀的经理。当我是经理时,我并不出色,但至少我知道。我的人民比我应得的加薪更多。


5

这与技能和工作关系不大,我的意思是说经济上与人们应得的收入无关。

值得更多赚钱是一个短暂的想法,每个人都认为他们应该赚更多钱。

尽管这可能不公平,但经理之所以会赚更多的钱,仅仅是因为企业主更加信任他们。经理们通常会获得更高的薪水,只是为了避免在不方便的时间突然失去一份新工作。


4

我认为您对这个问题的整体理解是有缺陷的。

管理人员的报酬必须高于其下属。公司的资历通常以薪水为基础,初级员工不可能拥有命令其上司的手段。

领导人才是一项专业技能。并非每个人都可以成为项目经理(PM)。随着人员数量的增加,这项任务越来越困难。在担任技术PM的角色中,PM需要掌握有效地领导技术的知识-否则他们将不会得到下属的尊重和支持。


6
我认为,OP的意义在于,不仅真正合格和优秀的经理比下属获得更高的薪水,而且(几乎)所有这些人,甚至是真正无能的人都比他们的下属更高。
彼得Török

1
另一个问题:管理是一种人际交往能力。我认为,要获得他/她的团队成员的尊重和支持,并不需要真正的PM是非常精通技术的(我也不认为这些团队成员确实应该是PM的下属)。我完全同意Peopleware的观点,即优秀的经理可以消除团队面前的所有障碍,然后让他们完成自己的工作。
彼得Török

11
管理人员的报酬必须高于其下属。不必要。当然,我不想在这个“必须”的规则下工作。
Nikita Barsukov 2011年

1
我从来没有发现或听说过这样的公司或组织。尽管可以承认,我的经验是在两个非常古老的行业(银行和政府)。
TZHX 2011年

4
@tzhx:我曾在一些严肃的公司工作过,这些公司的经理的薪水与我差不多比一些比我更好的专家的同事要。不,这并没有打扰我们任何人,也没有使我们将管理者视为劣等人。我们每个人都在做自己的工作,尊重他人的工作-我们的经理显然做得很明智。团队精神应该胜过等级制度,恕我直言。
9000

4

在许多专业中,一项核心技能是销售东西的能力。要出售某物,您需要自我推销。您需要买方信任您,并尽可能多地重视您提供的产品或服务。该技能可以完全转移到薪资谈判中。


4

我浏览了所有帖子,而且我敢说他们大多数都在尝试比较苹果和香蕉。

首先,我相信有人说“管理只是小菜一碟”,除了自己的日程安排外,再也不需要做任何其他事情了。另一方面,说“任何人都可以编写任何东西”是愚蠢的(出于上帝的考虑,并且在错误的论坛中!)。

我特别喜欢rwong和luis.espinal请求,尽管我相信还有其他事实也需要引起注意。

我不相信等级制是一个答案-时至今日-尽管它在过去的10.000年中非常合适。我们在一个社会中生活了几个世纪,在这个社会中,您的利润越高,您的权力就越高(反之亦然)。我不认为它适用于我们的世界,尤其是在我们所在的地区。

回到主要问题,我相信经理们通常会赚更多钱,因为他们对公司更有价值,不是因为他的层级较高,而是因为

  • 他已经从以前的经验中学到的所有知识(通常,程序员的经验比一般的经理少)
  • 能够同时管理多件事情(程序员要完成一项任务或一个任务列表,而经理则必须管理自己的任务
  • 他们是他们管理的项目的主要联系人,因此,如果发生问题,它们是第一个“目标”。如果您是经理,更容易失业;作为开发人员,您具有“重做某事的许可”。这就是每个人都提到的“风险”因素。
  • 开发人员是整个项目生命周期的一部分。我相信,当我们在这里谈论“程序员”时,我们还会想到测试人员,技术撰稿人以及其他对项目成功至关重要的人。
  • 在这个主题的一些帖子中,我只有看到一些东西:领导力。成为一名经理将要知道如何与人保持联系,进行谈判,保持每个人的动力,在每个人情绪低落时创造协同作用。

我认为,领导因素是薪水较高的主要原因,因为它为公司和领导层周围的每个人带来了长期的丰硕成果。

顺便说一句,作为团队负责人,我只有很少的经验(远不是项目负责人!),我知道领导者的工作,也知道我要做的工作。

编辑:忘记强调:沟通技巧对我们大多数人来说不是强项,但对于领导者来说是必不可少的。此外,我想在Coding Horror上分享一个很好的帖子,内容涉及优秀的程序员和沟通技巧-> http://www.codinghorror.com/blog/2011/02/how-to-write-without-writing .html


3

这样考虑,熟练的管理人员的数量少于熟练的编程人员的数量,因此,管理人员对公司更“有价值”。


究竟。劳动力价格并非不受供求规律的影响。
尼克·霍奇斯

除了有很多熟练的管理人员比熟练的开发人员更多,这会使您的论点无效。
Dunk

3

这取决于您如何定义“难度”。即使,我想知道您是否知道项目管理的内容以及业务分析师应该做什么。我从您的问题中读到很多挫败感,所以我认为您的经历很糟糕。不管怎样,我想尝试回答您的问题。

当项目经理和业务分析师担任这些职位时,他们通常“老”些。在开发人员的职业生涯很年轻的时候(大约20多岁),大多数项目经理和分析师的年龄都在30岁左右(仅按年龄段就已经产生了收入差异)。他们也是面对顾客的人,这意味着他们必须到现场旅行,花费数小时的折磨来听取顾客的意见(特别是当一个项目错了时),并征求他们的意愿/需求。他们必须小心自己的承诺,尤其是在什么范围内(交货时间)。即使从您的角度来看,他们所做的只是记录在案,但仍会教育业务分析师以分析业务需求,并且项目经理会保护项目的计划。

它们充当客户和开发人员之间的防火墙。技术角度不同于销售角度。大多数业务分析人员和项目经理还面临各种各样的客户-他们暴露无遗,因此拥有“潜在客户”。他们的网络由决策者组成,因此,公司更希望将拥有此类网络的人员放在可及的范围内;毕竟销售就是销售。

关于难度?创建一个公司,有十个开发人员,然后尝试管理一个项目。头痛是免费提供的。这样做一年,然后再次查看您的答案。为广管局?争取这样的机会。与拥有1974年AIX机器的客户坐下来,该系统的设计者已死/退休/垂死/老年痴呆,开发人员需要知道是否已产生一定的价值或具有某些神秘的公式。尝试在3天之内说服20个人使用Powerpoint解决方案。如果记录是那么“容易”,Linux早在1997年就已经风靡全球。确实,请尝试每月为非技术人员(认为Facebook是计算领域的一场革命)编写技术白皮书。

我是销售工程师。这意味着我可以开发,但是我的专长是原型和演示。而且我的收入比业务分析师或项目经理还多。并不是因为我拥有一个网络(虽然我有),而是因为我放弃了态度,更加专注于业务视角,获得了认证并教给我一些软技能。在加班方面,了解“不”的经验也是答案。


您的整个答案都是有缺陷的。与BA和PM处于同一年龄的程序员仍然会少些。
2011年

一个女服务员也面对顾客,脸上沾满了很多废话,但厨师会弄脏他们的手,使顾客想要的东西在一天结束时得到更多。
2011年

2
现在说我的整个答案都是有缺陷的,基本上是在告诉人们您的观点和经验是唯一的事实/事实。我指出您的“事实”并不总是真实的,因为我正在经历其他事情。
Shyam

3

简单的答案:它们对公司比程序员更有价值。

为什么?因为它们可以确保项目完成,即使他们自己不进行编程也是如此。这意味着它们的价值(纯粹是对公司的货币价值)比单个程序员更大。该公司不相信不受管理的程序员是有生产力的,因此也不是有价值的……只有经理才能使他们如此。

很烂,我们可能不喜欢它,但这就是该公司向他们支付更多钱的原因。

但是,他们的职位(正如其他人所指出的)也有缺点:如果他们未能在一定时间内完成项目,那是他们的错,而不是程序员。他们肩负着更多的责任,并且有可能因失败而被解雇(除非存在某些BS公司的裙带关系)。

因此,实际上,不允许他们犯错误,对他们施加更大的压力以及从事更加不稳定的工作……但不要感到困惑:这不是为什么他们的薪水更高的公司不会给老鼠的屁股大的压力,您的姿势有多不稳定,诸如此类。他们只关心您为公司带来的价值。期。

那是资本主义,伙计们。


2

我不知道一年中需要更新多少次甘特图知识。但是,进行编程时,您需要使用新技术进行更新,而随着年龄的增长,这将变得不那么容易。

学习新技术需要花费大量时间,如果您足够聪明,就可以吸收。

在当前的公司文化中,多年编程所获得的技能并没有得到太多重视。

将刚毕业的程序员的薪水与拥有10年以上经验的程序员的薪水进行比较,真是令人难过。

将新的PM与10年的PM相比较是一个很好的故事,经过10年的经验,PM可能会成为董事。

那么,为什么还有那么多人想在大学里学习IT?我不明白 是否已适当告知他们?

我不了解当今人们如何看待这项技能。



2

管理并不总是比工程人员多。高级工程人员应积极参与业务水平分析和决策,并为公司制定技术路线图。在这种情况下,高级技术人员的收入可以超过他们每天工作的业务经理。

流行的商业神话之一是,经理人的薪水应高于其管理人员的薪水。国际海事组织,您发现这种想法在功能方面比在敏捷的职能团队中更为牢固。

换句话说,补偿应该反映一个人对公司的贡献的价值。有出色的业务经理和普通经理,也有出色的工程师和普通工程师。如果您有一位杰出的工程师来开发赚钱技术并且对公司的技术有深刻的了解,那么与恰巧管理这位这位杰出工程师的普通业务经理相比,更积极地补偿这个人,这不是公司的最佳利益吗?由于您忽略了这一宝贵资源,失去工程专业知识和技能的机会成本是多少?


“薪酬应该反映一个人对公司的贡献的价值。” 这定义了可能的薪资上限。至于下限,我觉得在解释programmers.stackexchange.com/questions/45776//45963#45963真的很棒,还有一个在programmers.stackexchange.com/questions/45776//45879#45879
Suma

2

一个月前,我开始了我的第一个项目作为PM。在我成为程序员之前。(顺便说一下,我得到的钱和以前一样。)

我发现,成为一名优秀的PM意味着成为一名具有丰富经验的优秀程序员。您应该能够从一个团队成员转到另一个团队成员,并使用您的实践经验来讨论他们所遇到的问题,从而通过提供不同的观点来帮助他们理解问题。除其他任务外,您的任务是管理接口。PM就像导体。您可以拥有最好的音乐家,但是如果您没有一个很好的指挥家,知道如何很好地演奏元乐器乐团,那么您只会一团糟。

对方是专家。这是能够解决难题的程序员,因为他对问题领域有深入的了解。如果他们的谈判能力足够好,这些经验丰富的人通常也会获得高薪。不幸的是,专家们常常是书呆子,对金钱或对达成一笔交易并不感兴趣。


1

程序员不会将薪水放在第一位(假设薪水合理)。想象一下两个工作机会,其中一个具有较高的薪水,相同的时间投入,但需要技术支持,严格的工作时间,着装要求,编写用户文档,以过时的语言处理旧代码,希望您再也不必使用了,您需要更多薪水吗?


1

如果您在一家尊重编程,数学,问题解决以及任何技能的公司工作,那么您可能会从两件事上赚到更多:

  • 做更多困难的工作
  • 承担更多责任

仅仅因为医院没有向熟练的DBA支付太多费用(请参阅第一个答案中的示例),并不意味着每个公司的情况都是一样的。


-1:医院不向熟练的DBA支付多少钱?告诉我哪一个,所以我知道不去。我不希望家人的病历受到损害或丢失。
Jim G.

1

好吧,我对答案有些惊讶,所以就到这里了。但是在此之前,我只想澄清一下我是一名程序员,除了编程之外,我没有什么比我更喜欢的了。那就是说,我对合格的 PM和BA 具有良好的尊重和尊重。我意识到我们很多人都对PM和BA感到不满,因为与编程不同,没有必要的能力水平(办公室政治,西装革履等),他们就有可能脱颖而出。

但是,项目管理和业务分析都是软件开发的关键组成部分。

每当我们想到软件开发时,我们中的许多人就会倾向于只专注于编程,而排斥其他所有事物。然而,除了编码之外,还有更多的东西。

开发的首要目标是创建一个可以实际解决和解决客户问题的软件。这意味着首先要真正弄清楚客户的需求(因为客户可能不确定自己想要什么),这只有通过详细分析客户操作的领域和各种工件(无论是人员,技术基础结构)的结构来实现或流程),然后开发合适的业务解决方案(及其与技术的集成)来满足这些要求。

同样,没有有效的管理,任何规模很大的项目绝对无法工作。现在我不知道其他地方的情况如何,但是到目前为止,我的经验是PM通常是从程序员队伍中提拔出来的,因此他们确实对组织和执行项目需要些什么有所了解。

总结一下,BA和PM都是开发的抽象层


1

许多人在这里说,编程更加困难,这就是为什么它应该赚更多的钱。那是非常浪漫的看法。事实是,在正常,健康的公司中,付款是根据责任进行的,这意味着该人的增加值以及风险

风险通常会被遗忘。通常,如果程序员在难以完成的工作中失败,则可能会增加一些成本,但仅此而已。不会有10%的工人会失业或类似的事情。风险很低。

我也想不同意大多数商人能赚更多钱的想法。我敢打赌,普通的商务人士的收入要比大多数理学/工程学士学位的收入要少。例如,作为本科假期编码员,我的收入几乎与同一家公司的一些全职业务人员一样。

最后但并非最不重要的一点,为什么项目经理不是工程师?通常,项目经理是一个在他管理的项目主题上有着多年领导经验的人,这意味着在编程工作中,它将是一位经验丰富的程序员,他是项目经理。


1

在公司环境中,命令和控制模式中心辐射型通信模式占主导。在这些组织中,经理和首席沟通者通常是同一个人。这使管理人员成为单点故障 -沟通不畅或翻译丢失的任何不良影响都会被放大。因此,这些环境要求具有广泛技术背景的人员担任经理,以确保准确性。

更有条理的团队通常会任命首席传播者来减轻这一责任。实施知识管理的组织不会在沟通中出现任何单点故障。在这些组织中,经理和首席沟通者要求提供信息并促进讨论。这些信息将被捕获和处理以供内部共享。需要一套不同的社交技能。

同样,业务分析师通常是客户与公司技术人员之间的单点联系。


1

这并非总是如此。当我在计算机科学公司(CSC)工作时,大多数经理的收入都比“产生有用的东西的人”少。就CSC而言,我认为情况是因为该公司是由一群程序员创办的。

当时(1970年),在洛杉矶有另一家软件公司,我的名字被我忘了,他的薪水很有趣。程序员的年薪为25,000美元,支持人员的年薪为15,000美元。想法是,如果您是最糟糕的程序员,那么被替换就不会感到惊讶。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.