专栏名称: Python开发者
人生苦短,我用 Python。伯乐在线旗下账号「Python开发者」分享 Python 相关的技术文章、工具资源、精选课程、热点资讯等。
目录
相关文章推荐
Python爱好者社区  ·  机房锂电池火灾致阿里云服务瘫痪,超 30 ... ·  2 天前  
狐狸说安全  ·  4W,建议师傅们冲一冲这个方向!! ·  2 天前  
Python爱好者社区  ·  退什么休?财富自由了! ·  1 周前  
Python中文社区  ·  用OpenAI最新 “o1” 模型开发量化交易策略 ·  1 周前  
蚂蚁学Python  ·  2024年Python人工智能学习路线 ·  1 周前  
51好读  ›  专栏  ›  Python开发者

程序员对比在大公司和创业公司的工作和报酬

Python开发者  · 公众号  · Python  · 2017-03-11 20:57

正文

(点击上方蓝字,快速关注我们)


译文:伯乐在线专栏作者 - 郑芸

英文:Dan Luu

如有好文章投稿,请点击 → 这里了解详情


【伯乐在线导读】:本文作者 Dan Luu 是一位做底层的程序员,2015 年加入微软。之前曾在谷歌工作 2 年。还有一段在创业公司工作 9 年的经历。Dan 根据自己在创业公司和大公司的工作经历及见闻,反驳了 3 个观点:在创业公司更赚钱,创业公司的工作更有意思,在创业公司能学的东西更多。



有个模因(Meme)至今流传已久:你应该加入创业公司,因为赚钱更多,工作上应用到的技术更有趣。


  • 硅谷创业教父 Paul Graham 说最好的赚钱办法就是“建立或者加入一个创业公司”,“这个可靠的致富办法已经有上百年的历史了”,你可以“在短短几年赚到本该是你整个职业生涯赚到的钱”(Paul Graham 写于 2004 年的博文)。

  • 科技博客 TechCrunch 创始人 Michael Arrington 说你将创造一部分的历史。(2011年)

  • Joel Spolsky 说过,如果你加入一家大公司,到头来就是“玩桌上足球,祈求别人来查看你的代码”。(2008年)

  • 硅谷公认的最牛孵化器 Y Combinator 新掌门 Sam Altman 说如果你加入Microsoft,”你将不会开发有趣的项目,也不是和聪明的人共事“。(2013年)


他们一致声称如果你进入创业公司工作,可以学到更多,之后会有更好的选择。以上某些链接已有10多年之久了,但同样的观念仍在流传,其中一些文章至今仍被引用。


译注:模因(Meme),Meme一词,最初是由英国生物学家理查德·道金斯在《自私的基因》一书中提出。他认为达尔文理论,不该只局限在生物学范畴里。事实上,任何信息,只要满足能复制、能变异、有选择性的差异,就会产生生存竞争、适者生存的进化演变。道金斯造出meme这个词,意思是“文化的基因”,认为人类文化也是在遵循着同一机制在进化、演变或者消亡。


Joel Spolsky的博客Joel On Software,在业界流行了 10 多年的老博客,记录了 Joel 十几年行业经验,覆盖软件企业运作的点点滴滴,视为行业知识经典。Joel Spolsky 曾是 MS Excel 产品的核心开发,目前是纽约 Fog Creek 软件公司的CEO。


以上观点汇总如下,让我们来逐条分析:


  1. 你在创业公司会赚更多钱;

  2. 你在大公司做不了有趣的项目;

  3. 你在创业公司会学到更多,之后你将有更好的选择;


1. Earnings /收入


数字会根据情况有所变化,但我们可以做一项保守计算,之后可以根据情况来校正。美国中产阶级个人年收入大约 3 万美元(维基百科数据),粗略地计算终身收入就是 3 万美元 × 40(假设职业生涯为 40 年来计算)=120 万美元。一个应届毕业生拿到 Google/FB/Amazon 级别和薪酬比较低的offer,总年收入(包括工资、奖金和股权)差不多是 13 万美元。根据 Glassdoor 上目前的数据,在谷歌做到 T5 或高级职称岗位的总年收入大约 25 万美元。这是相当保守的数字。


一般来说,一个人做得不是特别成功但也不算失败,大概 5 年可以升为高级。基于我们是保守计算,假设到达高级后就没有再超越了(但过了这个级别薪酬真心是猛涨的)。那么,总收入(总收入包括股票,但不包括福利)预计如下图表:



根据上面的图表,要获得美国中产阶级个人终身收入(120万美元)差不多是6年时间。如果你要除去这几年内日益增长的税收负担而对数字进行调整,那就再增加1年(即7年)。如果你决定住在湾区或者纽约,可能要再加1到2年。而如果你不打算退休,你整个职业生涯的总收入差不多是1000万美元。(以上增加的年数是了更保守的估计,实际可能不需要)


一个常见但错误的反对观点是,生活在湾区日常花销会吞噬你的收入这不仅是错误的,而且实际上大错特错。你可以在这些公司湾区以外的办公区工作;但如果你在美国中等生活花销的办公区工作,比如卫星城办公区或者很多公司都喜欢的总部设立在硅谷或西雅图,大部分公司都会少支付你大约10%的薪金。而这些地区的小公司市场回报率通常很低。当我去一些地方像 Madison 或者 Portland 面试时,在同一个城市大公司开的薪金和大部分小公司之间差不多有 3 到 5 倍的差异。像 Austin 这样的地方,那里的市场稍微稠密些,是 2 到 3 倍的差异。在旧金山湾区以外的地区,90% 的公司之间的薪金差异实际上变大了,而不是变小了。


另一个反对观点是大部分公司的大部分程序员赚不到这么多钱。如果,3到4年前,你跟我说我还是做与现在基本相同的工作,但是几年后年收入正常可以达到25万美元,我肯定不信。我认识的人中没有人可以赚到那么多钱,除非是公司的CEO或者跳槽去医药或者金融行业。


那时和现在的唯一的区别就是我得到了一份大公司的工作。当我得到那份工作,在新生训练时我常听到的故事基本是“我从来没想过我能在谷歌找到一份工作,但招聘人员发邮件给我,我想我还是回复下比较好”。因为某些原因,女性特别容易有这种信念。无论如何,我曾把这些轶事告诉许多人,他们并不认为他们可以在一些主流的大型公司找到一份工作,但他们还是申请并被录用了。如果你最终在一个像谷歌这样的地方工作,你会发现,大部分员工都是普通的程序员,就像你和我一样。如果一定要说有什么不同的话,我会说,平均而言,谷歌招人不如我工作过的创业公司那么挑剔。当你只需要雇用100人,其中一半是与你一样在大公司工作过的技术人员,另一半是高级副总裁级别的人,你可以招得非常缓慢、非常挑剔。大公司每周都要招超过100人,这意味着他们只能不那么挑剔。


尽管有很多大肆的宣传,说获得 Google/FB/或什么地方的工作有多难多难,但其实你被录用的概率没那么低,而且其实肯定比在创业公司的机会要高,对此 Patrick McKenzie 在《不要自称程序员》文中有速记:


满分是100


00 ~ 70:你的期权一文不值。


71 ~ 94:你的期权值一笔钱,这笔钱数量相当是你选择了创业公司而放弃的你在大公司能得到的更高薪水和更好福利。


95 ~ 99:期权的价值足以改变你的生活。但你不会觉得富有,因为你不是你认识的人当中最富有的,过去几年你相处的朋友显然都比你有钱。但你的家人不会再因为你没去那些“最受偏爱领域”而唠唠叨叨,你不再有负罪感。


100:你工作的公司是下一个谷歌,你比心中的贪婪之梦还有富有。恭喜你。


敏锐的读者会意识到:这里的这个 100 分几乎不可能出现。


