最近跟朋友聊天,朋友说起在国内做IT就是和时间赛跑,35岁之前转不了管理之后就很困难了,做技术会被后来者淘汰。我并不是特别同意这样的看法,我想结合硅谷科技公司的实际情况,和大家探讨一下技术vs管理的两条发展路线之争。
. From 1point 3acres bbs
技术路线
关于职业和事业的境界,网上有种说法,叫做“奴徒工匠师家圣”七层境界。对于程序员来说,虽然不尽恰当,但也可以找到一些有趣的对应,基本描述了P4-P10的进阶路线。
“奴”可能对应于实习生,打打下手,干一些fulltime不是很乐意做的小活。
“徒”刚毕业的学生,基本由组里的人带着,需要学习大量的经验。
“工”就是有3年左右经验的初级工程师,团队的好帮手,老板的好工具
“匠”就是高级工程师,输出主力,大多数terminal level指的就是这一层。能够产生group level的impact
“师”对应技术大拿,tech lead,能够产生org级别的impact
“家”就是公司的希望,能够独当一面,或者是小公司的CTO,产生公司级别的impact
“圣”,江湖上流传的传说,能够引导整个行业的走向,比如Jeff Dean,Linus Torvalds等等
.google и
从待遇角度来说,我个人觉得可能纯靠刷题跳槽,5年左右工作经验可以拿到400k美金的待遇,获得一个terminal
level的职级(比如Google,Facebook的IC5,Apple的IC4),再向上就需要对于某个领域的专业知识,管理经验,或者说比较巧合的机会了。在硅谷一线科技公司,始终奉行的是能力越大责任越大,上一级的收入增加与随之而来的压力,绝对是成比例的。尽管如此,和国内相比,我觉得在美国做纯技术其实也不失为一个选择。首先和管理路线相比,工程师的工作相对纯粹,自己能够掌控的部分也比较多一些。其次,美国这边的年龄歧视目前来看没有那么明显,在terminal
level浑水的也大有人在。如果没有特别大的目标,大公司的senior engineer可以过得很不错,只要保证手里这摊活始终有需求就行。
. 1point 3 acres
当然多数国人的目标都是转管理,所以我们重点来聊聊管理路线。
.google и
管理路线
首先先说一个误区,很多人包括我自己也觉得individual contributor -> tech lead / tech lead
manager -> manager
是一个自然发展的路线,但往往从IC到manager的转变是一个比较突变的过程。大公司把IC和manager分成两个track是有原因的,两者需要的技能点完全不同。好的工程师不一定是个好老板,反之,好老板也不需要技术实力很强。这一点可以和球员与教练的关系钟窥见,好的教练当年未必是顶级球星,而马拉多纳那样的球星执教水平也不过如此。硅谷公司通常把manager称为people
manager,核心在于people,目标就是让组里的成员开心,能够各司其职地工作,至于技术问题,不是可以招人来干的嘛。这一点不单单对一线管理适用,甚至对CTO也适用。CTO技术不强没关系,能够把业界技术最强的人找过来,让其开开心心地干活,就是一个称职的CTO。
. 1point3acres
那么科技公司的manager应该干什么?我觉得就是social,和peer manager
social,和组员social,和老板social,增加自己和自己组在org的影响力,专业术语叫navigate through the
organization。管理一个组其实就像是运营一个小公司,你的资产就是组里的工程师,你的目标就是扩张,获得更多的项目,招更多的人,挖出新的坑或者不那么明显地抢走别人的地盘。这里顺便说一句,manager的升级路线不管HR怎么吹,公司PR怎么吹,就是和手下管的人数直接相关,人越多,级别越高。人少了,manager自然也就混不下去了。说到这里,manager看起来似乎就是一个“人生在世,全靠演技”的职位,和别人处好了关系,就能平步青云,好像并不需要什么硬实力。这不就是看看职场厚黑学,搞搞办公室政治嘛。但我觉得,就是这办公室政治,反而是一个好的manager的硬实力,并且是比技术实力更难获得,更虚无缥缈的一种实力。
再说办公室政治. Χ
Manager需要的办公室政治分为两部分,“安内”和“攘外”。“安内”是指为组员争取最大的利益,“攘外”是指巩固自己组的地盘,有节操或者无节操地舔上级,扩大在org内部的影响。 ..
先说“安内”。组员和老板的1 on 1,
估计80%都在谈升职加薪和季度/年度表现,这从大组的角度来看恰恰其实又是一个零和游戏:不管HR怎么吹,公司PR怎么吹,绩效考评就是有曲线的,不可能人人都好评,人人都升职。于是绩效考核的会议室成了manager们的角斗场,一个工程师半年一年的业绩要浓缩在几分钟的presentation里,想想都知道manager的描述对你的前途有多重要。并且,由于考评曲线,某个组里的组员表现得好,基本就说明会有人垫背。那么谁垫背,谁升职,其他manager支持不支持,都是politics。高级别的升职,前期作为manager就需要和其他manager沟通,和上级打好招呼。并不是说你做好了自然有人会看到,哪有这么公平的好事。把考评结果不好的组员哄开心,在表现好的组员面前说好话,继续画下一个饼,就是manager要做的“安内”。
人数比较
因为一个M管理x个IC, 所以肯定必须IC人数比M多的
但是同级别的情况下就不一定了,我自己当IC和当M的时候都特意取过公司数据,仔细比较过这件事. 1point 3acres
取决于公司自己的tenure,和规模。
稳定成熟的大公司内会有足够数量的高级IC,但是不够大(比如工程师只有几千人)的时候,高级M多过IC。
在L5的时候,IC数目 > EM,否则这个公司恐怕结构有较大问题,这时候恐怕要多看看公司finance,还能否一直坚持下去,别纠结IC vs. M了
因为毕竟EM并不是写代码的人,中层管理太多则效率恐怕有问题。-baidu 1point3acres
.
在工程师团队几千人以下的公司,L7以上,IC数目 很可能 << EM,因为VP拉,sr director, director, sr
manager
之类纯中层管理职位一直都要在,大体上是看人数决定的(虽然不完全是),但是高级IC是scope和impact决定的,不在一定规模,不处理足够复杂业务的公司就没有那么大的scope需要一个Principle
engineer. . check 1point3acres for more.
所以前面讨论里面很重要的一个点就是:
想当EM,最好去扩张快的小公司,基本上想当M没有不能当的。当有2-30个IC需要协调工作的时候,必须有EM出来做管理,无论如何都需要find an EM的。. .и
想在IC ladder专心做技术的,最好去大公司,才有足够的scope, complexity和需求,让IC好好发展。
同级别的IC and EM 很多公司pay是一样的,大公司的很多高级IC pay是比EM高的。
一个EM管理的IC不记得比自己级别低。一般可以管理同级别的IC,非常高级的IC有时候也汇报给比自己低一级的EM。
至于WLB取决于怎么看待这个问题。
一个fact是EM的raw hours投入是没法压缩也完全不flexible的。因为需要跟别人开会啦什么的。
IC 可能更有flexibility,但是高级IC除了工作上投入hours,其实很多隐性时间是用在学习新技术,搞技术交流上面--- so more flexibility but not necessarily fewer hours. . 1point3acres
很多人会觉得有时间了,宁可在晚上自学技术,看看博客,做做新东西,也不愿意开无聊的会 --- 这也是选择IC over EM path很valid的一个concern.
选择
IC vs EM 没有绝对的好或者不好,只有哪个更合适个人。世界的美妙就在于不同的人有不同的偏好,合起来就能把事情做成了。选择ladder的时候,除了看外界因素,也最好是尽量遵从内心,喜欢的东西比较容易最好,也容易取得发展。
由此可见,不管是技术还是管理,都不好混。总而言之一句话,钱难挣屎难吃,要想在职业上有所突破,不花时间去研究肯定是不行的。但职场又往往不是一分耕耘一分收获,瓶颈期的突破可能来自一些机缘巧合,或者说运气。我个人比较相信的是,所谓的运气,就是在关键时刻,有机会付出努力;而所谓的努力,就是指在关键时刻,有机会看看自己的运气。找到合适自己的位置,比总是看着上一级但一直求而不得要开心得多。至于钱,不是还能靠投资和被动收入的么。
ReplyDeletewfh这一年多里,组里的工作越来越没有impact,越来越operational,和其它组的engagement越来越political。以至于现在每周的sprint planning都变成了讨论怎么和partner team玩politics。组里的staff eng们 (2 levels above)一如既往地试图control everything and claim credit,自己scope不够,promo无望。