关于 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 ...
随机推荐
- vue过渡
vue在插入.更新或者移除DOM时,提供了多种不同方式的应用过渡效果,下面主要总结一些常用的过渡. 单元素过渡(vue1.0) 我们常用的动画是css3的动画,在vue中依旧有效. <!DOCT ...
- namenode namespaceID与datanode namespaceID 不一致导致datanode无法启动的问题
在启动hadoop之后,发现如下 datanode何在????? 在重新启动hadoop的时候,发现了问题,如下 这说明datanode启动时出错了 我们跟踪这个问题,进入到log文件夹下,找到had ...
- IRQL Ring0实现
一,IRQL的定义Interrupt ReQuest Level DDK对IRQL的定义是:中断请求级(IRQL)标示中断的优先级.处理器在一个IRQL上执行线程代码,IRQL是帮助决定线程如 ...
- [UE4]Vertical Box结合Horizontal Box创建出类似微信的经典手机界面
头部标题,中部为自动填充,底部为一个Horizontal Box,其中的“通讯录”文字比较宽,需要设置Size.Fill=1.5
- Unreal Engine 4 动态切割模型实现
转自:http://gad.qq.com/article/detail/33199 <合金装备:复仇>里面,有一个很有趣的设定,游戏里大部分的场景和物件都可以用主角的刀动态切割. UE4中 ...
- 搭建双节点pg_pool+主从postgresql架构
复制方式 优点 缺点 ——————————————— ...
- shiro 身份验证
shiro身份验证: 参考链接:http://jinnianshilongnian.iteye.com/blog/2019547 即在应用中证明是本人进行操作,一般通过用户名来证明 在shiro中,用 ...
- java中序列化的简单认识
一.什么是序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现实应用中,就可 ...
- 小朋友学C语言(2):安装Dev C++编译器
(一)编译器 编译器是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序.一个现代编译器的主要工作流程:源代码 (source code) -->预处理器 (prepr ...
- sersync+rsync实现服务器文件实时同步
sersync+rsync实现服务器文件实时同步 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersyn ...