查看原文
其他

Google 工作 4 年,我最终还是选择了离开

2018-03-08 Michael Lynch CSDN

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

声明:本文已获作者授权翻译,封面图为付费下载自视觉中国。

【CSDN编者按】作为全球领先的科技公司,Google 一直是许多开发者梦寐以求的地方。身处 Google,你可以和全世界最优秀的工程师一起工作,用着全世界最先进的开发工具,研究全世界最前沿的技术领域。本文的作者 Michael Lynch 就是一位 Google 的软件工程师。在 Google 工作的四年,他一直希望通过努力,让升职组委会认可他的能力。然而最终,Michael Lynch 还是选择了离开。下面让我们来一探究竟。

以下为译文:

过去的四年里我一直在 Google 从事软件开发。但是 2 月 1 日,我辞职了。因为他们拒绝给我买圣诞礼物。

好吧,开个玩笑,事情实际上要复杂得多。

开始的头两年

头两年,我爱死 Google 了。

年度员工调查问我是否愿意在 Google 工作 5 年以上的时候,我毫不犹豫的选择了是。

当然今年确实是我在 Google 的第 5 年。我身边都是全世界最优秀的工程师,用着全世界最先进的开发工具,还吃着全世界最免费的食物。

这几年我的业绩评价都是“远超预期”。照此下去,很快我就可以晋升到更高级的职位:高级软件工程师。多酷的头衔啊!从此以后,谈论起职业生涯我就可以说,“是的,我是高级软件工程师,在 Google 工作。”大家都会很羡慕的。

我的经理也肯定我很快就会晋升,他感觉我已经可以胜任高级职位的工作了。我需要的只是一个合适的项目向升职委员会来证明我的能力。

经理无权提升你?

但是,Google 的经理根本无权提升他们的直属下属,他们甚至没有投票权。

员工的晋升由升职委员会决定,这个委员会由高级的软件工程师和经理组成,如果不是晋升的当天见到你,他们可能从来都没有听说过你。

申请升职的时候需要准备“升职资料”,包括:队友写的推荐信,本人创建的设计文档,以及一篇小文章解释为什么你够资格得到晋升。

然后由升职委员会审核所有申请人的资料,在当天决定有哪些人将得到晋升。

在头两年的蜜月期,我觉得这个机制非常棒。当然我的命运应该由一个神秘而又陌生的委员会决定。因为他们不会偏袒任何人,也不会受办公室文化的影响。他们会看到我过去做出的业绩,并透过高品质的代码和敏锐的技术判断重新认识我。

然而事实并非如此

在整理第一份升职资料前,我从未想过这个机制是如何运作的。

在我脑海中,这个升职委员会无所不知而又十分公平。如果每天我都在解决正确的问题,改进我们的代码库,并帮助队友提高效率,那么这个升职委员会很神奇地了解这些情况,并奖赏我。

不出所料,事实并非如此。我花了两年才认清这个事实。

我真是太天真了

我的工作主要是负责一个旧的数据流水线。它已经处于维护模式很多年了,但是由于负载的增加,流水线已超出了负荷。它会经常悄无声息的死掉,或输出错误的信息。我需要花好几天的时间分析并找到原因,因为除了原始需求外,没人写过任何文档。

我很自豪,在我悉心的照顾下,这个数据流水线起死回生了。我修复了几十个 bug,还写了自动化测试,确保 bug 不会重现。我删除了几千行无效的或可以用流行的代码库替换的代码。随着研究的深入,我将这个系统的知识记录到文档中,供我的队友参考,而不仅是在我个人脑海中。

然而,在升职的时候我却发现,我所做的所有工作中没有任何一项可以用数字度量。我无法证明我做的努力对 Google 有任何积极的影响。

度量指标或权当没发生过

数据流水线没有任何度量指标。即便有,也只会让度量结果更加糟糕。我发现的 bug 导致整体 bug 数增加。异常情况下我故意让数据流水线挂掉,以避免传输错误的数据,结果导致系统的故障次数增加。我大幅地降低了开发人员修复系统故障的时间,但是并没有任何指标涉及开发人员的时间。

我其他的工作看起来也很糟糕。好多次,为了帮助面临发行危机的队友,我不得不把自己的项目放在一边几周甚至几个月。对于团队来说,这样做没有错,但是放到升职资料中就很不起眼了。对于升职委员会来说,队友的项目更大,重要的工作需要多个开发人员的配合。如果他们能骗我去帮忙,那只能证明他们有很强的领导能力。我只是个没主见的人,承担着如此无关紧要的工作,可以随叫随到。

