入职谷歌不到一年就升职是一种怎样的体验?

JavaGuide

共 5097字,需浏览 11分钟

 ·

2020-10-31 04:26

今天邀请到我的校友,Evens,跟大家分享他在谷歌的实习和工作经历。

Evens 大佬先是暑假在谷歌实习,毕业后正式加入谷歌,并且在超级短的时间内完成了升职,让我们一起来学习下吧。

实习的经历

实习的时候是在纽约的 office,当时项目是搭建一个小平台完成一次数据迁移。因为谷歌的编译、运行、发布所有工具链都是内部自研的,因此花了不少时间在学习和熟悉新工具上。这也是所有新员工入职之后面临的第一个挑战。

不过这些新工具不难学,因为谷歌提供了一系列的 codelab。codelab 会一步一步地指导该在哪里修改代码,做什么样的配置,最后搭建出一个 RPC server,或者联通数据库,或者开发一个小 app。

基本上每个内部工具 都有一个或多个对应的 codelab 帮助大家快速上手

新工具的文档和 wiki 通常比较完善,否则没法吸引新用户。如果看完文档还是有地方不懂,或者遇到了文档没提到过的问题,内部还有一个类似于 quora、stackoverflow 的问答平台,大家可以去提问,也可以去回答。然后一般用户量大的工具,他们的 team 还会提供 office hour,可以直接面对面问问题。

那有用到什么技术框架吗?

用的是 Java 加上谷歌的一个 API 开发框架,Google Cloud API。因为是数据迁移,所以 Spanner 数据库打了不少交道。

因为都是内部的工具,所以遇到的问题通常没法在互联网上搜索到。震惊:世界上最大的搜索公司内部竟然是一座“孤岛”!

实习的项目

实习项目的 scope 是 intern host 早就定好并且得到 approval 的。一般都会控制在能然 intern 在 9-10 周左右完成的那个量。

我当时的项目是已经有了 design doc 和详细的大步骤,我只需要按着这个一步步实现就行了。

后来跟 host 聊天了解到,这其实是他本来要做的东西,然后打包给我了,所以他自己对这个项目的内容和难度有很深的认识 也指导我少走了很多弯路。

host 是类似于 mentor 的角色吗?

不全一样,每个实习生既有 host,也有 mentor,还有一个 cohost。。。

host 负责 intern 的项目进展和技术指导,cohost 也是对 intern 项目提供帮助和做一些 code review,mentor 不负责项目的进展和技术难题,而是回答一些非项目相关的 general 的问题,比如怎么转正呀,怎么找到好吃的食堂呀 那层楼有好吃的零食呀之类的,以及回答一些 intern 不好意思问 host 的一些问题,比如觉得自己压力大,项目难不知道怎么快速入手,或者 pair 的那个 intern 不太给力我该怎么办之类的。

总结来说就是,host 和 cohost 负责项目进展,确保 intern 能完成这个项目。mentor 更多是给 intern 安利谷歌。。

实习中穿插了很多 intern events,主要是帮助实习生之间互相认识,以及结交一些已经在谷歌工作的员工,尤其是自己感兴趣的组/部门里的大佬。

实习末期

等到了项目的末期,整个 PA(production area,大概是“部门”的那个概念)的实习生会一起给 VP 做 presentation,介绍做了啥项目,三个月的实习期收获了什么(不过我也不确定是不是每个 PA 都这样)。

我记得 VP 要每个实习生说实习中最痛苦的事情是什么。

10 个里面有 9 个抱怨 learning curve 太陡峭了,来了一堆新概念新名词要学,VP 眼镜都直了。。(因为对于待了很多年的员工来说,这些工具都像呼吸一样自然了)

然后他跟其他人说以后设计 intern project 的时候一定要预留 ramp up 的时间给 intern。

之后 host 和 cohost 会分别写一份 feedback,在加上两轮转正面试,一共四个 feedback,交给 hiring committee 决定是否转正成功。

正式加入谷歌

然后毕业就入职成为全职员工了。

因为之前实习过,所以入职之后感觉都是熟悉的感觉。

