Facebook华人工程师经理分享: 硅谷程序员职场发展之道

对于刚刚进入硅谷职场的程序员来说,如何更好的完成职场发展是一个必须要认真对待的话题。来Offer今天想跟大家分享一位硅谷巾帼英雄的故事。

她集合了华人、女性、非CS出身等多个在别人眼中被视为“不利”的标签。在金融危机的年代毕业,先后就职于Motorola、Amazon、Facebook。从无到有一路打拼,现已成为Facebook Engineering Manager。

她,就是Ruoruo Zhang。(点击观看完整讲座视频)


金融危机那年,她“剑走偏锋”找到工作

2009年,她从USC EE硕士毕业。不巧的是,她遇上了美国几十年来最严重的一次金融危机。企业倒闭、机构裁员、招聘freeze.... 那是真正意义上的就业市场寒冬。

所有传统的求职方法都用尽后,依旧没有什么起色。她决定,另辟蹊径。

你一定想不到,她用的招数就是给公司的客服热线打cold call。她一家一家地打电话推销自己,尝试着让客服人员把她转接到HR部门,并“索要”一个面试。当然,遇到闭门羹是家常便饭,也常常遇到客服不知道怎么处理,把她的电话在好几个部门之间来回周转的情况。每转一次,她就得重新再做一次self promotion。

“英语口语和沟通能力就是这么练好的。” 她回忆起那段时光。

“当时,我准备了三个elevator pitch,长度分别为1min、3min、5min。如果在说完1分钟之后没有被打断,我就继续说3分钟的版本,如果说完他们还愿意听,我就开始说5分钟的版本。一步一步touch到越来越多的信息,包括我对他们公司的了解、我上过哪些课、gpa是多少、我对他们公司有多向往之类的。”

她还透露:“其实无论在哪个年代,找工作的核心都是推销自己。你需要站在公司的角度思考:你能给他们带来什么。

在打了几百分钟这样的电话后,她终于成功拿到了Motorola的实习offer。


在职场上,她一路开挂

1. 一个实习生,竟帮公司Luanch了一个产品

在Motorola实习期间,她有了一个软件产品的idea,并有强烈的愿望将其实现。

非CS出身的她,由于并没有什么编程基础,就上网搜索,什么技术可以实现她的想法,她就去学什么。然后她自己买书、查资料,自己把这个技术“啃下来”。

她告诉我们:“那时每天除了睡觉,一睁眼就是工作和学习。一天工作16个小时是家常便饭。也没人这么要求我,就是像打了鸡血一样,我就是想看到手里的这个产品,最终做出来的样子。”

后来,她主导的这个产品,在谁也没想到的情况下越做越大,最后竟然成功launch成为Motorola正式产品!

实习期结束后,公司毫不犹豫地留下这枚优秀的实习生。


2. 她是组里唯一的、最年轻的、女性经理

结束了在Motorola的历练后,她明确了自己的职业发展,向软件行业转型。

于是,她跳槽进Amazon 126做软件工程师。为了让自己快速成长起来,她拒绝在一个相对成功与成熟的project里“当小兵”。她挑战自己,独立create了一个不存在的project,从零做起,并出色地主导完成。

就这样,用3年左右的时间,她成为了所属组里,唯一的、也是最年轻的女性经理。


3. 她Propose的项目,被小扎相中

后来,她来到Facebook,抛下曾经的经理头衔,重新出发。但很快,她便在人才济济的Facebook崭露头角。

在Facebook的一次Hackathon上,她提出了一个project idea,觉得有很大的发展空间。于是,她向高层建议将其产品化。

一开始推进得并不顺利,但通过她的坚持,终于一层一层上报到了CEO小扎那,并最终被小扎相中,决定将这个project发展为Facebook的重心产品之一。

这个project,就是现在Facebook stories的雏形。

现在,在她的领导开发下,该功能已有超过3亿用户使用。同时,她也成为了Facebook的Engineering Manager。

(点击观看完整讲座视频)


她给职场萌新们的一些发展建议

1. 适当冒险

在我的职业生涯里,我是非常理性地看这一点的。

其实我在心里就琢磨过,我是个华人,英语还不怎么样,还是个女性,我的coding也不是科班出身,到处都是短板,我要凭借什么在职场上生存下去?

想来想去,我发现自己唯一的长板可能就是我很努力,我很喜欢思考。这样的情况下,我要做的事情就是迅速被别人看到,那么我只能说去“冒一些险”,比如,把一些不知道做出来会不会成功、少有人去碰的项目做出成绩,做到让人impressed。

在亚马逊的那段时间就是我采取take a risk方针的正式开始。观察了一下市面上的信息后,我就知道亚马逊要开始做电子产品了。那我就想:等产品做出来以后,那电子产品的registration啊、shopping啊这些用户experience肯定是需要的,所以我看准这些东西之后,在一个组什么都没有的情况下,我就自己创造了一个project,开始从头做起。

从头做起的话,team里有一两个人和有三四十个人是完全不一样的。你会自己build machine,你会自己建立code base,这对我来说都是非常大的锻炼,这比只在组里做老板布置的项目的人成长起来要快得多。

说实话,在职场上有一些很好的、人人都想争取的机会,我并不认为自己能拿到手,因为我确实有很多短板,所以对我来说能很顺利地平步青云是不可能的,我必须要take risks,然后再付出百分之百的努力。

2. 多和manager聊聊

如果你想向下一个level发展,想要做到manager甚至senior manager,那你可以跟你的manager聊一聊,并表达得明白一点。

跟manager不要“知无不言言无不尽”,但是这个问题要谈清楚:我想要在怎样的timeframe里做到什么样的level,你能不能帮我?

当然前提是manager是个有能力的、好的manager。如果他真的不行,你就算有雄心壮志也比较难实现。那在这种情况下,你最好早点离开这个组,或者和其他manager建立联系,让他们给你当mentor,或者是跟senior engineer聊,看他们的职业发展是怎么做的。

我在Facebook的第一个manager就非常不好,于是我就去找组里的tech lead聊,我问他们都是怎么过来的,他们给了我很多有用的信息。

其实找一个好mentor这件事呢,是非常非常难的。我找到mentor的方式是通过volunteer。通过volunteer我能认识很多人,然后找到我想跟的mentor。我的建议就是不要只看到自己手里或者自己组里的工作,稍微往外看一看。


3. 知道manager对你的expectation

Junior Level

如果你是junior,比如在fb就是e3的new grad的话,最重要的事情就是你的基本功,你的code是不是写得好,你是否能写出很好的任务的description,你会不会ask for help,一旦有东西做不完了或者遇到了blocker,是不是能及时反馈给你的manager。这就是对最低level的要求。

Level 4

Middle-tier的话就会多一些要求了。首先你做事要非常有条理,每一个礼拜你要做什么事情,然后这些事情要到什么quality。如果你有dependency team,哪些team是你首先要去clear的。还有就是会考察你的time estimation是不是准确,你做完任务之后有没有testing。

站在工程师经理的角度,level4应该是非常proactive的。而且我会希望你作为一个feature的owner,每一个礼拜你都可以写一个summary过来:上周做了什么,这周做了什么,下周会做什么。除此之外,你跟engineer manager、product manager和组里成员的沟通一定是非常紧密的。这个大概就是fb对level 4的要求。

Level 5

然后就是level 5。在fb的level 5不光是要确保你的feature能够顺利进行下去,你还要有一些产品的直觉。比如知道哪些东西值得做,哪些东西不值得做。

从level 4升到level 5的话,你需要很明确的思考:我们做这个feature到底是用来干嘛的?我们是想增加engagement、retention还是distribution?如果不清楚的话应该和PM直接沟通。

对于level 5的engineer,一般的manager都会要求这个人能够独立推进一个任务。要做到如果我把一个3-6个月的project stand along给一个他/她,是没有任何问题的。

Level 6

对于level 6的engineer,就不只是看他的执行力了。他需要not only knows how to do things right, but he also knows what is the right thing to do。 就是说你能不断找到新的东西去做,而且能把这任务分给team里的人去做,去不断generate新的scope,不断产生impact出来。我觉得这是level 6的工程师需要做到的。


4. 搭建你的network,做好长期投资

如果你通过努力,逐步发展到senior或者super senior的级别,那你怎么从level6升到7?

这个时候你的technical的技能已经没有问题了,communication也没问题了,你的cross-team alignment也没问题了,那说实话,就是看感觉。大家喜不喜欢你,愿不愿意和你共事,实际上就是这一点东西决定了你下一步能走多远。

你的relationship不光是你的manager,你还要跟你的skip-level manager、director、vp都保持一些联系。

我在amazon就有过这样的经历,有一个事情解决不了了,好几个manager在一起开会讨论该怎么办,这个时候vp就“举荐”了我,说我们组做过这样的事情可以让我去lead,那我就得到了gain visability的机会。

然后还有horizontally的关系,这个大家通常会忽视掉,但是你其实很需要和你的peer搞好关系,他们在你的职业发展道路上其实很有用。manager想要提拔你的时候,第一件事就是会问你的peer对你的评价。这其实会直接影响你最终能不能得到升职的机会。

这个阶段,你已经有了一些经历,这时候你也应该非常积极地帮助别人。你需要有一些信心,不要怕别人会踩到你的头上。一旦你有能力让这个org变得更好,senior manager也会看到这一点,那么你就会走得更远。


还想听她分享更多对求职、职场发展有帮助tips?来Offer有幸在前几天请她做了一场职场心得讲座,点击观看完整讲座视频。


更多北美CS求职信息请至来Offer官网:https://www.laioffer.com
来Offer软件工程师旗舰核心课程,已帮助3000+中国学生进军北美一二线科技公司!点击了解详情

你可能感兴趣的:(Facebook华人工程师经理分享: 硅谷程序员职场发展之道)