有在美国 Google Facebook 的工作经历,回国发展会有怎样的机会?

码农在湾区 big name 工作几年以后,如果决定回国发展,能够拥有什么样的机会?
关注者
1,993
被浏览
336,197

36 个回答

挺推荐大家看看这个答案的,放浪者:有在美国 Google Facebook 的工作经历,回国发展会有怎样的机会? 并且我这里对拉黑了答主 @放浪者 的行为表示道歉(拉黑主要因为答主在我的答案下的评论把一些东西上升到了种族的层面,且说话略冲,感觉有点不太舒服),是我的不对,太敏感了。

某高赞答案在那里一如既往宣扬宁做ic不管人的错误思想,还用特有的自我洗脑手法用啥tech lead之类的虚衔来活在梦幻中。至于啥“SDE利用PM来做问题的初期调查,SDE团队才是系统的专家和主人“。。。我只想说,嗯嗯,别人PM各种五星酒店满世界飞着嗨,坐在vegas酒店报销着晚餐写ppt,然后在上级面前侃侃而谈时,你等“系统的专家和主人“蹲在工位前change world...以程序员为起点会在互联网行业拥有非常明显的优势和说服力,然而就此认为自己是主人是drive整个项目的话,就不仅仅是幼稚的问题了。
我觉得,选择manager/ic,你最好自己有真正的经历再来评判。带个把人或者带个项目你就以为是manager是管理了?笑掉大牙。
  • 说SDE做主人,我的意思其实是鼓励SDE要有项目的ownership,而不是说别人给了需求给什么做什么,被动的被PM赶着走,这是很多年轻的SDE容易犯的问题。而是要主动去了解业务和用户的真正需求,对于PM,客户的不合理的需求设计,要强势push back,也是考察Sr. SDE,PE等的指标之一,在这方面都是有很强的要求的。 必须用业务来驱动技术选择,也是我所提倡的DDD的精神。 这里主人不是说有话语权,权利,或者人员调动等方面。而是说要负责任,以“主人”的角度从整体和全局思考问题,而不是真的只操打工那份心。具体DDD的精神,在我这个答案里有比较详细的论述:阿莱克西斯:在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?
  • 五星酒店,满世界飞着嗨,在Vegas报销晚餐,能在会议上跟VP,director激扬文字;可能对我吸引力并不是很大,毕竟,我是一个跟媳妇去马尔代夫度假,都能在海边看书看一下午的人。。。你要说我不想有非常“精彩”,过超有钱人的生活么? 想,真的想,但是我很清楚的知道自己并没有那个实力得到那些。那么人活着总得有点追求吧,我想,我的追求就是在自己死前,能更多的学习和了解我感兴趣的知识,满足自己的好奇心。而对于计算机各个方面的好奇,计算机那感觉怎么都学不完的各种知识理论,完美的满足了我的人生需求。
  • 我做manager是director在全组面前任命的,真的是超累的照顾了一段时间的全组饮食起居。。。前段时间还给全组写performance review feedback到深夜,同时抓全组的多个项目,review PM制定的2018年的计划,组里的SDE被别的组的“欺负”了,强势怼回去(有一个SDE1刚来,性格也比较软,被合作的一个组的三哥manager各种指使challenge, 我知道了就让她以后什么事都转给我,然后我在n次设计讨论会议上给那个三哥manager怼的哑口无言,毕竟Sr. SDE转的manager在技术上会对普通的dev manager有一个碾压)。跟director讨论部门的tenet,long term的plan,每天开很多会,每2周跟大家1:1聊职业发展。。。等等,而不是仅仅带个项目而已;今年amazon内部开始重新恢复pip,很多部门有强制的pip百分比,而我们组不仅没有pip的名额,还由于多个项目及时高质量的交付,获得了对口的部门的funding支援我们更多的2个SDE head count,和一个ML scientist的head count。。。等等。 我觉得虽然我manager的时间不长,但是还算称职吧。只是manager的发展方向,和我去不断钻研技术理论知识的人生观并不切合。(但是其实我们组到现在都没有招到manager,director就一直拖着我。。。我还在take manager的role,amazon内部有对后端大数据,科学模型有兴趣的,有跟scientist团队合作经验的华人manager可以ping我,可以聊聊,我们这边很缺SDM)


除了答主对我误解的部分(我真的并没有觉得manager很容易很简单,反而我觉得manager真的很难当,而我并没有这个实力),答主的其他言论我都同意,美国其实挺缺华人manager的,而且是缺哪种非常强势能跟三哥撕,保护下属的华人manager(不过国内还是希望技术的氛围更浓一些,多一些给IC的往深走的路),因为三哥的确抱团,且华人一般内敛,那么可以选择沟通的话,华人可能被排挤,我也见过很多华人被三哥排挤的最后被pip的例子,其实最近有一些亚麻的华人同学找到我,有反应一些受排挤想换组的情况,我想如果我是manager,可能会能给他们更多的帮助,而不是只是说如果需要技术设计上的帮助,帮他们看看,至少在项目技术上不要被人抓到把柄。所以有能力又有实力的同学,在美国还是强烈推荐当dev manager,也能给华人的SDE制造好的生活空间,另外IC的高级职位需求也少,就造成高阶IC非常难升。

而且Dev Manager的薪水绝对是比IC高的, 不过PM就没有了,在amazon一般来说同level,pay range比较的话, Dev Manager> Scientist=SDE> TPM> PMT > PM,PM在同等级情况下工资最低,一般level7的PM拿的薪水大概与level6的SDE持平,而且PM也是IC。。。。。


我个人是有读书的瘾的,我真的可以除了工作陪家人之外天天看书看论文到夜里1点,不需要其他一点娱乐活动。然而即使这样,我也才只能升级到lv6,lv7遥遥无期。所以IC的路,真的需要一个人对技术的热爱,还有这个人的资质在线。 (像我这样就完全不行) 所以想一辈子走这条路,也请慎重。


=============以下原答案============

还有我想澄清一点:当IC专心技术,不意味着你不需要了解业务business,看过我以前回答的人应该也知道我是领域驱动设计DDD的倡导者,做一个能够合理支撑业务的正确的构架,需要你至少跟PM一样了解大局,而比PM还要了解业务细节,做设计的第一步不是直接想怎样才能技术实现,而是想这个需求是不是已经简化到的最简单的状态,是不是体现了用户的本质需求。Amazon有句话是SDE=Someone Do Everything,一点没错,好的SDE,是可以coding的PM.

并不是PM指挥SDE干什么,而是SDE利用PM来做问题的初期调查,SDE团队才是系统的专家和主人。如果连业务都不了解,您怎么能在会议上跟三哥据理力争,这,要求每一个SDE转变思想,去了解系统,深入业务,做到一个主人应该做到的事情。

还有做Tech Lead不是因为你在这个职位上,你挂这个title所以你lead, 而是你这个人能在tech问题上拍死所有人所以你lead,这要求你的知识你的技术你的经验在大多数情况下都能秒了全组才行,持续做最正确的决定,并且能据理力争说服人,既然做这个位置,就肯定会成为年轻气盛的后来人挑战的目标,这就要求一个lead立得住;话说回来,但凡有人能比我懂得多,那我也甘心跟你学习,我真的巴不得我们组能来个全方位秒杀我的人,我好跟着他学习呢。。。(知乎有华人Principla Engineer么,看到能ping我下,收我做mentee么。。。。)(我知乎上就关注了好几个高中生大学生PLT研究的挺好我就跟他学呀),谁lead不是lead啊,大家把项目妥妥当当的做完,早点回家陪家人不好么!


更新:评论区实锤阿里P9也有IC,不知道P10P11如何?另外阿里有P12P13么?如果有这些高阶职位是否有IC?

===================以下原答案=====================

具我了解(我认识的好几个原来amazon跳槽阿里的p9,还有跟猎头的各种聊),阿里的高端职位(P9起)里好像是没有纯技术的IC(individual contributor)的职位的,都必须要带人(不是tech leader那种带人,那种在技术上指导年轻人的工作其实很有意思),而是要担任一定的people manager的角色。(如果说错了,欢迎评论区里指正)

而Google,Facebook应该都是有高端甚至超高端IC职位的,至少我了解的amazon是有的, amazon SDE IC职位线Sr. SDE(非常好的Amazon lv6可以拿到阿里P9, 有实锤)往上,-> principal SDE(从这里开始按行情去阿里p9往上都应该没任何问题)-> 仙人级Sr. principal (阿里达摩院副院P11的Xiaofeng Ren在这里,且他才刚升级Sr. 几个月)->神样的Distinguish Engineer(java之父James Gosling在这里)都是IC,这些人都可以选择“不管人”,也就是没有人汇报给他(amazon的同事可以在内部phone tool自己查James Gosling做到这么高的职位,但是没有一个人汇报给他),他不担任people manager的角色,而是可以专心在技术线上。


因为就是有些人不爱管人啊!