第一次提交升职资料后,结果正是我所担心的:升职委员会说,我没有证明自己有能力处理复杂的技术问题,并且他们没有看到我对 Google 做出的贡献。

从失败中吸取经验教训

升职申请的驳回对我来说是很大的打击,但是我没有就此气馁。我感觉我所做的工作已经超出了现有的职位,但是只是升职委员会没有看到而已。我可以想办法解决。

我觉得自己在前几年太天真了。我没有提前做周全的计划,确保所做的工作都有书面记录。现在我明白这个升职机制是如何运作的了,我可以继续做好本职工作,并更好地记录成果。

比如,以前我队友有时会因为假的系统警报而收到大量邮件提醒。这要放到以前我肯定只是修改好这些提醒就好了。但是现在我知道我要把这项工作写入到升职资料中,首先我会设置度量指标,记录过往邮件提醒的发生频率。在升职的时候,我可以做一张曲线图展现邮件提醒发生大幅下降。

不久,我被分配到一个看似很有机会升职的项目中。项目中用到了大量机器学习,这一直是 Google 很热门的方向。项目可以将需要几百个人手动操作的任务自动化,很明显这个目标对 Google 有很大的影响。我还需要在项目中领导一个初级开发员,这也可以在升职委员会面前大大加分。

圣诞礼物引发的深思

几个月后,Google 上了新闻头条,因为他们取消了给所有员工发放圣诞礼物的悠久传统,并把买礼物的钱奉献给了广告慈善事业,为贫困的学龄儿童买了 Chromebooks。

之后不久,我听到两个员工的一段谈话:

员工 A:你还是变相的拿到礼物了啊。经这么一折腾,Google 股票肯定升值。你卖掉一些股份就可以买自己喜欢的礼物了啊。

员工 B:就像我告诉我老婆我不给她买圣诞礼物了,但是她可以用我们银行账户里的钱随便买自己的喜欢的礼物?

员工 A:你跟 Google 是商业关系。如果你因为 Google 不像你对你老婆那样“浪漫”,没有给你买礼物就感到失望的话,那你对这段关系的认识本身就是错误的。

等等,我和 Google 只不过是商业关系。

听起来有点怪,我花了两年半时间才意识到这一点,但是 Google 一直在公司内部积极建设社区的氛围,让我们大家感觉我们不只是员工,而是 Google 这个大家庭的一份子。

两位同事的谈话让我意识到我并不属于 Google,我只是在拿钱为 Google 服务。

既然我和 Google 是商业关系,自取所需,那么为什么我花了那么多时间完全为 Google 的喜好服务,而不是我自己的呢?如果升职委员会不会因为改 bug 或帮助队友而奖励我,我为什么要做呢?

为升职做改变

首先升职给我的经验教训是错误的。我以为我可以继续原来的工作,但是要在升职资料里准备地更好一点。其实我要做的恰恰相反:我需要搞清楚升职委员会想要什么,然后专门做这些工作。

我采取了一种全新的方式。在开始做任务前,首先我问自己这个任务对我的升职是否有帮助。如果答案是没有,那我就不做。

我的行为标准从“在接下来 5 年中,我们是否可以继续维护系统?”降到了“这个系统可以维持到我升职吗?”我不再记录或修改任何 bug,除非影响到项目的启动。我设法逃避所有维护工作的责任。我不再自愿参加校园招聘大会。我主导面试的次数也从每周 1 - 2 次降到了零。

随后我的项目取消了

工作优先级发生了调整。管理层把我的项目发给了印度的兄弟团队,作为交换,他们把一个项目让给我们。那是一个完全没有文档记录的系统,建立在一套垃圾的基础设施之上,竟然还是产品的关键部分。领导指派我去将代码从兄弟团队的代码库中分离出来,并转移到新的框架上,同时还要保证产品正常运行,各项性能指标达标。

想想我的升职,又要往后拖几个月了。因为取消的项目让我一无所获,我白白在上面浪费了两个月。现在又要花好几周搞清楚这个我即将参与的系统,而且还有可能花费更长的时间给人打杂,以确保系统的正常运行。

我究竟在干什么?

半年来,这已经是第三次经理中途重新把我分配到另一个项目组。每次他都说这与我的工作表现无关,完全是因为高层管理的战略改变,或者平衡团队人数。

当时,我认真地想高层究竟在干什么。先别管我的经理,也别管他的经理,也别管升职委员会。如果单单看我和 Google,我们之间的“商业关系”究竟是什么状况?

