公众号关注 “前端开发博客”设为“星标”,重磅干货,第一时间送达转载:JavaGuide

不知道今天还有小伙伴坚持在工作岗位不?我已经回家几天了!走的时候还带了电脑以及两本比较中意的技术书籍。本来准备好好利用这难得的时间充充电,结果,发现回来之后就想躺着刷刷手机,出去瞎转转。

前几天,刷推的时候,我看到一篇不错的文章《我为什么从 Google 辞职开始为自己工作?》。我非常感兴趣。

在我看来,每个开发者或许都有一个自由开发的梦想,这意味着我们可以花更多的时间做自己想做的事情。

虽然,我也才没有工作几年,但是,平时也会经常幻想着有朝一日能够成为“自由”开发者。

这篇文章的作者 Michael Lynch 于 2007 年毕业于哥伦比亚大学,获得了计算机科学学士学位。他曾在 Microsoft 和 Google 担任软件工程师,后来他离开了 Google,开始成为一个自由开发者。

原文是英文版本,我简单用谷歌翻译并校对了一下(翻译的比较烂 ????)。下面是正文~

原文地址:https://mtlynch.io/why-i-quit-google/[1] 。


在过去四年时间里,我在 Google 担任软件开发工程师。(2018 年)2 月 1 日,我辞职了。因为他们拒绝买圣诞礼物给我。

好吧,其实里面还有更复杂的原因。

刚开始的两年

这两年,我深深地热爱 Google。

当“年度员工调查”问我五年后是否期望还留在谷歌时,答案是毋庸置疑的。

五年后我当然依然还会在谷歌。我的周围有着全世界最优秀的工程师,我们使用的是全世界最先进的开发工具,我们还可以免费享受世界各地的美味食物。

我在谷歌的典型一天

我最近的业绩评定是”远超乎预期”。如果继续保持这种态势的话,我很快就能晋升到更高一级的资深软件工程师。多么厉害的头衔!以后在我的职业生涯,我就可以自豪地说,“对,我曾在 Google 担任资深软件工程师。“听到的人肯定会十分印象深刻。我的经理向我保证我很快就能晋升,他觉得我已经有能力从事进阶工作了,我只需要用合适的专案向晋升委员会证明即可。

经理不给你晋升?

不是的,这和经理无关,因为 Google 的经理不能晋升他们的直接下属。他们甚至没有投票权。

相反,晋升的决定权在于由资深软件工程师和经理组成的小型委员会,在决定晋升之前他们甚至从未听说过你。

申请晋升你需要整理”晋升资料集”:收集来自队友的书面建议,你创建的设计文件以及你撰写的小型论文,通过这些来解释为什么你值得晋升。

然后晋升委员会与其他少数人一起审核你的资料集,花一天时间来决定谁能晋升,谁不能。

在我与 Google 前两年的蜜月期,这个系统听起来很棒。我的命运掌握在一个从未见过我的神秘委员会手中。他们不会有任何偏袒也不受政治的左右。他们会看到我所有的努力,他们会因为我高品质的程式码和精明的工程决策而认可我。

但事情其实并不是这样运作的

在我整理我的第一份晋升资料集之前,我从未想过它运作流程的后勤方面。

在我的脑海里,晋升委员会就是这样一个站在上帝视角的公正组织。如果每一天我都全心全意地选择要解决的正确问题,努力提高程式码的品质,竭尽全力帮助我的团队高效执行,那么晋升委员会就会神奇地无所不知并因此而奖励我。

然而,事实是,它并不是这样工作的。而我花了两年才弄明白这一点。

天真地工作

在看清真相前,我的主要责任是一条老旧的资料管线。它多年来一直处于维修模式,随着负荷的增加,管线因为过大流量而不稳。它经常悄无声息地停止运作或产生不正确的输出。其故障需要数天才能诊断,因为自最初的设计规范开始就没有人为它写过文件。

我自豪又亲切地呵护管道使得它恢复了健康。我修复了数十个 bug 并撰写了自动化测试,以确保它们不会再出现问题。我删除了数千行程式码,这些程式码要嘛已经没用了,要嘛完全可以被现代函式库所取代。我为管线添加了文件,以便我的队友可以随时了解其结构知识。

问题是,正如我在晋升时发现的那样,这些成果没有一个是可以量化的。我无法证明我所做的任何事情对 Google 产生了积极的影响。

不能测量 = 不存在

我大幅减少了开发人员修复这些故障的时间,但是我没有制定追踪开发者时间的指标。

我的其他工作用书面形式表达时也是毫不出色。有几次,我搁置了自己的专案几周甚至几个月时间去帮助队友,因为他的新发布版本有风险。这对团队来说是正确的决定,但在晋升资料集中则显得平平无奇。对于晋升委员会来说,我队友的专案是一项重要的工作,需要多个开发者的协助。他们能想方设法地让我帮助他们,这是他们领导素质强大的证据——而我只是一个没有意识的工作傀儡,反而显得我本身负责的工作无关紧要,以至于可以随叫随到,立刻就能放下手头的工作。

在我提交我的第一个晋升资料集时,最后的结果正如我所担忧的那样:晋升委员会说我没有证据证明我可以处理技术复杂性,他们也看不到我对 Google 的影响。

向晋升委员会辩驳我的能力

从拒绝中学习

被拒绝是一次重大的打击,但我并没有气馁。我觉得我的表现超出了我的程度,但晋升委员会看不到。不过,这是可以解决的。

我承认头两年我实在是太天真了。我没有提前做好计划,使得我所做的工作成为了一纸空文。现在既然我明白了这个过程是如何运作的,那么我只要在继续做好同样工作的同时,准备更充分地记录保存。

例如,我的团队会因为误报而接收大量令人分心的电子邮件警报。以前的我只会解决这些警报。但现在的我知道为了让这项工作出现在我的晋升资料集中,我首先应该设定测量指标,以便我们有警报频率的历史记录。在晋升考察期间,我就能展示一个令人印象深刻的警报趋势图。

不久之后,团队分配给我一个看似注定会晋升的项目。该项目很大程度上依赖于机器学习,而这一直是谷歌的热门话题。它可以自动完成需要数百名人工操作员手动完成的任务,因此它将对 Google 产生显著和客观的影响。同时我还需要在整个专案过程中带领一名初级开发人员——这通常在晋升委员会眼中也可以加分。

节日礼物与叫醒电话

几个月后,Google 结束了为所有员工提供奢华节日礼物的悠久传统。相反,他们将礼物预算用于购买伪装成慈善的广告(X) Chromebook (O) 给贫困的中小学生。

此后不久,我亲耳听到两名员工之间的以下对话:

员工 A :实际上你仍然得到了礼物。像这样的花费消减会增加 Google 股票的价值。你可以出售你的股票奖励用于购买所选择的任何礼物。

员工 B:这不就像是,我告诉我的妻子我没有为她买圣诞礼物,但她可以用我们银行账户里的钱购买她想要的任何礼物?

员工 A :你与 Google 构建的是一种商业关系。如果你对 Google 没有像你为你妻子那样准备礼物而感到失望,那么你误解了这种关系。

等等。所以我与 Google 建立的是商业关系。

我花了两年半的时间才意识到这一点或许会让人觉得有点不可思议,但谷歌在组织内部很好地打造了一个社群意识——让我们觉得我们不仅仅是员工,我们还是 Google 本身。

那次谈话让我意识到我不是 Google。我不过是一个向 Google 提供服务以换取金钱的打工者。

因此,如果 Google 和我之间存在一个可以服务于各方利益的商业关系,那么为什么我要花时间在所有这些符合 Google 利益而不是我自己利益的任务上?如果晋升委员会不奖励 bug 修复和团队支援工作,那么为什么我还要去做这些事情呢?

为晋升之路做最佳化

我第一次晋升的否决让我学到了一个错误的教训。我认为我可以继续做同样的工作,但是可以做一些事情使得晋升委员会看得我的成果。然而其实我应该做相反的事情:弄清楚晋升委员会想要什么,然后专门去做那项工作。

我采用了新的策略。在开始任何任务之前,我会问问自己这是否有助于晋升。如果答案是否定的,那么我就不做。

我的程式码品质标准从“能否在未来 5 年内仍能维护这份程式码?”变为“是否可以维护到我被晋升为止?”。我不提交也不修复任何 bug,除非它们会威胁我的专案的新版本发布。我设法推脱了所有关于维护工作的职责。我停止了去校园招聘的志愿活动。我从每周执行一次或两次面试降低到零。

然而我的专案被取消了

优先度被改变了。管理层将我的专案移交给了我们在印度的姐妹团队。作为交换,该团队向我们提供了他们的一个专案。这是一个没有文件记录的系统,建立在不推荐使用的基础设施上,但它仍然是产品的关键组成部分。分配给我的工作是将此系统从姐妹团队的程式码中清理出来,并搬迁到一个新的框架中,同时确保它能在正式环境中运作并达到其性能指标。

就晋升而言,我这几个月的努力都白费了。因为我为了那个被取消的专案而没有发布任何东西,所以我耗费在该专案上的两个月时间毫无价值。而且我还得花上几周时间才能加快掌握我继承的系统,并且在为了保持系统可操作这一苦差事中,我必定会耗费许许多多时间。

我到底在做什么?

这是六个月来第三次,我的经理在一个专案的中间重新安排我了。每一次,他都向我保证,这与我的工作绩效无关,而是高层管理策略或团队人员的一些变动。

此时,我回过头来想从高层发生的事情。不去想我的经理,他的经理,甚至忽略所谓的晋升委员会。如果我仅仅把另一边简化为 Google,会怎么样?我们的“商业关系”之间发生了什么?

是的,Google 一直告诉我,除非看到我完成了一个专案,否则它无法评判我的工作。但是,因为 Google 中途不停的中断并将我分配到新的专案,所以我无法完成任何专案。

整个过程荒谬无比。

Google 晋升委员会的处理模式

我的职业生涯由一个流动的匿名委员会所决定,他们将在一个小时的时间里决定我的前途。一个我抗议无效的管理决策抹杀了我那么多月在事业上取得的进步。

最为糟糕的是,我并不以我的工作为荣。我扪心自问的不再是:“我该如何解决这个具有挑战性的问题?”而是:“我怎么才能让这个问题从晋升的角度看起来具有挑战性?”我讨厌这样。

即使我获得了晋升,然后呢?主流观念是每一次的晋升都会比上一次更难。为了继续推进我的职业生涯,我需要范围更大、涉及合作团队更多协作的专案。但这意味着该专案可能会失败,因为会有更多我无法控制的因素,从而浪费数月甚至数年时间。

有什么其他选择?

大约在这个时候,我发现了Indie Hackers[2]

Image for post

这是一个面对小型软件创始人的线上社群。要强调的重点:。这些创建者的目标不是成为第二个扎克伯格,而是想从一些适中而又有利可图的业务中赚点钱糊口。

我一直对创办自己的软件公司非常感兴趣,但我只知道矽谷的创业之路。我原本以为成为一名软件创始人意味着要将大部分时间用于融资,剩下的时间则要担心如何吸引新的百万用户。

Indie Hackers 给出了一个诱人的选项。大多数会员利用自己的积蓄建立企业,或将其作为全职工作之外的业余项目。他们不需要答覆投资者,当然也不必向匿名委员会证明自己。

缺点也是有的。一方面收入不太稳定,另一方面还面临更多灾难性风险。如果我在 Google 上犯了一个错误,导致公司损失 1000 万美元,我不用承担任何后果— — 我需要做的是写一篇事后报告,然后每个人都会开心于此次学习机会。但对于大多数创始人来说,1000 万美元的错误将意味着企业的破产以及几辈子的债务。

在 Indie Hackers 做创始人的念头在我脑海中挥之不去,让我魂牵梦萦。因为无论业务是取得巨大的成功还是一蹶不振多年,都在自己的掌控之中。在 Google,我不觉得我可以自己控制专案,更不用说职业成长以及团队方向了。

我反覆思索了几个月,最后终于下了决心。我要成为一名独立开发者。

离职前的最后一件事

我在 Google 上还有没完成的事情。在为了晋升投入三年时间后,我自己也不想毫无建树就离开。此时只需要几个月时间我就可以重新申请晋升了,所以我决定给自己最后一次机会。

悲剧的是,距离成果统计结束还有六周,我的专案被取消了。又一次被取消了。

事实上,我的整个团队都被取消了。这在 Google 是很常见的,而且它还有一个委婉的称呼:碎片整理(defrag)。管理层将我们团队的专案移交给我们在印度的姐妹团队。我的队友和我都必须从不同领域重新起步。

不管怎么说我已经申请了晋升。几周后,我的经理给我看了结果。我的表现评分是“极为杰出的”,这是最高的分数,每期只给约 5%的员工。晋升委员会指出,在过去的六个月中,我清楚地展现了高水准的工作。而这刚好不是我为了最有效晋升而努力的那几个月时间。

但他们觉得六个月的追踪记录时间不够长,所以……祝我下次更好运。

我的经理告诉我,如果我再做六个月的高水准工作,我的晋升机会很大。我不能说我没有受到诱惑,但到那时为止,在过去两年时间给我的鼓励一直都是“六个月后晋升机会很大”。

所以现在是时候离开了。

那么,下一步呢?

当我告诉别人我离开了 Google 的时候,他们认为我一定有一些绝妙的创业点子。只有傻瓜才会辞掉 Google 软件工程师这份工作。

我究竟是不是一个傻瓜,见仁见智吧。

我的计划用几个月的时间尝试一些不同的专案,看看其中有没有迎合人心会流行起来的,例如:

  • 继续致力于KetoHub[3],看看我能否实现盈利

  • 在 Sia 上建立业务,这是我经常用到的分散式储存技术

  • 花更多时间撰写程式,并寻找从中赚钱的途径

Google 是一个伟大的公司,我在那里学习了许多宝贵的技术和技能。辞职是一个很艰难的抉择,因为我还有更多需要学习的东西,但要找 Google 这样的雇主总还是可以的。我不会一直有这样的自由可以顺从本心地创办自己的公司,不知道我能走多远,期待我的成果吧。

参考资料

https://mtlynch.io/why-i-quit-google/: https://mtlynch.io/why-i-quit-google/

Indie Hackers: https://www.indiehackers.com/

KetoHub: https://mtlynch.io/ketohub-month-3/


推荐阅读

1. 盘点几个开源的高仿项目,B站最像!

2. 卧槽!GitHub还有这么有趣的项目!!

3. 撸了一个「合成大西瓜」

每天推荐前端相关的教程,项目和经验等。

如果觉得这篇文章还不错,来个【分享、点赞、在看】三连吧,让更多的人也看到~

