湾区大厂程序员薪水构成level和对应期望


参考

本文转载自 https://zpjiang.me/2020/02/03/eng-comp-level/

转帖至此, 版权归原作者


新年伊始,周围不少小伙伴拿完 bonus,打算转行或跳槽,正好问到了程序员待遇、level 等话题,这里就硅谷几个大厂(谷歌、脸书、领英、亚麻、微软等)的薪水构成、程序员 level 以及职业发展做一些简单介绍。

薪水构成

科技公司的小伙伴们会用 TC,Total Compensation,来表示实际收入总包裹大小。TC 的计算方法各公司稍有不同,但无外乎包括以下几个部分:

  • 基本工资 Base
  • 年终奖 Bonus
    • 股票 Equity (RSU/Option)
    • 初始股票 Initial grant
    • 新发股票 Refresh

基本工资 Base

这是写在入职合同上的固定收入,根据入职时的市场价、Level、面试表现、有无competing offer 等决定的。

升职后,基本工资会有所调整。在各大公司内部,不同的 level 对应一个范围,升值后有些公司会将 base 提高到下一个 level 范围的 p50,也就是中位数。

当然,具体情况具体讨论。比如,有些人在某一 level 待了很久,或者跳槽的包裹牛上天,很有可能他们现在的 base 已经是当前 level 的 high end(逼近下一个 level 的中位数),那升职后 base 只会微涨。

年终奖 Bonus

年终奖各公司计算方法不同,湾区的几个大厂或多或少可以按照这个公式计算:

bonus = base target_bonus_ratio individual_multiplier * company_multiplier + manager’s_tweak

其中,target bonus ratio 是固定的,level 越高,ratio 越大。Individual performance multiplier 是根据一年表现打分算得,company multiplier 是根据公司这一年基本状况算得。最后有些公司还有老板微调,每个小组会有一个 budget pool,根据小组成员贡献老板再稍微平衡一下。

Bonus 是对过去一年辛苦付出的肯定。

股票 Equity

股票收入主要包含两部分:

  • 初始合同一次性承诺给予,分四年(或五年)按月/季度/年发放
    • 各公司政策稍有不同,有些公司在员工入职一年后才开始按季度发(业内叫 one-year cliff),而有些公司入职第一个月就开始发
    • 不是所有公司都等额发放,比如亚麻头两年 5% 和 15%,后面两年各 40%,Snap 也有类似规定
  • 每年新发
    • 每过一年,公司会根据员工表现,新发一定股票,同样也是分四年发完
    • 新入职第一年,不是所有公司都给 refresh
    • Uber 把 refresh 当成 bonus 的一部分,分 cash bonus 和 stock bonus
    • 各家公司 refresh 规定都不太一样,会随着市场情况调整,具体情况具体讨论

Refresh 是对员工未来四年工作表现的期望。

其他

除了以上提到几点,刚入职是还会有一笔现金签字费,入职后一定时间内支付,主要由 negotiation(有无 competing offer、公司多么想招你)决定。

另外,还有各大科技公司著名的好福利,比如健康保险、免费的一日三餐、健身房、游泳池,博物馆免费门票/打折票,车险、房屋保险、租车、买车、滑雪等一系列的 corporate rate,免费/打折的衣服干洗、理发、体检,commuter benefit 报销上下班公共交通,等等。

例外,大公司里面:

  • 微软、亚麻和苹果没有免费食堂(部分 office 有,个人认为自己掏钱是好事)
  • Netflix 的福利,是给员工 all cash,很多很多 cash

程序员-Level

图片截自:https://levels.fyi

各大科技公司 level 各不相同,几家大厂基本都可以按照上图转换和参考,这点跟国内程序员level都看阿里有点相似。

对于应届毕业生、工作一年跳槽、合同工转正等的小伙伴,会拿到 L3/E3/T3/SDE I/IC I 等这些 level(每个公司叫法不一),基本是 Junior level,基本期望有:

  • 在一定指导下,完成指定任务
  • 在一定指导下,参与系统设计
  • 产出质量还可以
  • 新人 rampup 可以是半年到一年

博士毕业生、工作个两、三、四年再跳槽的小伙伴,会拿到 L4/E4/T4/SDE II/IC II 等这些 level,算 median level,基本期望有:

  • 在 minimum guidance 下,完成有一定挑战的任务
  • 在 minimum guidance 下,完成系统设计
  • 逐步成为一些项目的 go-to person(有问题就知道可以问你)
  • 工作完成质量高
  • 最佳状态:能够独立工作,包括项目系统设计、实现、协调各方、测试、内测、QA、文档、做实验、发布这一系列的任务
  • 新人 rampup 可以是三个月到半年

下一级,便是老年人行列 senior level, L5/E5/T5/Senior,到达这一级每家公司需要的时间差异挺大,相应的机遇成分也开始变得重要,基本期望有:

  • 独立自主,完成上面提到的一系列工作
  • 独立自主,攻克模棱两可的问题,提出完美/次完美/临时/长期的解决方案,成为组里的技术专家
  • 项目负责人,或者成为一个产品分支的负责人,带领团队,完成系统设计、开发、测试等一系列的工作
  • 自我驱动,也能带动、影响身边的人,制定自我优先级、制定小组优先级
  • 写代码之外,更加注重系统的稳定性、扩展性、安全性、监控、报警、文档、跨组、跨部门甚至跨公司协调工作
  • 更佳的状态:协调组内资源、争取内外部资源、招人、带人、扩大 scope

老年人之后的 level,各公司叫法不一,Staff、Principal、抑或是直接用数字表示。到这一 level,个人能力是一方面,个人精力、愿意付出的时间、机遇等因素会扮演更加重要的角色。我理解的期望有:

  • 做好以上的所有工作
  • 更多地参与战略、资源、季度/年度优先级的讨论
  • 标准化整个团队的工作、提高团队的工作效率、产出水准、工作范围
  • 培养团队,帮助小伙伴成长
  • * 可以解决没有人解决过的问题,进入全新或非常有挑战的领域
  • * 可以管理10+的人
  • * 可以是一个领域内的专家,对这个领域的未来都能带来影响
  • * 充分非必要条件

在这之后的等级,等以后有机会再写吧。。。

以上提到的是 IC 岗,Individual Contributor,如果转 People Manager,或者是依然做技术的 Teach Lead Manger (TLM),那 L5 一般对应 M0, L6 是 M1,以此类推。

特殊说明:

以上只是部分大公司常见的 level 分法,老年人这一级,Uber 还会细分 5.a 和 5.b,微软有 63 和 64,而 Netflix 所有人都是 senior

目前没看到程序员到 35 岁就一定要转管理的现象,转与不转,这取决于机遇、个人性格以及家庭等多方面因素,我周围非常多 high level IC,WLB 好得很,也不用处理很多 dirty work,收入跟 level 相关,跟 title 无强相关

小结


之所以写这些,一是因为最近朋友跳槽刚好问到,二是想记录过去这一年自己大公司爬梯子的心得体会。在湾区,周围聪明人很多,不管你曾经多么优秀,这里你永远能找到比你强还比你努力的人。

当然了,生活不只是工作,能找到喜欢的项目,让自己时刻保持积极的学习状态,勇于走出眼前的一亩三分地 comfort zone,清楚当前市场的需求并保持警觉,最后结果都不会太差。




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • 2379. Minimum Recolors to Get K Consecutive Black Blocks
  • 2471. Minimum Number of Operations to Sort a Binary Tree by Level
  • 1387. Sort Integers by The Power Value
  • 2090. K Radius Subarray Averages
  • 2545. Sort the Students by Their Kth Score