关于 Level 和 Promotion,其实就那么简单
曾经有读者和朋友问我:一般硅谷工作了三四年以后,会是什么 level?找工作会拿到什么 package?拿到这个问题之后,我想了想,还是没有回答。其实三四年的时间,对于曾经在同一个起点的两个人,因为际遇、努力、和悟性的不同,实际拉开的距离还是蛮大的。不过下面的一些信息可以作为一点参考。
Performance Review
纵观 Google,Facebook,Twitter,Square,Airbnb,LinkedIn …… 其实内部的 performance review 流程都是很类似的,挑共同的重要的来说:
大部分的公司 performance review 一年两次。比如 Facebook 和 Airbnb 是六月和十二月,Google 是三月和九月,LinkedIn 是 二月和八月。每个 engineer 会根据之前六个月的表现来评分。而 Apple 一年只有一次,在九月。
各个公司分成的档次不同,通常是三个、五个、或七个。比如 Square 早年是三个: miss、meet 和 exceed expectation。Airbnb 和 Google 是五个,比如 Google 就是 not meet / meet / exceeds / strongly exceeds / superb。Airbnb 类似但叫法不一样。而 Facebook 则多到七个:not meet / meet some / meet most / meet / exceed / greatly exceed / redefine。
通常每个 engineer 的 review package 由self review, 若干个 peer review (一般2~5个), 以及 manager review 组成。为了减少 manager 的 bias, 不同组还会进行 calibration, 这样打分过严或过松的组会进行调整。
Bonus 和加薪
表现特别好,通常就会发一些 bonus。每个公司各不相同,而且规则可能随时会变。例如:
Facebook 的target bonus 是 10% (三级到四级) / 15% (五级), 每一档评分对应的系数分别是 0% / 50% / 85% / 125% / 200% / 300%,除此之外还有一个公司总体的系数,是根据整个公司在过去六个月的状况定的,一般在 85% 到 125% 之间,比如拿到 redefine 的员工,本次的 bonus 会是之前六个月底薪的 30% 乘以公司系数。
Google 的三月过后的 review cycle 会进行股票 refresh,九月过后的 review cycle 会计算年终 bonus。Bonus 计算大部分公司类似,基本工资乘以个人的 target(engineer 15% 起,级别越高这个比例越高)个人performance乘上一个公司总体的系数。
其他公司如 LinkedIn、Apple、Twitter、Airbnb 等都会用加薪和 / 或 bonus 来嘉奖好的表现(如果没有 promote)。通常公司会根据内部员工的工资水平和整个 Job Market 的薪资水平对员工待遇进行调整, 但加薪和 refresher 的调整通常一年只有一次。
Level 和 Promotion
首先每个公司都有一定的 level 制度。比如:
Facebook、Airbnb、Square、Apple 等都是最低为 level 3,往上有 L4,L5,一直到 L8 等(各司略有差别)
Twitter,有 L1,L2,然后往上是 senior,staff,senior staff,和 principle。
LinkedIn 则是entry、senior、staff、senior staff、和principle。
Googleengineer 级别从 3 开始一直到 11 级,从 5 级到 11 级分别是 senior,staff,senior staff, principal, distinguished, fellow, senior fellow
而 promotion 的过程也就各有千秋:
大部分公司会有一个 promotion committee,通常是比较固定的。而 Google 比较特殊。Google 的promo committee 全部由 engineer 自己组成,每个 review cycle,会有几百 promote committee 随机生成,每个 committee 一般5-6个人,会负责 review 15-20 个 promo packets。负责 review 你 promote packet 的 promo committe 都由比你至少高两级的 engineer 组成。
把所有的 performance review 的 feedback package 提交给这个 committee 之后,个人都要负责准备自己的promo packet。主要是 self assessment,还有找 peer review。你个人不准备 promo 的 review cycle,一般三个 peer review 就够了,promo cycle 一般多一些,6-10 左右。所有的 promo packet 都会由 promote committee 来 review,如果 committee 觉得可以 promo,会向公司推荐升职,基本上也就可以了。如果 fail 了,会告诉你具体的原因,然后下个 cycle 可以再来。
大部分公司的 promo 的标准都是:如果你现在是 L5,你想 promo 到 L6,那么你必须处于 L5 却 perform like a L6 至少两个 cycle。而你的 package 就是一些证明你一直 perform like a L6 的证据。
大部分公司升级要由 manager nominate。这里比较特殊的是 Google。Googleengineer 可以 self nominate,即使 manager 不挺你(也就是说你的 performance 的分数可能不够高),但只要你的 peer 都挺你,promo committee 那里过了,照样升职,当然这种永远是少数,每个 review cycle 这种都会有,但肯定不是主流。
Promote 之后工资水平、每年的假期等,也会有相应调整。
Tech Track v.s. Manager Track
上面说的大部分是针对纯走技术路线的 Level,其实通常公司都是有两个 career track。Individual Contributor(IC)Track 和 Manager Track。两个 track 的工资和股票等在相对 level 间是一样的标准。比如通常 L3 对应 M0,L4 对应 M1,以此类推。Track 间相对应 level 间的移动并不意味着 promotion 或者 demotion。
IC Track 的工程师负责技术相关的实现、代码和系统架构等。Manager Track 的工程师则更倾向于领导和帮助 IC 最大可能性的 perform 和 contribute,并做好组内资源、项目等的协调。
因为如此,很多硅谷的工程师可以在 IC Track 上一直有很好的发展并建立自己在技术上的深厚积累和话语权,并没有 “服从” manager 的说法。这也是为什么硅谷很多资深工程师并没有任何管理性 title。当然,有些公司会有 Tech Leader 一说,但不一定是个正式的职位。
公司间的 Level Matching
虽然各个公司都有类似的 level,但是当你换工作时,却并没有一定会相对 match 的说法。总的说来,Google 的 level 是公认的,Facebook 的也差不多,但 LinkedIn 的 level 似乎偏高,给的比较虚(也就是说他们的 L6 到 Google 很有可能拿不到 L6)。而其他如 Twitter、Square、Uber、Airbnb 等等相对较年轻的公司,level 就仅仅成了换工作时的一个参照。换工作时,通常会给一个相对应的 level,有的时候会降一个 level,但是很少会有升一个 level 的。此外换工作时候面试的表现对于 level 的 match 也极其重要。比如说,几个同时从 X 家进 Y 家的工程师,在 X 家是一样的 level,但是来了 Y 家大部分会被降一级录用,只有极少数面试表现特别好的保留了原来的 level。
面试表现、简历、推荐等因素在发 offer 时对 level 以及 package 的影响,每家公司各不相同,但也有很多规律可循,却又是另外一个话题了。
几点肺腑之言
前几个 level 的 promotion,基本比较简单,好好干,都会慢慢爬上去。但是根据不同人的能力和努力,时间可能不一样,见过好些人都是两年才能升一级。
硅谷的 eng manager 不一定比 IC 级别高。很多时候,manager track 的 promo 甚至更难。
越往后面 level 的 promo,越是拉开差距的时候。这时候,不仅技术,各项软技能,系统的理解和架构,交流和表达能力,写作能力,甚至情商,都起到极为重要的作用。
如果决定走技术路线,硬技能永远是最重要的。所有的软技能、情商,包括你的 level,没有实力作基础,都会显得虚了吧唧。关键的时候(比如换工作的时候)照样栽跟头。
跟对老板,有个挺你的靠谱的老板极为重要。
Level 越低,你犯错误的影响就越小,总有人给你把关甚至扛着。再往上走,你就成了承担责任的那个人。所以职场早期,不要怕尝试,不要怕错误,多干活,多动手。踩过的坑越多,从每个坑里收获的经验教训也越多,成长的也就越快。万水千山总是坑,说英雄,谁是英雄!
关于 Level 和 Promotion,其实就那么简单的更多相关文章
- Linux kernel的中断子系统之(四):High level irq event handler
返回目录:<ARM-Linux中断系统>. 总结:从架构相关的汇编处理跳转到Machine/控制器相关的handle_arch_irq,generic_handle_irq作为High l ...
- Linux中断 - High level irq event handler
一.前言 当外设触发一次中断后,一个大概的处理过程是: 1.具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler 2.mach ...
- SVN部署与简单使用
原文发表于cu:2016-05-24 参考文档: http://www.tuicool.com/articles/Yv2iyu7 http://www.centoscn.com/CentosServe ...
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...
- 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState
我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...
- android 开发 - 网络图片加载库 Fresco 的使用。
概述 Fresco 是 facebook 的开源类库,它支持更有效的加载网络图片以及资源图片.它自带三级缓存功能,让图片显示更高效. 介绍 Fresco 是一个强大的图片加载组件. Fresco 中设 ...
- iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述
本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescri ...
- (十一)if...else&for循环&while循环
----------------------------------if else------------------------------1.最基本的if语句:if name =="Al ...
- 汇编语言实现led灯的跑马灯
led实验1.看原理图 看设备工作的原理(可能需要阅读芯片手册),看设备与cpu的连接关系 GPIO具有输入输出功能.输入:cpu想知道io引脚是高电平还是低电平那么就是输入方式输出:cpu想控制io ...
随机推荐
- SQL优化系列——查询优化器
大多数查询优化器将查询计划用“计划节点”树表示.计划节点封装执行查询所需的单个操作.节点被布置为树,中间结果从树的底部流向顶部.每个节点具有零个或多个子节点 - 这些子节点是输出作为父节点输入的节点. ...
- levenshtein函数
Levenshtein算法已在部分DBMS中实现. (例如:PostgreSQL:http://www.postgresql.org/docs/9.1/Static/fuzzystrmedi.html ...
- folly无锁队列,尝试添加新的函数
1. folly是facebook开源的关于无锁队列的库,实现过程很精妙.folly向队列中添加节点过程,符合标准库中的队列的设计,而取出节点的过程,则会造成多个线程的分配不均.我曾经试着提供一次 取 ...
- NPF or NPCAP service is not installed
"NPF or NPCAP service is not installed" "could not start local server process:GNS3&qu ...
- [UE4]打包EXE
Building configuration 1.Development:开发模式.不会压缩文件 2.Shipping,成品模式.移动版本会自动压缩文件
- Android之socket多线程
一.添加权限 <uses-permission android:name="android.permission.INTERNET" /> 二.输入输出流 客户端和服务 ...
- CentOS7 安装 hbase1.3.3
1. 集群规划 ip地址 机器名 角色 192.168.1.101 palo101 hadoop namenode, hadoop datanode, yarn nodeManager, zookee ...
- WebUploader 手机端上传图片(转)
https://blog.csdn.net/loserorleader/article/details/50395040
- js数组冒泡
var arr 1= [1, 2, 3, 4, 5]; 最简单的 每组数字之间用逗号隔开 第一个数的索引值为0.数字为1 以此类推 中括号的内容是存var arr2 = Array(1, 2, 3); ...
- linux杂项
重装后激活root帐号并设置密码 sudo passwd root sudo: netstat:找不到命令 安装net-tools:sudo apt-get install net-tools Com ...