「好文分享」我为什么从Google 辞职开始为自己工作?相关推荐

  1. 没有会员wps合并多个sheet_WPS「合并文档」功能,如何“唰”一下把多个文档合并到一起?...

    在我们的日常工作中,合并多个文档时,多数是将各文档逐一打开.复制.粘贴.关闭等,既麻烦又耗时,还会影响完成进度.那么有没有什么"骚"操作,可以快速高效合并文档?今天就给大家分享如何 ...

  2. 「石墨文档」在线协同办公系统平台免费在线办公文档兼容Office

    武汉初心科技有限公司成立于2014年,在北京.上海.武汉设有分支机构和服务中心,自推出中国第一款在线协同文档办公软件--「石墨文档」以来始终保持业界领先地位,现已成为国内体系最完整.功能最完备的企业级 ...

  3. 「中华绿色+」受到「绿色文创」动漫ip站台——环保熊猫“小保保”

    这是「外滩思想展场.燃焕力场」来自前方的现场直击! 一个问题:产业链是否需要动漫ip? 答案是,还是阔以哒. 这周的第一届全国土壤修复大会第三次大会上,稳略.外滩文创孵化中心所孵化的绿色文创动漫ip- ...

  4. wps 甘特图_「WPS办公助手」3分钟画出高逼格流程图,工作学习规划一目了然,老板都要为你点赞...

    今天小金想和大家唠唠 WPS 两个独特的办公工具:「WPS流程图」和「WPS脑图」.可能很多人潜意识里觉得流程图和脑图比较麻烦很难画,甚至还有一些盆友从来没有听过.但实际上无论工作学习还是日常生活,流 ...

  5. 一文了解 Nginx 反向代理与 conf 原理「技术干货分享」

    Nginx 主要功能 Webservice, 反向代理, 负载均衡. 推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,fa ...

  6. 「老文补发」写在GitBubble上线之后

    "在一个晚上我的母亲问我今天怎....么不开心" "我说在我的想象中有一个小游戏...摩擦摩擦..." (神经病 -_-|||) 事情是这样的,2014 年 1 ...

  7. 「黑科技分享」好消息,手机号能“一键解绑”各种APP,真香

    今天,[酷趣黑科技]跟大家分享的是官方黑科技功能. 前言 大家手机里一定下载了不少绑定手机号的APP,是不是多到自己都不记得了?万一哪天换号码,就意味着这些APP要挨个解绑,然后用新号再重新绑定,费时 ...

  8. 图片管理系统源码_「程序员分享」基于SpringBoot开发的天猫商城源码

    前言 大家好,我是程序员it分享师,应粉丝的要求,今天给大家带来一个基于Springboot开发的天猫商城的源码! 使用技术 天猫商城系统使用的是Spring,SpringMvc,SpringBoot ...

  9. 快手(java岗)秋招三面,已拿offer「面经分享」

    地址:北京 ​ 编辑 添加图片注释,不超过 140 字(可选) 2021.9.7 一面 1. 自我介绍 2. 实习项目.背景.需求介绍 3. InnoDB优点 4. MyISAM索引底层是什么结构 5 ...

  10. 「Java知识点分享」优雅的统计程序的执行时间,别再用System.currentTimeMillis()了

    每天分享一点小知识,积少成多.今天分享的是如何优化的统计程序的执行时间,搞起! 1.不建议的方式 long begin = System.currentTimeMillis(); // 耗时的程序执行 ...

最新文章

  1. golang获取变量地址值和指针变量示例
  2. BPM与Workflow的区别
  3. java犯的小错误_[Java教程]十个JavaScript中易犯的小错误,你中了几枪?
  4. redis——sentinel
  5. 使用freemarker模板生成word文档
  6. JDBC 编程的分析
  7. ubuntu下针对php的thrift 安装折腾记录
  8. ACM字符串处理算法经典:字符串搜索
  9. java运行环境安装及配置教程
  10. 自己动手编译NodeMCU固件
  11. js数组方法的返回值总结
  12. 基于负熵的快速不动点算法
  13. 产品结构图 VS 信息结构图 VS 功能结构图(附案例)
  14. 公网异地远程访问家中/公司的群晖NAS
  15. Java多线程系列—多线程带来的问题(05)
  16. 神经网络解决XOR(抑或)问题
  17. 人工智能会“偷走”潜艇的隐身能力吗?
  18. 【工具】持续集成工具——Jenkins
  19. 制作3D图片立方体旋转特效
  20. 飞思卡尔K22调试FXOS8700加速度和电子罗盘

热门文章

  1. Eclipse启动出错误:An error has occurred.See the log file。。。。
  2. STM32中GPIO工作原理详解
  3. cdr图片随意拉伸变形_PS入门篇(6)—修改图片尺寸
  4. C51单片机实验-LCD1602显示实验
  5. ZigBee串口发送字符串函数
  6. 关于jsoncpp使用时报错Use StreamWriterBuilder instead
  7. 计算机f2锁定用户,台式电脑键盘被锁住按什么键恢复 点锁定直接锁定计算机
  8. 电视制式 NTSC PAL SECAM
  9. VC无进程木马下载器源码
  10. win10系统,使用Windows照片查看器打开图片