拿我自己来说,前段时间director想让我转manager帮他管一个团队(因为一些原因我们部门缺manager),说保留Sr. SDE的title(评论区预防:原谅我这里保留了这个title英文,因为我感觉换成“职称”感觉不太对),干的不爽就换回来,我说那多个体验就试试呗,搞不好我更适合管理线,以后也不用看论文看到脑仁疼了。

然后我发现我真的不喜欢干这个, 最近也已经跟director摊牌说我不干这个了。。。

  • 首先第一条就是manager要协调组员的感情,因为作为manager第一要务就是留住人才。比如有些人对自我的认识是超过自己实际能力的,为人也会比较骄傲,但是也是实力的,组里需要他的,那么怎么顺毛摸的同时也要让他认清自己就很重要;A和B互相不服,怎么让他们合作;有个项目谁都没兴趣,让谁做。。。等等,这些处理其实是很艺术的,但是恕我对研究这方面的艺术毫无兴趣。
  • 然后manager是要上下协调的,需要写各种报告什么的,这些报告对于系统本身没什么影响,但是对于“上边”理解和了解下边很重要,比如总结整个组2周都干了什么,整理进度。我个人对这种报告类型的工作不感兴趣。
  • 实现大老板的不合理要求,manager是经常有机会跟VP,director这种开会的,有时候大老板就经常给一些(在tech上)天马行空的想法,然后明天就要!然后你manager就要落到实处,你是组里明星SDE你就可以直接把manager的不合理(注意是真的不合理)要求怼回去,他还拿你没办法。然后VP那边你又没法怼只能自己苦口婆心劝大家接受,要么就自己搞定。manager这真的不好当…
  • 对整个组全方面的负责,这就意味的要处理很多很多边角料的问题,非常零碎,琐碎,你又不能让组里的强SDE去干(否则他们烦了会就跑),让不强的去处理你又不放心,最后就只能自己做。比如管理各种资源的permission,permission review,关于AWS cost的汇报,总结,估计。。。
  • 开会,各种会,各种组与组之间信息交流的沟通。必要或者不必要。。因为对外沟通很多, 什么话能说什么话不能说,什么事情该瞒着,什么事情得赶紧汇报。。。等等,就特别重要。大概懂得了什么是官僚,接触到了办公室政治的一角,很难受;有时候不能去做正确的事情,而是去做“正确”的事情,很难受。
  • 太忙了,也许是因为我当时既当people manager,又当tech leader的原因,组里任何人有任何解决不了的问题,我都得自己上(而一般的manager不需要),且看过我的这个回答的人:阿莱克西斯:编程到底难在哪里? ,应该是知道我对代码和设计是有无垃圾要求的,是有洁癖的。所以一旦我忙于各种会议,要么有人被block住,要么有人把东西弄的一团糟(以我的标准来衡量)。所以很多时候我得晚上加班帮大家解决问题,和做code review。由于PM答应了不切实际的deadline,我还得自己上去把做不完的code写完。(对, 为了不耽误SDE爷爷们圣诞节的休假计划,我去年圣诞节期间加班帮写完了一个关键模块的code,从而保证了deadline)
  • 等等。。。

Manager是需要很多“圆滑”的技巧的,而tech IC也需要“圆滑”但是没那么多,而tech IC有时候是需要“很正直”的,而思考角度的不同往往造成2者比较难兼顾;所以,只是想专心技术,专心做一个IC,而不是被强迫转管理,这也可能是限制海外高等级的IC SDE回国的一方面因素吧。而且国内,“官本位”的风气真的也让人挺难受的。(比如我说转manager我爸妈就跟我升职了一样高兴,然后我说我不当了,就有点…)


还有吐槽一点(更新:评论区已有大神实锤),据说好几个朋友说阿里入职要干满2年才能拿到签约时候股票的%50(不知道是不是真的,求评论区大神告知)而你知道高P收入主要靠股票,这么算起来回国前两年只能拿base pay?那这前两年的总薪水其实是大幅下降的… 如果真是这样的话元芳你怎么看?


最后:我一个当manager的同事开句玩笑说自己也要刷题面试去硅谷当SDE了,我问他为啥,他说:一个组里的,好的SDE真的是爷爷,还是当爷爷爽!


我若有所思的点了点头…

名校名企的经历只是一个比较坚实的底线,意味着无论如何都不会太差,大不了以后回大公司去总不是难事。至于说能发展得有多好,还是要看个人的努力和历史的进程。毕竟有同样经历的人成千上万,能很成功的在这个群体里也只是少数。