椒盐豆豉

美国码农前半段职业发展道路(career ladder)

August 15, 2022
重启电脑
career | patreon | software engineer
本文总计 3.66k 字, 阅读约需要 9 分钟

很多自己经历过的东西觉得是常识,但偶尔被问起才会发现除了部分特别积极寻找这些信息有特别明确的职业发展目标的人之外,很多人对这方面的信息还是一知半解。我一直觉得提前过度 over optimize 不是什么好事,毕竟计划赶不上变化很多时候人生道路职业发展要看运气和很多个人掌控之外的东西,但是如果不把所谓的走直线或者标准路线当作主要目标和压力来源的话,随便看大致有个了解也好,也可以省去一些不必要的焦虑和被公司/老板 gaslight。

因为不是很想写这个无聊的话题所以这个七月的 patreon 选出来的命题拖到现在才写,谁让我提供了这个选项给自己挖了这个坑呢。八月坚决不给自己挖这个坑了,来一些 fun topic 欢迎大家投票:

  • 高效、async 的信息流才是好的信息流:我的 RSS setup
  • Summer of Gaming:最近我在玩什么游戏
  • 恢复独居渐入佳境的中年社畜健康习惯
  • 我看过的流媒体脱口秀 tier list

回归正题。我写过很多码农职业相关的文章,可以在 Career tag 下查看。

Level basics #

各个公司的 level 不尽相同 level.fyi 上的分布还是较为准确的可以作为大致参考。

传统一些的公司可能有几十个 level(如 Microsoft 一个 level 经常是别家两个),一些公司把其他公司通常分开的 level 合并成一个 level(比如 Amazon 的 L6 在其他互联网公司很多分成 senior I & II 或者 senior & staff,Amazon 下一级是 principal),一些公司内部升职比外部标准快造成 level 不对等(Meta),一些 startup 为了 title 能补拙 title 缩水 senior、staff 给 title 不给钱等等。