有很多谷歌员工自造的单词,比如 googler,noogler。很多内部东西都以 g 开头,比如 gbike, gbus, gride。我个人感觉有点自成一派的“傲娇”?

领了一顶 Noogler(new googler)的帽子,才发现实习时候发的帽子上面印的是“intern” 是不同的帽子。奈何搬家的时候扔掉了 ?

入职感觉咋样~比实习更累吗?

其实还好,因为实习的时候项目有 deadline,结束前做不完就挂了 LOL

全职的很长一段时间里反而没有 deadline。

一般新员工约定俗成会有一个月的时间 ramp up,并且刚入职会有各种新人培训。但是我实习的时候都经历过了 所以很快进组干活了。。

一开始从修 bug 开始 组里已经提前留好了 bug 给我 ?

然后慢慢会有一些好项目交给我独立完成。

我老板当时刚从 TL 转成 TL manager,可能也在适应他的新角色。所以除了 1:1 以外都没有过多过问,基本上是我自己野蛮生长。

TL: tech lead,每个团队都会有一个 manager 和一个 tech lead

那同时组里有个小哥就被任命为 TL 了,此时他才加入谷歌 3 年,就已经从 L3 升到 L5,而且在组里还有其他 L5 老员工的情况下被委任为 TL。

所以是这个新 TL 对你影响更大吗?

对的。打交道更多是 TL 基本 code review 都是他负责,然后各种问题也只能找 TL。

(下文会有一段专门来讲 tech lead)

老板(manager)的话,直接的影响其实不太多,更多是那种润物细无声的。从来不会 push,但是如果碰到问题 他会很热心的帮忙解决,但是对新人来说可能不是很友好。因为新人也不知道自己该做什么,这时候一般更希望有人可以指明方向。

我觉得老板还是挺对我脾气的。给我留了(过于?)充足的空间自己发挥也不会过问太多。但是来问的时候我总有成果可以汇报。然后虽然不怎么过问但是要找他他一定在那里能够帮到我,这个过程中彼此就建立了信任。

过了一段时间老板也熟悉他的新角色了,我们组开始扩张,新很多内部转组和新员工加入进来了。

升职

等入职快 9、10 个月的时候,我已经在小范围 lead 一个项目了,这时候老板主动鼓励让我尝试去准备升职的事,然后给了很多意见和建议,对我倒是帮助很大的。

谷歌的升职有一套 ladder 和对应的标准,老板当时跟我一条条解释他对我的 expectation 是什么,并且我当时达到了什么的程度,还有那些地方可以提升。然后在接下来的半年里提升我的 promo packet,最终是在 16 个月的时候升职。

这么快升职,有什么心得吗?

一点小心得就是要尽早搞清楚游戏规则。升职的那些 policy 内网都有专门的网页详细介绍,熟悉这些规则会少走些弯路。

另外就是按照下个级别的 expectation 来要求自己,工作的时候多想想怎么提升自己的 impact 和 leadership。除此之外就是提升自己技术实力啦,能出活才是硬通货。

接下来就专门讲讲对我影响最大的 TL 小哥。

最好的 tech lead

TL 小哥人非常聪明,反应特别快,并且业务能力出色。一个人能搞定很复杂的问题并且对项目各方各面(设计、开发、测试、集成、上线、监控等等等等)都具备丰富经验。由于是美国长大,语言文化完全不是问题,人很 nice 并且玲珑剔透,和组员及 manager 关系非常融洽,并且非常得上几级老板的器重。

可能是我见过真人里最聪明的了。他的聪明有别于典型的学霸,是真的因为智商高所以一般人觉得难的问题在他手上可以迎刃而解(学神?)。对于这种老天赏饭吃的猛人,我等普通人是羡慕不来的。

不过这些都是他自己得天独厚的硬实力。接下来想说的是他作为一个 TL,好在哪里(可能也是好 TL 共同具备的一些素质)。

  1. 对组里产品的整个框架、业务、到代码细节都非常熟悉

由于对 codebase 非常熟悉,因此在 design review 的时候能够一针见血地指出设计所存在的问题。例如可能与某种场景冲突,可能会在别的地方造成副作用,可能违背长期规划会引入 tech debt。。。

由于熟悉产品中 tricky 的地方以及背后的原因,老板遇到一些产品层面上的问题都会来询问他的意见,并且他提出的看法也深受重视。也是 TL visibility 的体现。

由于非常聪明,定位线上问题、在代码中找 root cause 也是快得飞起。有几次当面问他问题,我还在读方法前面的注释,他已经跳转了几次找到了关键的代码行。

  1. 对技术具有一定的掌控力,能够为整个组设立 technical direction

狗家技术框架自成一套,并且不断更新换代。TL 小哥对常用技术的了解自不必说,对于新技术也广有涉猎。得益于此,他常常很积极地推动新流程和使用新技术。

当组员对某些技术问题争论不休时,他能很果断地做出决策,并且清楚解释决策背后的考量,让人信服。

有一点令我感到尊敬的地方在于,他从来不会因为自己是 TL 而忽略其他同事的看法。如果同事对他的决策有质疑或者未能完全接受,他会很耐心的与之继续探讨并作出修正。

  1. 维护组员并且指导组员成长

他曾经跟我说过,如果项目作出了什么成果,credit 都是我的;但是如果过程中出现了什么问题,他永远会会给我兜底。

我堂堂八尺男儿,听完竟然有些感动。

他也确实是如此践行的。

比如:

a). 某次大组出游,正值我 oncall,收到一个用户 page。我回酒店房间处理。他知道后给我发消息,说这个时间点我们算是 out of office,不用响应用户 support 的 ticket,只要我们的服务没有 down 就可以等回去了再弄。我问如果用户很着急怎么办,答曰用户的 priority 不是我们的 priority,只要我们的 service works as intended,问题就不在我们这边。因此也不用花费私人的时间去处理。

b). 另一次 oncall 结束,有一个用户 ticket 我忘记交接给下一位 primary。后来用户过来 ping 有什么进展。TL 过来问我,我心想这是我留了收尾当然得把事情负责到底,于是跟他说这是我遗留没做完的事情,我继续把它完成。他说他来找我只是单纯了解下一些细节,看看是否是交接流程本身有一些遗漏;他来找我也并不代表他要我继续跟进这个事情,既然我的 oncall 结束了,他建议直接交给当前的 oncall 就好。不过又说如果我一定很想做完这个事情,他当然不会拦着我。

我刚进组时,TL 小哥侧重指导具体技术的用法。等我也渐渐成为组里较资深的组员时,TL 小哥身体力行指导我如何综合各方各面的考量去做 technical decision。

  1. 践行 G 家价值观

小哥还是挺践行狗家价值观的,例如总是假设他人的观点和行为是出自于善意。组员犯了错误,他也不会记仇,很宽容地帮助大家复盘,并且从规范流程的角度出发尝试预防错误再次发生。

  1. 热爱产品,积极响应用户的问题

小哥是真的热爱自家产品,由衷地感到骄傲的那种。并且非常积极热情地在各自 mailing list 里回答用户关于我们产品的问题。


非常感谢 Evens 大佬给我们带来的分享和思考,

后记

最近写的一些干货,每篇都很用心,欢迎各位小伙伴阅读/点赞/分享:

  1. 聊聊我的HTTP框架近况:支持AOP,拦截器,配置文件读取...

  2. 要想代码写的好,这几款IDEA插件你离不了!

  3. Spring Boot搭建的一个在线文件预览系统!支持ppt、doc等多种类型文件预览

  4. Github Star全球唯一的国产程序员!Apache 顶级项目Commiter。

  5. 推荐一款IDEA神器!一键查看Java字节码以及其他类信息

  6. 安利一个IDEA骚操作:一键生成方法的序列图

  7.  大二逃课总结的1.2w字的计算机网络知识!扫盲!


我是Guide哥,Java后端开发,会一点前端知识,喜欢烹饪,自由的少年。一个三观比主角还正的技术人。我们下期再见!

浏览 51
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报