分析Bill有着超人的记忆力,每次面试结束后他都会记录大量的笔记,所以有很多资料来分析这次社会学的实验。它教会了我很多,在A公司,BIll申请的是高级软件工程师,他被认为“合适”程度开始有90(只有90,是因为因为他没有博士学位和斯坦福背景)。但是所不知道的一切都是掉分的,没有Spring和Structs方面的经验,减5分; 不熟悉公司的黄金算法?不是一个真正的“数据科学家”,减8分;没有Hadoop 经验?减6分。Bill在他所不知道的一切以及需要多少工作才能让他快速成长成为一个可靠的下属上被评判。 B公司是一次完全不同的经历。BILL从70分开始,但是他所知道的一切是都是给他添分的。他能够说清楚逻辑回归和最大似然法?加5分;而且他还实际实现过他们?加6分;他懂得OCaml?加5分。他所知道的一切都对他有利,我认为他还通过不相关的“有趣的人”有所加分,比如说他的旅行经历。 当一个程序员到了一定的年龄,他知道很多东西,但是同时也有很多的东西他不知道,因为没有人能够知道这个行业所发生的所有事情,从70分开始从你所知道的事情获得加分,远远比从90分开始由于你所不知道的事情得到减分好,除非你在申请一个初级的职位。 这整个问题不仅仅是一个人对技术的掌握程度。作为程序员,我们习惯了学习新技术,这是我们所擅长做的事(即使一毛不拔的商人讨厌投资训练我们)。这是一个社会地位的问题,当一个人在玩工作游戏时,为什么地位会他妈的如此重要,远远比忠诚,能干,勤奋重要。 地位的高低并不意味着被喜欢或不喜欢。有些人被人喜欢但是地位很低,有些人不被人喜欢但是地位却高。通常来说,在工作中拥有高低位比受欢迎更有用,更重要。显然两者拥有最好,但是受欢迎地位低的人在垃圾项目中,永远得不到进步。不被人喜欢地位高的人,最坏的情况下也能得到遣散费。正如Machiavelli所说,“如果你两者不能兼备,被人敬畏远远比人喜爱更安全”,人们的喜好会随着时间变化的,但一个地位高的人不大可能会让他人对自己不利。 此外如果你地位低,人们最终会找到不喜欢你的理由,除非你不断地牺牲自我以换取别人的喜欢,甚至用这种方式耗尽时间。地位高,人们会找喜欢你的理由。地位低,你的缺点会被首要关注,你的优点会被视作不重要的,或许还会经过“是的,但是”之类的反驳将积极的方面变成负面的(比如说“是的,他在Clojure方面很擅长,但是他只不过是那些动态类型方面的牛仔程序员之一”,“是的,他很擅长Haskell,但是那只意味着他不过是那些静态类型方面的白痴之一”,“是的,他是一个很好的程序员,但是她看起来不像是团队中的成员”)。当你地位低时,你最好的策略是不被人看到,注意到的,因为即使你优秀的特质也会伤害到你。你想要保持清白,等待一种均值回归现象把你带入中间阶层,在那里,受人欢迎会帮到你,然后过些时间,会把你带到中上层或上层。 当你地位高时,那情况将是相反的。你不用努力保持自己的石板空白,实际上所有对你有益的事情会被写在上面。人们会夸大你的优点,忽略你的缺点(除非这些缺点是极坏的并且危险的),你从70分开始,人们会寻找方法来给你增加另外的30分。 程序员的热情 我一直觉得程序员的社会地位低,上面的实验也支持这个观点。显然,这些都是一些事迹而不是数据,但是我认为我应该着手给“软件工程师”的低社会地位一个严格的定义。 在当前经济和市场情况下,程序员的工资到底是低了还是高了,经常会有这样的争论。由于这种因素是可变的,不能够准确的衡量,所以,这种争论最终会以主观感受结束而不是一些(客观)技术上的支持。一个人的缺点被关注还是积极的优点被关注—使用这种地位的技术观念,我们有方法不通过比较一个人的薪水和他们应得的工作条件来评估程序员的社会地位。如果你所处的位置人们强调你的错误忽视你的成就,那么你的社会地位就低(即使你每年挣20万美元,那只意味着裁掉你的计划将会很快到来)。如果你所处的位置和这个相反,那么你拥有一个高社会低位。 从这个角度看,程序员社会地位低的事实,不能够再清楚了。我们永运也不会付给一个软件工程师“理想下正确的”“公平的价值”的薪水。可以看到的是技术人员的成就在他们所工作的企业中很少被提到,但是他们所犯的错误却被着重突出。我曾经在一家公司被告知的第一件事是4年前由一个人造成的生产中断,那个时候他还是个实习生。(为什么一句话也没有提那个让一个实习生造成事故的经理?因为那位经理的地位高。)问题的很大一部分原因是程序员向来习惯于胜过对方(见:feigned surprise)以证明他们具有更优秀的学识,能力与智力。从外部(即,从我们所为之工作的企业经营者的角度)来看,这些无聊的比赛使得双方都看起来愚蠢和不足。程序员通过稳妥地降低彼此的地位,毫无闪失地降低了整个群体的地位。 曾经有一段时间,或许离现在有20多年了,当时的硅谷是不同的,工程师掌管着局势,技术人员互相帮助,程序员工作在高度自治和充满鼓励的研发环境中。套用一个研发车间的内部标语:坏的创意是好的,好的创意是非常棒的。硅谷是不合群的人的爱丽丝岛(超人狗,是个秀),在“牧羊犬”的领导下企图远离主流的MBA文化(这种文化能够摧毁行业的创造力)。那个时期结束了,旧金山加入到了由波士顿,纽约,华盛顿,和洛杉矶组成的“paper belt”(根据Balaji Srinivasan的术语,战后工业和基建系统非常完善的区域)。风险投资转向好莱坞那些丑陋的人,硅谷开始成为自身成功的受害者。海湾地区的房东使得这个程度更大了。从MBA文化的据点如麦肯锡和高盛出来的一些失败者找到了竞争力更小的舞台,在那里他们可以(不受惩罚地)无所顾忌地管理书呆子。如果你还不够优秀到在银行担任总经理,你去西海岸成为一个风险投资创始人。在这种硅谷新秩序下没有胜出地其中一群人就是软件工程师。房租涨得比他们地薪水还要快,他们逐渐远离了创新的同伴,而成为MBA文化失败者糟糕思想的实施者。这是我们现在所处地位置。 那么发生了什么事?难道硅谷新的财富吸引作恶者是不可避免的吗?或者是可以避免的?事实上,我认为这应该停止,认识到我们现在的处境。有没有可能在其他地区复制硅谷地成功,而且当资金出现并注入到其中时,我们的地位和自由不会丢失?我想是这样地,但是我会用另一篇文章来解释为什么我们可以保持优势以及用我们的方式使用实用的策略保持游戏公平。这是一个大的话题,和我在这篇文章中试图表达的相去甚远。 地位的丢失是一件很让人悲伤的事情,因为科技本来是我们的场地,我们熟悉电脑和软件,以及算法基础,但是这些拥有MBA文化的侵入者却不懂。我们应当拥有优势和保持一个高低位,但是我们却败了,为什么?这里有两个彼此相关的原因。 第一个原因是我们缺少“牧羊犬”。牧羊犬,在这里指的是一个好斗强势有能力保护善类的人。一只牧羊犬能够驱走捕食者进而保护羊群。牧羊犬不会挑起战斗,但是却会以它们希望的方式结束战斗。程序员不喜欢“搞政治”,即使他们自己的同类卷入到了办公室政治中,他们也很讨厌“搞政治”。结果就是我们没有太多的牧羊犬保护我们免受拥有MBA文化的狼群的入侵。 如果有人学习一些保护善类的技巧,结果往往会不同。 第二个原因是我们允许别人用“热情”来对我们不利。当我们喜爱我们的工作时,工作会非常努力(我们愿意让它被人知道,我们工作得非常努力)。但是这造成了两个方面的负面影响:第一它表明,如果我们不喜爱我们的工作,我们会和其他人一样对工作不尽全力。管理层通常会有一种政治家的城府不会随便表现出他们是否喜爱他们的工作,除非是他们非常信任的人。程序员,相反地,对待自己工作的态度非常明显。这意味着那些对工作显得很高兴的人不会得到应得的(他们工作的很努力)升职,因为管理层觉得没有必要去奖励他们,而那些对工作显得不那么高兴的人就会因为潜在的“态度问题”突出在咄咄逼人的管理层面前。第二个负面影响是,对工作没有热情是一种犯罪,尤其在创业公司,我们是不被允许把工作当作“仅仅是个工作”,并且不应该仅仅在给予超常报酬时才付出超常的努力。我们不被允许去“搞政治”保护自己,我们应该充满热情地免费干这个工作。 大部分人并没有意识到正是这种强制性的“热情”文化降低了我们的社会地位,因为它鼓励我们无理由,不计条件的拼命工作。失去地位最快地方式是接受当前的低地位状态。比如说,程序员经常会在人手不足时过度工作,这是一个糟糕的事情(那些高官不相信我们,所以我们通过加班证明给他们看),允许人手不足的情况存在,这样做就证实了整个团队的低地位。 管理层是比较机智的一群人,当不到提升或应得的酬劳时,他们会多工作失去热情。他们的这种态度并不是可憎的,他们不讨厌这种态度,但是也不会试图去掩盖它。他们不会给违背他们兴趣或降低了社会地位的项目或公司付诸于真正的努力,他们也不会为了成为“热情的人”而对自己不利。他们希望自己被看作是一个极其能干的人而不是可以无条件牺牲的人。这就是他们和我们的不同之处,管理层一心为自己着想,并且对事实相当开放。相反地,程序员却因一些形式的自我牺牲自居为英雄:比如说牺牲周末来交付项目,最后被取消了;或者在没有搬迁费的情况下搬到旧金山,因为他“真的相信”那个他甚至都不能连贯描述的产品,并且他还会拥有百分之五的股份。 管理明白互惠性,他们付出恩惠来赚取恩惠,但是不会去做牺牲自我。当“工作”不再爱他们时,他们也不会掉进“对工作的热爱”的自我幻觉中去。他们不怕“搞政治”,因为他们认为工作主要是政治,只有那些能够负的起对政治漠不关心的人或求同的人才是可信赖的政治赢家, 但是直到某人在哪个阵营,他不能够再幻想。 如果程序员想被认真对待,我们应该被认真对待,我们当然想要这样。我们必须对我们的妥协做出反思并且开始修补。甚至这是“政治性的”。我们应该停止吹嘘无意义的自我牺牲为了最终的是别人的事情,开始为我们自己以及我们的价值发声。 |