Google 一直说需要等到项目完成才能评价我的工作表现。但是,我没法完成任何项目,因为 Google 不断在中途把我调配到新项目。

这种动向很荒谬。

我的职业生涯不断被调整,陌生的委员会只用一个小时就决定了我的升迁与否。管理层丝毫没有征求我的意见就妄做决断,随随便便就把我几个月的辛劳一笔抹去。

最糟糕的是,我一点都不为自己的工作感到自豪。我问自己,“我怎样才能解决这个困难?”我的意思是说,“我怎样才能让现有的工作看上去对升职很有帮助?”

即便我升职了,又能怎样?大家常说每次升迁后的工作难度都会加倍。为了继续发展我的职业生涯,我需要更大的项目,需要跟更多合伙团队协作。但是这仅仅意味着项目可能因为更多我无法控制的因素失败,浪费我几个月或几年的时间。

我还有别的选择吗?

正当此时我发现了 Indie Hackers。

这是个小型软件创业者的在线社区。需要特别强调小型,上面的人并不是像扎克伯格(Facebook 的创始人及 CEO)那样的牛人,只是一群想要建立一些赚钱的项目,用以养家糊口的人。

我一直梦想创建自己的软件公司,但是我只知道硅谷创建公司的情况。我一直以为软件创业者需要花大量时间去集资,以及担忧如何吸引更多的用户。

Indie Hackers 展现了另一条富有魅力的路。很多会员都用自己的积蓄建立他们的业务,或在全职工作之外搞一些业余项目。他们不需要应付投资者,当然也不需要向陌生的委员会证明自己。

当然也有一些弊端。他们的收入不是很稳定,还要面临更多灾难性的风险。如果我在 Google 犯了错误,害得公司损失一千万,那么我个人不用承担任何后果。我只需要事后写份检讨,然后每个人都会因为这次学习经验教训的机会而感到高兴。但对于大多数创业者来说,一千万的损失意味着创业失败,欠下的债务几辈子都还不清。

Indie Hackers 上的创业者深深吸引了我,因为他们有控制权。无论他们的创业是一炮而红,还是停滞不前,他们都是有机会的。在 Google,我感觉对自己的项目毫无控制权,也感觉不到职业生涯的发展或团队前进的方向。

我仔细考虑了几个月,最终做了决定。我想加入 Indie Hackers。

离开前的最后一件事

我在 Google 还有未做完的事情。为了升职我花了 3 年多的时间,我不能一无所获默默离开。距离我再次申请升职仅剩几个月的时间,所以我决定最后再试一次。

在业绩考核期截止前六周,我的项目取消了。又一次!

事实上,我们整队人都取消了。在 Google 这种事情很平常,委婉的说法是组织重整。管理层把我们的项目转给了印度的兄弟团队。我和队友不得不从完全不同的领域重新开始。

无论如何,我申请了升职。几周后,我的经理向我宣读了最终结果,我的业绩被评定为“非常优秀”,最高分,每次也只有 5% 的员工可以得到这样的评价。升职委员会注意到,在过去的 6 个月里我清晰地展示了高级开发者的工作能力。这一点也不意外,这就是我为升职做改变的那几个月。

但是他们觉得 6 个月的时间不够长,所以……希望下次有好运。

我的经理告诉我,如果我继续这样再工作 6 个月,下次我肯定能升职。我不得不说我还是有点动摇,但是那个时候,我只想说,“6 个月内肯定能升职”的话我已经听了两年了。

我该走了。

接下来该干什么?

当我告诉大家我要从 Google 辞职的时候,他们都以为我有了很好的创业点子。只有傻瓜才会轻易抛弃 Google 软件工程师这样的工作。

但是我确实是个傻瓜,我还没有想法。

我的计划是在接下来几个月,先尝试下几个不同的项目,比如说:

继续做KetoHub ,看看是否能找到盈利点;

在Sia上开展业务,Sia是一种分布式存储技术,我曾多次提到;

花点时间写作,看看能不能通过写作挣钱。

Google 是个很好的公司,在就职期间我学到了很有价值的技术。离开是艰难的抉择,因为我还有很多想学的东西,但是还会有很多像 Google 一样的公司。也许我不会一直自由自在地创业,所以我想看看自己究竟会走向何处。

原文链接:https://mtlynch.io/why-i-quit-google/

作者:Michael Lynch

译者:马晶慧

责编:言则

————— 推荐阅读 —————

点击图片即可阅读


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存