曾经有读者和朋友问我:一般硅谷工作了三四年以后,会是什么 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,其实就那么简单的更多相关文章

  1. Linux kernel的中断子系统之(四):High level irq event handler

    返回目录:<ARM-Linux中断系统>. 总结:从架构相关的汇编处理跳转到Machine/控制器相关的handle_arch_irq,generic_handle_irq作为High l ...

  2. Linux中断 - High level irq event handler

    一.前言 当外设触发一次中断后,一个大概的处理过程是: 1.具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler 2.mach ...

  3. SVN部署与简单使用

    原文发表于cu:2016-05-24 参考文档: http://www.tuicool.com/articles/Yv2iyu7 http://www.centoscn.com/CentosServe ...

  4. BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...

  5. 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState

    我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...

  6. android 开发 - 网络图片加载库 Fresco 的使用。

    概述 Fresco 是 facebook 的开源类库,它支持更有效的加载网络图片以及资源图片.它自带三级缓存功能,让图片显示更高效. 介绍 Fresco 是一个强大的图片加载组件. Fresco 中设 ...

  7. iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述

    本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescri ...

  8. (十一)if...else&for循环&while循环

    ----------------------------------if else------------------------------1.最基本的if语句:if name =="Al ...

  9. 汇编语言实现led灯的跑马灯

    led实验1.看原理图 看设备工作的原理(可能需要阅读芯片手册),看设备与cpu的连接关系 GPIO具有输入输出功能.输入:cpu想知道io引脚是高电平还是低电平那么就是输入方式输出:cpu想控制io ...

随机推荐

  1. [翻译]Restful Web服务模型

    最近我一直在阅读“Rest实践”的草稿:一本几位同事一直在努力编写的书. 他们的目的是解释如何使用Restful Web服务来处理企业面临的许多集成问题. 这本书的核心在于这样一种观点,Web以一个有 ...

  2. 使用jquery.mCustomScrollbar自定义滚动条(1)

    参考博客:https://blog.csdn.net/cdnight/article/details/41351505 api网址:http://manos.malihu.gr/jquery-cust ...

  3. vue之自定义组件

    除了核心功能默认内置的指令外,vue也允许用户注册自定义指令.虽然在vue2.0中,代码复用和抽象的主要形式是组件,但是有些情况下,我们仍需要对普通DOM元素进行底层操作,这个时候就需要用到自定义指令 ...

  4. mysql查询优化之一:mysql查询优化常用方式

    一.为什么查询速度会慢? 一个查询的生命周期大致可以按照顺序来看:从客户端,到服务器,然后在服务器上进行解析,生成执行计划,执行,并返回结果给客户端.其中在“执行”阶段包含了大量为了检索数据到存储引擎 ...

  5. PHP 多态理解

    PHP 多态   多态性是指相同的操作或函数.过程可作用于多种类型的对象上并获得不同的结果.不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性. 多态性允许每个对象以适合自身的方式去响应 ...

  6. git基本的使用原理

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  7. Ubuntu 搭建 Zerotier One MOON 根目录服务器

    原文转摘:http://www.congan.wang/archives/947 博主倒腾了一天,总算搞定了,主要是受到各种搭建教程的错误引导,导致关键过程错误.官网的MOON搭建教程:https:/ ...

  8. Toast--报错

    Toast的makeText()方法报错帖上一代码,用Toast来简单处理回调机制.但是Toast的makeText()方法老报错:import android.content.Context;imp ...

  9. windows10如何查看wifi密码

    1.首先,在你的电脑的右下角的WiFi的图标,右击它,选择"网络和internet设置"或者选择打开设置 :如下图 点击"更改适配器选项" 选择 WLAN选项, ...

  10. Idea 2018版破解

    刚把idea升级到最新版,发现要重新激活,网上查了有改host的方法可行,只是有点麻烦.无意中发现一个方法,如图所示 输入    http://idea.java.sx/   即可,亲测可用.如果资金 ...