即使是更严肃的调查,也得出了大致相同的结果,80000 Hours 发现在 YC 孵化器中的创始人工作了 5~9 年后的平均身价是 1800 万。听起来不错!但有几件事要牢记。首先,YC孵化器下的创业公司成功率高于创业公司平均水平。二、在他们的分析中,80000 Hours 注意到,0.5% 的创业公司坐拥 80% 的财富。22% 的公司创始人的身价要高于他们为大公司打工赚的钱。剩下的 77.5% 公司呢,情况并非如此。


80000 Hours:一个帮助职业规划和职业培训的非营利性组织


如果你是一个雇员而非创始人,这个数字看起来更糟。如果你非常早加入创业公司,你很幸运,会获得和创始人股份收益相当的十分之一中的其中一份。如果我们假设 YC 孵化器下的 30% 的创业公司在雇佣他们第一个员工之前就倒闭了,那么你的股份权益就是 180/0.7 = 260 万。这个数据,相对你工作 5-9 年创造的价值是很低的,除非这家公司能给你丰厚现金作为薪水,否则,你必须争取到那 0.5% 的创业公司,你收入才不至会比你在大公司打工低。


但我仍感觉这些数字太乐观。即使创业公司很成功,最终有一个坚实的出口,但还有很多的因素仍可以让你的股权变得一文不值。这很难得到相关的统计,但据传,这种情况在收购中很常见。


伯小乐补充:在国内,创业公司想方设法稀释员工股权或者不想兑现的案例,2016 年大家已经见了好多了。


此外,一般创业公司协议中,你只需要工作四年,就可以在离开时兑现你的「彩票」,这种说法并不真实。你可能要待更长的时间直到你的「彩票」兑现(或告吹)。在早期创业公司的股权中的最常见的形式是激励型股票期权(ISOs),根据定义,你离开公司后差不多90天就到期失效了。如果你在创业公司早期加入,在四年之后离开,如果你想要你的「彩票」兑现的话,你将不得不行使你的期权。如果公司还没有达到一个巨大的估值,你离开时需要支付美国中产阶级一年的收入来行使你的期权。如果公司看起来像一个宇宙飞船,风投纷纷涌入,那么你兑现你所有「彩票」则需要支付巨大的税收。


举个例子,假设你在X公司的创业初期加入,你获得了当时价值100万美元的1%期权,行使你所有期权的成本只有1万美元。也许你很幸运,4年之后,这家公司估值10亿美元,你的期权只被稀释了不到 0.5%。太好了!行使你的期权只需要1万美元,卖掉它你可以获得500万美元。除非这家公司还没有IPO。如果你行使你的期权,你将受困于这500万美元所需缴纳的税收,那当时如果你的公司真的IPO了,你的股票将是任何价值(0 到很多,取决于股票市值)。在某些情况下,你可卖掉一些流动差的股权来变现,但是我的理解是公司越来越普遍的做法是在公司 IPO 前增加条款来限制你卖出你的股权的能力。即使那时你的合同上没有那些条款来阻止你在二级市场上卖出期权。公司有时也会使用反向信道通信来阻止你卖出期权。


当然并不是所有的公司都是这样——我听说 Dropbox 慷慨地买进所有的期权,而在当前估值下他们还要运行多年,现在他们分发限制性股票来代替期权。Pinterest 在员工离开后仍给他们 7 年的时间来行使期权,这样的故事值得一提,是因为他们并不多见。现实大部分创业公司的员工为了某些权益仍留在公司,即使他们已经不再喜欢这份工作。与高估值的创业公司的朋友闲聊时,听起来他们公司的大部分员工是“僵尸员工”,他们被招进来后就是一直等待着权益变现。一个对大公司普遍的不满是,它们招进来太多终身在这里工作的员工,但其实大部分的大公司会在员工工作一年后让他们离开,一并带上他们相应比例的权益。反而是在创业公司,员工被鼓励留在公司,即使他们已不再在意这份工作。


一旦踏进一家大公司,我们有很大可能可以在 6 年内实现美国中产阶级的终身职业生涯的收入(120万)。但这并不等于就宣称你无法在创业公司 3~4 年就达到这个目标,但是大公司的风险更低。在初创公司,对于早期员工来说,会有一个有 0.5% 可能兑现的「彩票」。创业公司也许会有一个预期良好的稳定估值,如 Paul 在 2004 年写的。但是大公司的薪酬比中型初创公司的薪酬增长速度更快。我们当前正处于对于程序员来说非常好的就业市场。这个市场随时会变。创业公司的相关权益回报随着事情的改变可能会增加,但是目前,去大公司攒下一笔可靠现金收入听起来也是不错的主意。


2. Interesting work 有趣的工作


我们已经证明大公司会支付你更体面的报酬。但是生活比赚钱更重要。终究,你每周花费40小时来工作。大公司这样的工作真的有趣吗? Joel称大公司不解决有趣的问题,谷歌不定期支付工资给玩飞盘的小孩,因为它们这方面的经验比Python员工的更丰富,后者的工作就是在Googleplex上玩桌上足球。Sam Altman也说了微软类似的事情,每三个 Michael O. Church 评论就是关于谷歌欺骗一大帮有资质的程序员去接受没有人愿做的工作,而且基本上每个出现在 Hacker News 或 Reddit 上针对应届毕业生的建议,都是很多人帮腔在创业公司的经历比在大公司的经历更好。


声称大公司工作无聊的说法太宽泛和绝对,但也可能是真的。这取决于你想做什么样的工作。当我参加一个有高比例高质量的论文的会议时,我发现最有趣的事情是大公司和学术界在论文贡献度上几乎平分秋色,但是创业公司在这方面的贡献度却很偶然。比如,看看2015的 ISCA 会议,论文来自学术界和工业界(而且所有的工业界论文都来自大公司)的论文的比例是 2:1。但是看看实际的论文,有相当一部分的学术界论文所展示的成果是很多大公司已经做过但还没发表的成果,有些还是很多年前就做过的。如果只看新成果,论文比例约是1:1。有些情况是一家初创公司正做同一个领域,但是还没发表,但这非常罕见,大公司做了更多研究,他们并没有发表出来。这里,我把论文代指我喜欢的工作类型,大公司确实在做大量前沿工作。


当然这里取决于你喜欢做什么。我真的不熟悉前端的工作环境,但是似乎大公司不做大部分的非学术最前沿的工作,他们的方式是大规模的系统。如果我没记错的话,在 HN 评论上Jonathan Tang这样描述他的前端工作:他有一个idea,告诉他的经理,然后被批准实现它。在大公司这样的事情有可能发生,但是在小公司这样的做法更容易。如果你的兴趣是产品,小公司看起来是更好地选择(再说一遍,我不熟悉这个领域,信息是二手的。)


但是如果你喜欢大规模系统,就像我之前的两份工作,我遇到过预算为 9 位数的实验性研究项目。有些项目的产品甚至不能为公司创造收益,但是这个项目对公司非常重要,这个基础设施项目可以让公司在这个研究领域更快前行。因为公司是一个每年好几十个亿的公司,这个项目只需要稍微有进步就物有所值。所以一个研究项目的目标可以加速其他研究领域的项目也会通过。创业公司没有资源来投太多的钱在非核心业务的研究领域。而且对于创业公司来说很难的问题在大公司却仅是因为好奇就可以发起。在谷歌遇到问题需要运行一台价值 1 万的机器?没问题!但是在创业公司这几乎不可能,更别说你运行查询时需要的数据,创业公司都没法得到。


但一个反面的例子是创业公司可以轻易安排出时间做一些已成型的公司没法做的事。几年前我在供职于 EC,那时Facebook 刚起步,谷歌广告拍卖员工发现 FB 正在做他们想做的那种实验,但自己的公司太大反而做不了,他们也无法改变谷歌广告拍卖结构。现在,他们只能眼睁睁看着大笔钱溜走。就像我们讨论的其他事情一样,万事需要权衡,真正的问题是权衡事情的不同方面,并不是某个方面总处于优势地位。


Michael O. Church 上的一个说法就更弱了:大公司有炫酷的玩意可以做,但只有你处理足够多枯燥的事情之后你才会被允许。此处更温和的措辞是获得有趣的工作只是运气的问题,这取决于你一开始是否降落到你感兴趣的项目上,但是关键问题是大部分公司在估测你是否幸运的问题上会给你一个非常好的预期。谷歌在“盲目的配置”上臭名昭著,我知道很多人最终去了微软因为他们选择了微软伟大的项目,而不是谷歌盲目的配置,谷歌现在某种程度上也在改变,Offer 里提供好几个团队选项供选择也不稀奇。在这个意义上,大公司与创业公司区别不大。确实有些初创公司基本上可以只给你提供你感兴趣的工作(比如如果你对构建分布式数据感兴趣,可以去FaunaDB),但是任何创业公司都会成长和也不会只专注一个领域,总会产生你感兴趣或不感兴趣的工作,这取决于你自己去辨别。


值得注意的是,你要有筹码去谈判你的薪酬,你也要有筹码去谈判你想做的工作。我们正处于对程序员有利的就业市场。也许明天就会变,但是改变之前,你要有能力去选择你喜欢的公司。


如果这听起来对你来说很陌生,你没有那样的筹码,我理解。我几年前也是这样。去主流的大公司工作是得到这样筹码的一个方法。大公司真心希望你成为高级程序员(总收入约25万到35万,看公司。)招聘对他们来说很昂贵,因为多方面的诱因他们会对已被录用员工进行培训,直到他们变得富有价值和创造力。一些公司在这方面比其他公司做得好,但是大部分大公司比大部分创业公司有更多资源去帮助员工学习。大部分大公司的目的是帮员工达到高级级别。当然他们不停招聘意味着他们总有非高级级别员工。对高级工程师的定义是基本上他们可以独立找到和解决问题,不需要帮助,有些人可以轻松去扩展水平。谷歌甚至有一个政策人们谁最终没达到高级就要被开除,但你会注意到他们的解雇率并不高。他们以及其他大公司,都是很认真对待员工的指导教学。


3. Learning / Experience 学习/经历


如何评价“在初创公司的经历更为宝贵”这个观点?我们没有数据来做一个严格的定量比较,但是在定性比较上,初创公司百事待兴,你需要花很大力气来处理多种事情,但你没时间去更深度地探索问题。


我职业生涯的头七年是在一家初创公司,我喜欢这个经历。它完全一片混乱,这使得我能够去处理多种不同的事情,比起在大公司我需要承担更多的责任。从往一个室内分布系统添加容错到独自承担一整个季度的项目:把 ARM 指令添加到一个 x86 芯片中,从而创造当时最快的 ARM 芯片,同时也是唯一可以匆忙转换在 ARM 和 x86 之间。我几乎做了所有的事情。这是一次极好的学习经历。


但我在大公司也有很好的学习经历。在谷歌,我的第一个项目是继续之前未完成的“一人项目”,看只完成了一半的设计稿,提供反馈,然后实施。这个项目的动力是人们担心如果某些不大可能但也不是完全没可能的事情发生,这类应用程序会要求谷歌去增加一倍现有机器的数量。这跟我在小公司的经历没啥区别,除了有份设计文档,以及缩减基础设施而节省成本是几十亿而不是几百万美元。


另一个不同点是,在某种程度上,比我工资高的人非常认真地对待这份工作,很多公司位高权重的人最终都参与了这个项目,或者至少提供了输出,比如 Norm Jouppi、Geoff Hinton 以及 Jeff Dean 等。


这个项目与创业公司中同等的项目相比,获得的经历是更好还是更差?在创业公司,这个项目可能会保持“二人秀”这种状态,当你在没有足够多的时间和资源的情况下独自仓促完成一半的项目,我可以学到所有的一切。但是实际上,我最终只是拥有了这个项目的一部分,仅仅只是提供了剩下的反馈,我充实这个架构仅仅是因为幸运。如果我可以独自实施一半的项目,我所获得的理解力一定比现在高。


