当科技公司推销工程职业时,他们会宣传两条平行的道路。一个是工程师,另一个是工程经理。这里有一个来自Square的例子,但你会发现大多数科技公司手册中的语言基本上是一样的:
成为经理不是升职:正如下面更详细讨论的那样,我们将升职定义为提升一个级别。当一名工程师第一次成为经理时,他们保持在同一级别,并横向移动到工程管理轨道。再说一次,我们不想仅仅为了职业发展而激励成为一名经理。-Square';的增长框架。
一种选择并不比另一种更好,它们只是不同而已。工程师编写代码。经理们扮演着仆人领导的角色,支持工程师的工作。这两个角色具有共生关系,使每个人都能茁壮成长。
这就是重点。但人类既是合作的动物,也是竞争的动物,在工程师和管理者的情况下,存在着明显的权力失衡。工程经理知道你的薪酬,而你不知道他们的薪酬;他们在你对他们的薪酬投入有限的时候进行你的绩效考核;他们是你晋升的看门人,而你没有走在通往他们薪酬的关键道路上;他们是正式发起你解雇的人,而你没有正式的权力发起他们的解雇。这看起来很重要,但这两条赛道的竞争方面从未被提及。为什么?
一种方式是将科技公司视为能够印刷几乎无限数量的巨型、非常复杂的印刷机,而将工程师视为具有维护这些机器的技能的机械师。没有工程师,印刷机就会堵塞,货币供应就会消失。目前没有办法绕过这一点。这就是雇佣工程师的原因,也是他们的主要权力来源。
他们还有其他顺风。这些机器很精密。知道如何保持它们需要高智商和有利于连续几个小时进行抽象符号操作的心理化妆。这些素质是罕见的,所以劳动力供应是有限的。另一方面,在FAANG、微软、数以千计的小公司和需要工程人才的大型非工程公司之间,有限的劳动力供应的需求是巨大的。
工程师权力的主要限制是,公司所有者学会了以一种划分和复制必要知识来维护印刷机的方式来设计印刷机。截至2018年,在所有商业部门中,科技行业的离职率最高,为13.2%。这一比率可能更高,特别是对工程师来说。例如,嵌入式软件工程师的流失率为每年21.7%。这些数字被认为是工党力量的证据。但另一种不同的思考方式是,科技公司可以解雇20%的工程师(可能要多得多),而机器将持续运转。这些公司用金钱换取裁员。招聘的费用很高,但这没问题,因为这些公司有无限的资金供应。他们得到的回报是杠杆--工程师不可能让机器停下来。
划分的另一个含义是,它严格限制了不同技能水平的工程师之间的工资差异。例如,谷歌工程师的薪水从应届毕业生的18.8万美元到首席工程师的135万美元不等,或者说~7倍。这可能看起来很多,但如果你考虑到团队中最好和最差工程师之间的生产率差距可能是100倍或更多。当然,谷歌的一些高生产率工程师的收入超过135万美元。但总体而言,知识划分给工资差异带来了巨大的下行压力,这反过来又对工程师的市场力量构成了另一个限制。
对工程师来说,一个自然的激励是减少划分,以增加他们自己的杠杆作用。如果他们经营这些公司,他们就会这么做。而且由于减少区隔有违公司业主的利益,业主不能让工程师负责。这就是他们聘请工程经理的原因。
与工程师不同,工程经理没有天然的权力来源。在以前的生活中,他们中的许多人自己操作机器,但有一段时间,他们已经放弃了工匠的角色,转而从事管理工作。有时是因为他们一开始就不是好工匠,知道这会限制他们的赚钱能力。有时,他们是优秀的工匠,被普通人中社会地位的诱惑所诱惑。有时他们真的想支持工程师的工作。但在任何情况下,他们都不能再修理机器了。他们的力量必须来自其他地方。
它是从哪里来的?由于没有自然的来源,公司所有者必须通过法令授予工程经理权力。我已经提到了这笔拨款的实质内容-通过绩效评估程序单方面了解你的薪酬和晋升情况,启动解雇程序的正式权力,以及指导你工作的正式权力。
工程经理的权力是有限的。工程师们相互保留对彼此绩效评估的意见,通常可以选择自己的工作,在许多科技公司,经理们不能单方面解雇他们。从公司的角度来看,更换一名工程师很容易,但由于劳动力市场紧张,这并不容易。既然工程经理不能自己修理机器,他们就必须让出一些权力,才能让工程师保持机器运转。
经理的工资与工程师的工资大致相同,这表明这两个群体的权力大致平衡。平分是很多的!这意味着工程经理的权力等同于让无限金钱发电机活着的人。工程经理能为这些拥有如此巨大价值的公司提供什么呢?
官方的答案是仆人领导。经理们清除了障碍,以便工程师可以做好他们的工作,充当信息中心,以便每个人都了解他们需要了解的最新情况,控制官僚作风,以便工程师能够集中精力,并采取1:1的方式及早发现问题。
如果我们承认这些任务很重要,证据仍然不符合。为什么不让工程师来做这项工作呢?为什么要把控制某人的工资和晋升与清除障碍和处理沟通捆绑在一起呢?为什么要将两者从编写代码中分离出来呢?在接缝处雕刻自然真的是最自然的方式吗?
尼尔·波斯曼(Neil Postman)指出,技术和文化往往会变成他所说的神话:
我有时会问我的学生,他们是否知道字母表是什么时候发明的。这个问题使他们大吃一惊。就好像我问他们云和树是什么时候发明的。他们认为,字母表不是发明出来的。就是这样。人类文化的许多产品都是这样,但没有一种产品比技术更始终如一。汽车、飞机、电视、电影、报纸-它们之所以获得神话地位,是因为它们被视为大自然的礼物,而不是在特定的政治和历史背景下产生的人工制品。
当一项技术变得虚无缥缈时,它总是危险的,因为它会被接受为现实,因此不容易被修改或控制。如果你向普通美国人建议电视广播不应该在下午5点开始,晚上11点就应该停止,或者建议不应该有电视广告,他会认为这个想法很荒谬。但不是因为他不同意你的文化议程。他会认为这很荒谬,因为他假设你是在提议改变一些本质上的东西,就好像你是在建议太阳应该在上午10点而不是6点升起一样。
关于管理文化,这一观察也是正确的。将对薪资和晋升的控制与指导工作和处理沟通捆绑在一起并不是自然规律。它是发明出来的。例如,IBM以外科团队为蓝本,试验了首席程序员团队结构。在这种管理技术下,团队的指定管理员处理人员和金钱(以及其他事情),并向团队的首席程序员报告,而不是反过来。
一旦你允许自己认为工程管理结构是一个需要解决的问题,而不是一个需要遵循的自然规律,你就可以想象无穷无尽的可能性。您可以使用可怕的架构师/实现者模型,在该模型中,一个人设计体系结构,他的下属实现它,然后他评估他们的性能。您可以仿照大学院系的模式,随机挑选一名工程师在一两个季度内完成令人不快的管理任务,然后让他们回去编写代码。你可以让每个团队随心所欲地组织起来。你可以效仿拉里·佩奇(Larry Page)曾经做过的事情:解雇所有经理,让公司里的每个工程师向一个人汇报工作。您可以在孤立的项目上尝试不同的管理方法,如果它们被证明是有效的,则可以扩展它们。你能做的事是没完没了的。
那么,为什么每一家主要的软件公司都选择并行发展呢?与所有其他可能性相比,这种管理结构有什么优势?考虑到在这样一个系统下工作的现实,这尤其令人费解-在实践中,平行轨道总是演变成两个重叠的地位等级。
第一个是非正式的声望等级制度。在一家拥有1,000名工程师的公司中,大约有50名工程师可以修复任何错误、解决任何事件、实施任何功能。他们知道如何发展代码库以支持任何必要的更改。他们不仅仅是技术领导--他们了解软件业务,而且他们一眨眼的功夫就能分辨出好的工程师和坏的工程师。每个人都知道他们是谁,每个人都向他们寻求指导,不是因为有人下令这样做,而是因为人类部落自然形成了基于能力的威望等级。
重叠的层级是一种支配地位,由菲亚特任命的工程经理组成。他们让你使用吉拉,邀请你每周1:1略显尴尬,并告诉你阻碍你拿到更多钱的缺失的品质。有时,他们帮助获得资源并解决各种人员冲突。否则,他们会消失在与您的产品或团队无关的人的会议中,这大概是出于非常重要的原因。
就像中世纪欧洲的教会和国家一样,这两个等级制度从略有不同的角度管理着同一个政体。最初,这种关系在共生和对立之间摇摆。随着时间的推移,粗糙的边缘会被磨掉,齿轮会得到润滑,而且这两个层级大多学会了远离彼此的方式。
这种关系是平行轨道系统最重要的性质。从表面上看,一切都与任何其他业务中的任何其他功能没有什么不同。工程师向工程经理汇报,工程经理向更多的经理汇报,最终有人向CEO汇报。但如果你眯着眼睛看一看,在每一个重要的方面,工程师和工程经理都在不同的组织工作。他们有不同的目标和不同的哲学。他们遵循不同的动机,钦佩不同的人,效仿不同的榜样,使用不同的语言,玩不同的政治游戏。由于人类对团队的忠诚度不断提高,从公司的角度来看,一个很大的优势是,在这种系统工程管理下,工程经理不会对工程师产生任何忠诚度。
如果你检查一下工程经理是做什么的,你就会发现这一点。成为一家大公司的L5级经理应该是一个相当大的挑战。但除非你是个白痴,否则这将是你做过的最容易的工作。你所要做的就是把你自己插入日历,然后把你的大脑设为自动驾驶。去参加你应该参加的会议,说你应该说的缩写,更新你应该更新的电子表格,不要做任何可能危及系统的事情。做那件事,你就会升职。做其他任何事情,您的性能将永远需要提高,直到您放弃并重新开始编程。作为新经理,你只有一份工作--通过公司的合规性测试。
在那之后,事情会变得更有趣,你会被介绍到越来越复杂的政治游戏中。不管你对工程师的忠诚度有多高,你都会受到激励,如果激励措施不起作用,它就会回归永久状态,需要改进,直到你自己选择退出为止。这句话的意思是:“无论你对工程师的忠诚度有多高,你都会受到激励,如果激励措施不起作用,它就需要恢复到永久状态。”你继续说正确的话,假装关心工程师们的想法。你给他们提供劳动力市场需要的东西,这样他们就能让机器保持运转。你要确保他们的工作被划分开来,以防止他们获得太多的权力。你要守卫管理组织的毛孔,以确保任何忠于工程师的人都不会渗入。
这就是均衡。工程师们可以编写代码,并相信他们可以运行东西。工程经理的工作非常轻松,他们相信自己在做富有成效的工作。机器一直在运转。没有人特别高兴,但是每个人都做了很少的工作就赚了很多钱,所以没有什么可抱怨的。
或者真的有吗?软件公司的重大文化变革似乎是由断断续续的均衡支配的。微软的文化与IBM截然不同。25年后,谷歌的文化与微软大不相同。又过了将近四分之一个世纪。也许是时候做出另一项改变了。