最近在爬career ladder上有一些新的学习体会，尤其是在senior IC方面，分享一下。这里的senior IC指的是staff+ IC。这里面有很多个人的偏见，而且可能只适用于北美，请批判鉴别。因为针对的是北美，所以会中英文夹杂。

1. IC和（同级别的）manager是平行的。大家一般觉得EM管IC是因为是高级别EM管低级别IC，如果是同级的话，senior IC和manager在leadership方面并无区别。比如career coaching，technical leadership，这些不仅仅是manager的责任，senior IC也要自觉配合起来（否则其实根本升不到senior IC）。和manager一样，senior IC的关键也在enablement而不在自己埋头写code（下面也会提到，这个也不绝对），要做一个[multiplier](/new-employee-suggestions.html)。尤其是级别越高，这个界限越模糊，一个人做两种事情（wear multiple hats）非常常见。甚至有的公司的senior staff的升职标准包括，如果必要，可以成为一个好的manager。二者的核心区别在于侧重，senior IC在技术上的深度和manager在人员上的深度是彼此不能替代的。一般来说，如果一个人更喜欢跟电脑打交道，会更适合IC道路一些。如果更喜欢跟人打交道，更适合manager路线一些。最近看到一个图很好，我试着用灵魂画风画一下，见附图。一个团队里面，写code的是IC，管stakeholder的是PM，管人的是EM。如果同时写code和管stakeholder，是Senior IC；同时写code和管人，是TLM；同时管人和stakeholder，是PM/TPM Lead。如果三个都做，一定要非常小心，要么是天才要么马上就傻逼。

![senior ic](https://yage.ai/images/senior-ic.png)

2. （到了senior以后）不同级别的IC也是平行的，他们之间不是逐渐递进的关系，而是并列的关系。为什么这么说呢，这是因为到了senior以后，大家工作的内容其实是不一样的。大概地说，L3是手把手可以做一个feature；L4是可以放手熟练地做一个feature；L5（senior）是独立设计一个ambiguous feature；L6是纵观整个industry，告诉大家我们要做这个feature；L7是发掘整个industry没有的大方向，协调整个公司的资源把它做出来。L3到L5是逐渐递进的，更加深入更加熟练。但很难说L6是L5的更进一步。拿到一个东西，知道里面可能的风险和权衡，熟练地大卸八块，这和"精准判断什么是我们最需要的"，更像是行业上下游的关系，二者之间既不必要也不充分。还有一个原因是上面提到，级别越高越需要打嘴炮。很多人就不喜欢打嘴炮，所以就主动选择停在senior或者staff，舒舒服服跟电脑打交道。facebook和google都有类似的设计，一个是senior开始就是terminal level，没有非升即走的规定（google甚至L4就是terminal level）；一个是有一个机制保证，就算你是senior对升职不感兴趣，只要一直deliver也可以一直狂涨工资，甚至比老板，比staff工资还高。
3. Senior IC是个非常个性化的东西。主要靠命。Staff+ IC之所以升职的原因非常多样，很多人是靠广度，用自己的技术经验enable其他人，天天开会嘴炮，大幅提高组里的生产效率。有的人是技术深度特别牛逼，每天看不见人，就在角落里一个没有窗户的小办公室里敲代码，某一天突然跟组里说做出来一个巨牛逼的东西。但不管怎么样，大多数情况都是要靠所谓的[impact](/system-design-interview.html)，就是参与了一个非常重要的项目然后搞成了。但这个玩意，到了senior以上，其实大家都很勤奋很聪明，基本上你能搞成换个人来也差不多。谁能升职主要看谁分到了这个项目。这玩意随机性是很大的，所以我觉得L3到L4到L5还可以说主要靠努力，从升L6开始就主要靠命了，或者说叫天选指数。如果想爬ladder的话可能一方面要看一下自己有没有成长，更重要的一方面也要多接触人，说不定就有贵人能拉你一把给你一个上车牛逼项目的机会。

所以中心思想就是，IC manager都一样，senior staff都一样，别卷，卷也没用，主要看命。

<script async data-uid="49b08a3e73" src="https://yage-ai.kit.com/49b08a3e73/index.js"></script>