另一方面,更大的团队意味着我们实际上有时间去做像设计复核和代码复核这样的工作,我还可以从比我更有经验、知识更丰富的其他人那里获得反馈。我在微软的经历很类似,我虽然只负责差不多 1/4 的项目,但我上面有个架构师很受尊敬,他在架构决策上有决定权。另外某天我有个问题,我发了一封邮件给图灵奖获得者,我在一个小时就获得了回复。在创业公司不可能有这样的机会来探索这种广度和深度。因此,做一个小时的设计复核比我自己花几个月甚至几年的时间来学习学到的东西更多。


如果你关心你做某件事后产生的实际效果,在大公司绝对是有更大的实际效果,归因于大公司的规模。如果我是在一家创业公司做我当前的工作,获得的收益大约是每月 1 万美元。我没什么好蔑视,但这都支付不起我的工资。但是同样的事情在大公司创造的收益会是1万美元的1000倍以上。在大公司有更大的实际效果因为它的规模很大。这里的推论是小公司很小以至于他们很容易对自身造成影响,尽管这个影响值本身很小。我感觉不到我做的事情对大公司会产生促进还是阻碍的作用。但是当我在小公司时,看起来我们所做的事情可以影响整个公司的命运。


至于是在大公司还是在创业公司工作后有更好的选择,如果你想在创业公司工作,你最好有在创业公司工作的经验,如果你想去大公司工作,最好有在大公司工作的经验,这里没有绝对的答案。


结论


薪酬机制随着时间已发生了很大的改变,Paul Graham在2004年写那篇文章的时候,他给一个“好的黑客”定的合理年收入是 8 万美元。由于通货膨胀,现在大约是 10 万美元。但现在对于一个“好的黑客”来说总年收入是 25 万美元,这还没算上免费的食物以及非常丰厚的保险。这种权衡已经严重偏向于大公司。


有趣的工作的权衡也发生了变化,但是变化是呈双峰分布。亚马逊旗下云计算平台 AWS 和微软云计算平台 Azure 的出现,意味着之前需要花费几百万美元的服务器和操作专业知识上的工作,现在几乎不需要固定成本,只需少量的边际成本。 你现在在早期创业工作所做的事情是基金雄厚的公司之前经历过的,工作量很大,而且在持续增长。但同时,如果你看看谷歌和微软在顶级系统会议上发布的工作,创业公司远远没有这个能力去进行那些严重依赖规模效益的工作,这种状况比以前要更突出(而且很多有趣的工作还没发布出来)。这取决于你对什么样的工作感兴趣,在大公司,事情只是相对好点或者差点。


在任何情况下,现实是同类型公司之间的差异要小于不同类型公司之间的差异。不管你是讨论初创公司和大公司还是移动游戏公司和医药公司,情况都一样。这是递归的。一家公司不同管理者和团队之间的差异很容易就比不同公司的要大。如果有人给你提建议,要你去某种类型的公司去工作,不管是VC建议你加入一家创业公司还是图灵奖获得奖让你加入一个实验室,通常情况下,这种建议都是错。


至于我,好吧,我并不认识你,你最后去大公司、创业公司或者介于两者之间的哪个公司都与我无关。无论你如何决定,我都希望你已足够了解你的经理,清楚他能给你怎样的支持;你足够了解你的团队,以确保能与他们合作愉快;你足够了解你的项目,以确定你是不是对它感兴趣。就我个人而言,在大公司有过两段工作经历后,我有些厌倦了很多人对大公司的那些胡乱评论,也许下次找工作时我又会去权衡关于人们对创业公司的评论,但那仅仅是我。你应该找出适合你自己的权衡机制,这其实是一个见仁见智的问题。


看完本文有收获?请转发分享给更多人

关注「程序员的那些事」,提升编程技能