为了简洁本文统一 level 标准如下(数字为了简洁,肯定有 outlier:

L1: New grad, entry level, 工作比较短的时间(一两年之类)跳槽也可能拿到这个 level。Amazon SDE I(L4),Meta E3,Google L3 等等。工作 0~2 年。

L2:所谓的 mid level,SDE II。Amazon SDE II(L5),Meta E4,Google L4 等等。工作 2~5 年。

L3:Senior level,Amazon SDE III,Meta E5,Google L5。这个 level 常见于工作 4、5 年之后可以拿到,如果是公司有较快的升值文化或者公司喜欢 gaslight 老员工的话当然也可能有更快或者更慢的。一些 startup title 膨胀给工作两年的人 senior 但是给的是 L2 的工资在我这里不当成 L3。大多数 individual contributor(IC) 的 terminal level。

L4:Staff level,Amazon 还是 SDE III,Meta E6,Google L6。很多公司除非特例的话会建议这个 level 再转 manager。

再往后就超出我的知识范围了,到了再后面的阶段应该也没必要看我这篇文章来了解。

Expectations #

以下的薪资 expectation 以美国 tier 1 地区(湾区、西雅图、纽约)为准。

L1 #

基本上公司对你的 expectation 就是没有 expectation,过了面试说明已经达标。很多朋友会自己 gaslight 自己做的不够好怕被 PIP,其实 entry level 进去几个月甚至半年干不出来什么事情很正常。连臭名昭著的亚麻我都带过各种瞒报和犯错的 SDE I 一年多才被 PIP(当然那是 pre dev list era)。 当然,想做一个好的 entry level 的核心是能 deliver result,被分到的项目能相对独立地完成基本就是一个优秀的 L1 了。

薪资方面地区和公司不同,起薪大体集中在 150k~200k 这个区间。尤其是 new grad 手头能选的 compete offer 和话语权有限,基本起薪的谈判空间不大,选一家喜欢的公司和组重要性大过多少小几万块钱。

L2 #

这个 level 在很多大厂是干活的主力军,基本要求是得到需求后能独立 design 和 deliver project,要达到这个目标当然需要一些沟通和设计能力。在跳槽市场上经济状况好的时候也非常吃香,因为钱(相对 senior)少又能干活儿。

  • 这个 level 的核心产出是 small to medium level technical design & implementation project
  • 根据公司规模手下也有可能带两三个人一起做一个项目,因此能偶尔合理 delegate task、制定项目的 milestone 并且 support project launch 也比较重要
  • 因为会自己 launch 项目所以长期以来应该成为组里某些领域的 domain expert
  • 如果是比较大的厂经常招 new grad 的话这个 level 可能也会得到一些 mentor 机会

这个 level 的正常包集中在 250K ~300K,pandemic 期间以及今年通胀水涨船高一番也有公司能给到下一个 level 的 350K。

L3 #

senior 其实干的活儿的本质跟 L2 是差不多的,也就是项目大一些如果有一些要与其他组交涉 define 较为模糊的项目的话会倾向给 L3 而不是 L2,对 mentorship 的期望也会多一些。干活大厂可能不然,中小型公司的话基本干活的主力军是 L3,我呆过的还未上市两家公司基本上都是一个组主要是 senior,大家平行干活儿偶尔合作,可能会有一两个 L2. 因为这个 level 也是想摸鱼最佳的 level,毕竟到了这个 level 就不会有硬性升职压力, 项目一般也是自负盈亏靠自己掌控,因此可以榨出水的空间非常大。

需要注意的一个特例是 Amazon 的 SDE III 因为其实有一部分 staff 的职责,所以会参加很多 cross team org level 的会,比如 director 下面所有组的大项目 design review、launch prep、op meeting 都有可能要参加。如果想进一步升职或者去别的公司拿 staff 或者转 manager 的话其实是直接不需要争取就能得到这方面经验的不错跳板,但对不想升职想在 senior level cruise 的人来说就真的超级烦。

薪资集中在 350K~450K,很多公司初始包都会从 350K 左右开始,但是这个 level 的人跳槽通常都有多个 compete offer 所以不是太懒的话基本上都能要到 400K+。需要注意的是亚麻的 SDE III 因为是与 staff 合并的所以可以要到 staff level 的 500K+ 以上的包。

L4 #

staff level 与 senior 主要的区别是要有 org/cross team impact,不是说简单地做涉及到多个组的项目就可以,而是难免会有一些 tech/people management 的成份在。比如 org level 的策略制定、选用的技术方向、了解其他组的动向方便协调项目等等。当然跟纯管理类的职位相比,还是会下手写不少代码和 tech design。

薪资 500K+。一些公司有 senior II,基本也是这个价位。

爬 ladder #

很多刚入行几年的人会陷入在一个公司升职了出去才有竞争力的误区,从而容易被无良老板 gaslight 画大饼多干活儿不给升职。我不大建议大多数人采取这类爬 ladder 思想,原因如下:

  • 公司内升职需要 constantly perform on next level,which means 至少要活儿多钱少一年,vs 该干嘛干嘛跳下一个 level 的槽
  • 实际能不能升职很大一部分因素取决于老板靠不靠谱而非你本人活儿干得到底有多好(除了极少数一进来就闪耀全场的 outlier)
  • 跳槽定 level 除了几个大公司可能会 match 之外绝大多数看工作年限(yoe)+ 面试表现。能 match 的那几个公司也经常互相扔低球,所以在前一个公司拿着低 level 的钱累死累活升职再跳不一定能 match 上
  • 内部升职在公司股票稳定的情况下永远不会有外部跳来的拿同 level 且合理 negotiate 的钱多,这是资本主义规律。

当然, 在原公司干得舒服内容也喜欢的话顺理成章升职无可厚非,职业抱负有超过 L4 的发展动向的话在一个公司深耕也确实比跳来跳去更合理,但是本来就不喜欢抱着“升了职就跳槽”思想被公司 gaslight 一直干活不拿钱等升职我个人认为非常不可取。

在职业前 3 个 level 阶段好的老板一般会一开始就跟你制定如何到下一个 level 的计划。如果你达成了这些计划的 expectation(通常是 perform on next level,which 通常涉及 design and launch next level scope project,各公司标准不同可能还会有一些 mentorship 方面的要求)但是还没有成功升职老板也没有合理解释的话,是老板不行的 red flag,尽早换组/跳槽。此处我非常不建议换组除非对公司特别喜爱,因为到了新组除了适应期外无论表现多么优秀也至少需要给老板 1~2 个 review cycle 的 data gathering 才有可能升职,which 远不如你花两个月刷题直接跳下一个 level 方便,拿的钱还更多。

同理,以“给下一个 level 的工资进去之后 out perform 迅速升职拿钱更多“来低球面试者的把戏某些老牌 prestige 公司特别喜欢干,在我眼里纯属扯淡。首先这种能给到下一个 level 的都是下一个 level 的 lower band,如果能拿到下一个 level 的 offer compete 空间大很多。公司内部升职是有 range 的也永远不可能跟市场价进来的钱多。除此之外跟上面换组同理,进了新公司以绝大多数正常人的优秀程度至少要给老板 1~2 个 review cycle 才能升职,通常快也要一年。如果你是那种半年进新公司就能做出惊天项目直接升职的人,多半也不会拿到这种低球。愿意为了公司和组被 gaslight 接这种 offer 没问题,但千万心理上不要觉得是捡到什么便宜。

What’s Next #

如果对职业比较有抱负把本职工作当成人生成就的一个重要组成部分的话,到了 L3 左右一般就有继续干 IC 还是转向管理的考量。大多数互联网公司都有成熟的 L3 转管理流程,而且也不是单向的,我职业生涯中见过很多转了管理觉得不适合又转回 IC 的例子。

如果决定留在 IC track,自然有 cruise 在 L3 和继续向上发展两个道路。刚入行的人比较喜欢卷谁干了几年就升了什么 level,等 peer 都到了 senior level 之后越来越多的人就懒得卷这个东西了,人各有志又不是所有人都把工作当成人生唯一的追求目标。

拿我个人例子来说,上次跳槽时候惯性思维去面了一些 L4,拿到的 offer mix of L3 & L4,最后出于兴趣偏好和面试体验等考量选择在 L3 呆着。进公司之后再次仔细观察了 L4 们都在干嘛,现阶段来说比较确定并不想朝这个方向发展,就舒舒服服在 L3 呆着(就是时不时跟 manager 1:1 会要应付一下“想要怎么 grow”这个问题,因为我自己的答案是不想 grow)。也有在思考要不要发展一下 side gig 或者当 contractor,这样就没有要 grow 的压力。不过现在是这么想,兴许过两年无聊了想再往上爬爬也不一定。

还是那句话,过度提前优化多半是徒劳人算不如天算,如果还在职业早期也不必为职业发展杞人忧天,到了 terminal level 自然会发现自己的偏好再做决定也不迟。

相关阅读


<< 前 | 2022 年 7... 随便逛逛 高效、async 的信息流才是... | 后 >>

如果您觉得本文对您有帮助,想支持我的博客创作,或者有特定的内容想要看到,或者想约 coffee chat,手把手教学我有的技能等,欢迎点击下面按钮成为我的金主: