大家好,我是拭心。
几天前,我终于收到了一封心心念念的邮件:
邮件的意思是:我正式成为了一名 GDE!
这封邮件来之不易,背后是半年多的准备、三次公开分享和两轮英文面试,我想有必要做一个总结,希望对想成为 GDE 的人有帮助。
文章主要内容:
- 什么是 GDE
- 为什么要成为 GDE
- 具体加入过程
什么是 GDE
GDE 即 Google Developer Experts 谷歌开发者专家,是 Google 发起的一项针对全球开发者的技术社区项目,旨在筛选出有技术影响力的开发者,让他们分享自己的技术经验、反馈所在地的技术落地情况、推广新技术方案。涵盖的技术方向有 Android Angular Dart Firebase Flutter GCP Go IoT Kotlin ML 等,其中包括我们 Android 方向。
GDE 的官方链接:https://developers.google.com/community/experts
对 Google 来说,新技术方案的开发需要尽早获取用户反馈,GDE 就是种子用户;开发完成后需要推广,GDE 就是技术推广员。
对开发者来说,GDE 是一种技术影响力的认可,也是一种身份 title(可以让人迅速 get 到你是一个资深的开发者),更是一个圈子(可以接触到全球的优秀开发者)。
在我们中国,Android GDE 目前有九位,按照加入时间的先后,如下图所示:
第一位 扔物线 可以说是 GDE 的中国步道师哈哈,很多人都是因为他才知道这个项目的,包括我。
想要浏览其他地区或者方向的 GDE,可以访问 GDE 目录官网:
为什么要成为 GDE
介绍完什么是 GDE 后,接下来讲讲我为什么要加入 GDE。
我最早知道 GDE 是看扔物线的文章(大概是在 2019 年),他的 title 是 Android&Kotlin GDE,查询了 GDE 是什么后,心里有一种强烈的羡慕:真厉害啊,要是我也能像这位大佬一样就好了。
后来国内的 GDE 逐渐多了起来,有郭霖、朱涛、叶楠、王鹏等,他们都是社区里比较活跃的大佬,分享了很多优质的文章,看着 GDE 都是这么优秀的人,成为他们中的一员的想法越来越强烈。
这就是我最早的动机:向优秀的大佬们看齐。
在线观看了几年 Google IO 后,我又有一个新愿望:要是能去现场,甚至站在台上做分享就好了。
听说 GDE 有机会去 IO 现场,运气好的话还能报销来回路费,于是我有了第二个理由:成为 GDE、去 Google IO 现场,争取去更大的舞台分享自己的经验。
第三点则是我出于国内安卓开发的身份,想要给谷歌 Android 团队一些反馈。
这些年 Android 有提出一些新的技术,但很多在国内都没被正式使用,最多是开发者写一些 demo 和分享文章。
为什么会这样呢?我想这和国内的开发环境有很大关系。
和国外不同,国内很多应用都是巨无霸,内置了数十种业务。这带来的结果是,一方面人数众多工程复杂,另一方面需要快速响应众多的业务需求。因此,对于实现业务迭代的快速程度,往往优先于技术架构和开发者体验,经常说的话是:先上线,下个版本再优化。
在这种背景下,技术方案决策者往往不选最新的,只选最快的,比如热更新、热修复、跨端等等。这些情况可能 Android 官方并不知道,如果可以,我想把这些信息反馈给 Android 团队,让他们多出一些能解决我们痛点的技术方案。
OK,这就是我想成为 GDE 的三个理由。
当然,成为 GDE 还有很多实在的好处:
- 可以看到比较新的技术信息:比如 Jetpack Compose 我接触的就比较晚,其他 GDE 很早就开始推广了
- 可以和全球的其他专家进行交流
- 免费的 Jetbrains License
- 现场参加 Google IO (这点不确定)
对了,成为 GDE 还可以从一个网站上查看全球其他专家分享了什么,我非常喜欢这个:
接下来讲下我的具体加入过程。
具体加入过程
成为 GDE 主要有以下几步:
- 获得谷歌员工或者 GDE 的推荐
- 填写申请(个人简介、社区影响力、分享的内容/开源项目等)
- 第一轮面试:面试官是其他地区的 GDE
- 第二轮面试:面试官是谷歌官方产品人员
- 签署协议,登记信息
提交 Road to GDE 申请表
去年 8 月偶然看到了谷歌开发者公众号的这篇《谷歌开发者专家 (GDE) 招募开启!》 ,其中提到:申请后如果暂时不满足要求,官方可以提供一定的辅导,帮助进入 GDE 申请流程。
秉承着没通过也没什么的想法我报了名并进行了视频面聊,等待一个多月后,果然收到了通知:不符合申请 GDE 的要求。虽然有点难过,但好在官方告诉了我原因:需要更丰富的社区分享经验,并且提供了成为分享者的机会:
于是我添加了谷歌开发者关系部的 JC ,她向我引荐了负责社区分享的 Lily,让我有了社区分享的机会。
GDE Candidates 1:1
Lily 是谷歌开发者社区的员工,国内很多 GDE 都是她一手“带”出来的哈哈,可惜在我成为 GDE 的时候她已经离开了谷歌。
在今年初 Lily 和我做了几次一对一沟通,向我介绍了 GDE 申请的具体流程,针对我的不足给了具体的建议,这些建议在我后面的面试起了很大作用。
进行三次社区分享
GDE 要求具备较强的社区影响力,我之前主要是在 CSDN 和掘金写文章,线上/线下的分享比较少,因此需要补充一些社区分享经验。
今年先后在谷歌社区说和 OPPO 开放平台做了三次分享,主题分别是:
1.Android 图片内存分析新方案
在开发安卓应用程序时,许多人可能会有这样的问题:如何及时发现不合理的图像内存使用情况,并将其定位到特定的代码中?这次分享介绍了:为什么我们应该关注图像占用的内存,图像内存监控和分析的常见解决方案,以及新的解决方案是什么样子的以及如何实现。
2.认识 Android 动态链接
许多开发者使用过 Android 动态库,但对动态链接的概念知之甚少。这次分享介绍了 Android 动态链接的知识,帮助观众加深对这一领域的理解。
3.Android 14 适配开发者交流
讨论了 Android 14 的新特性和 API 变更。
经过这几次分享,我发现公开演讲没有那么可怕。以前我总担心公开讲话会语无伦次讲不好,但这几次分享我都得到了大家的鼓励和认可,极大地增加了我的信心。
正式提交 GDE 申请
在分享次数和结果不错的基础上,我终于满足了申请要求,在官方网站 填写了资料、发起了申请。
资料大概长这样:
申请后的邮件:
官方会通过资料判断我的工作经验、技术能力和社区影响力。
第一轮面试
在等待几天后,终于收到了审核通过的邮件,同时官方安排了一位 GDE 专家来面试我,需要我俩约定面试时间:
面试官 Sidiq 来自印度尼西亚,在油管看了他的分享视频后,我对我的英语听力👂有很大的担心。
好在面试用的 Google Meeting 有实时字幕功能,面试的时候开启这个帮了大忙。
面试官比较友好,面试内容主要是围绕我的经历和分享内容,主要是我在讲之前做的性能优化和 ReactNative 工作,他问了一些相关的问题,没有特别难的技术问题,更多是关注我在社区里的贡献。
第二轮面试
一轮面试没多久后收到了二面的邮件:
二面面试官来自日本,在油管上找到了他关于 Jetpack Compose Animation 的视频,原来谷歌的产品也要写代码:
二面同样主要围绕我的经历,不同的是他对我提到的热修复和 Native Hook 很感兴趣,并且说在日本从来没用过这些(也不知道是他们幸福还是我们技术牛逼😂),于是我和他讲了很多中国开发者为什么研究这些技术,很快面试时间就到了。
最后在提问环节,我问 “Jetpack Compose 会逐渐替代 View 体系吗”,他肯定地回答:“会的,以后只会维护 View 旧代码,不会再新增特性,后面会逐渐加强对 Jetpack Compose 的推广。”“就像当初的 Kotlin 一样吗?”“是的”。
签署协议,填写材料
聊的比较愉快,因此没等几天就收到了面试通过的邮件:
剩下的就比较简单了,签署保密材料(保证不外泄一些信息)、注册一些账号、加入 Slack 和 Google Group 等等。
总结
好了,这就是我成为 GDE 的全部过程,整个过程还是挺有代表性的,从不满足条件到做足准备、通过考察。
整个过程有哪些内外部因素呢?
- 内部因素:过往的内容分享积累、主动报名、失败后添加微信获得后面的分享机会、花时间准备分享获得不错的反响、面试前的准备、之前的英语口语练习
- 外部因素:Google 对 GDE 的需求、官方人员提供的辅导、社区分享人员组织的活动、GDE 前辈的指导
成为 GDE 只是一个开始,接下来我将带着这个身份在社区做更多的贡献。一方面官方要求 GDE 保持社区活跃,另一方面我也想努力去 Google IO 现场!
如果你也想成为 GDE,可以通过官方文章加入 GDE 成长计划 《加入 “GDE 成长计划”,成为下一位谷歌开发者专家!》,有什么疑问也欢迎联系我,我会尽力解答并且推荐具备条件的人进入流程~