分享我如何成為 GDE(谷歌開發者專家)的經歷和想法
theme: cyanosis
距離上一次正兒八經的技術文章已經過去了三個月,這段時間裡除了上一篇文章提到的換工作以外(入職位元組跳動,和下一步的計劃)。經過兩個多月的面試,我的 GDE (Google Developer Expert) 申請也完成了所有流程,成為了國內第 5 位 Flutter & Dart 方向 GDE。
下方是收到的所有流程郵件,按倒序排列。從資質評估、兩輪面試,再到協議簽署的最終確認。
成為 GDE 可以獲得什麼?
引用 戀貓de小郭:從臺下到臺上,我成為 GDE(谷歌開發者專家) 的經驗分享 中的總結:
GDE 是 Google 在全球範圍內開展的一個開發者專家認證專案,成為 GDE 除了是對你的技術和影響力認可之外,你還可以獲得:
- 提前獲悉谷歌內部產品路線或者技術變更的相關資訊;
- 直接和 Google 產品團隊溝通技術問題,獲得一些 Google 內測資格;
- 谷歌活動邀請,如 I/O 大會並報銷差旅;
- JetBrains 會為所有 GDE 提供免費的 JetBrains 全家桶;
我能成為 GDE 麼?
看到上面的諸多好處,在心動的同時你可能心裡也在想:
我能成為 GDE 麼?
我在去年讀到 Alex 分享我成為 GDE(Google 開發者專家)的經歷 文章時,也是一樣的狀態。
心理上的設障可能是阻止我們前進的最大因素。
當我回過頭看整個申請過程,可以很確定和大家說:
是的,每個人都有成為 GDE 的機會
在我看來,「GDE 是 Google 對於你在某項技術上所做出貢獻的認可,更加看重你的技術影響力」。這個專案並不考察學歷,公司,人人都有機會成為 GDE。
所以他難麼?他沒有任何門檻,只要你足夠熱愛某項技術並且願意付出。
但他不難麼?你可能在想技術貢獻如何進行評估?下面和大家分享下我整個申請過程的準備。
我該如何準備成為 GDE
當你有這個意願的時候,我會建議先和 Google DevRel(開發者關係)進行溝通,他們會非常熱心地協助你完成申請。我的整個過程得到了 Lily(Google DevRel) 很大的支援。你可以通過聯絡當地 GDG 組織或者現役 GDE 取得幫助。
整個申請流程中我們有三個主要參與的環節
- 提交申請表單
- 社群面試(現役 GDE 面試)
- 產品面試(谷歌技術/產品人員進行面試)
本質上都是在考察對 Flutter 瞭解的深度以及做出的貢獻。其實說貢獻,在我看來無論是開源、文章、issue、甚至是群裡交流,都在不同層面對 Flutter 社群做出了貢獻。從量化的角度看,無非就是影片的播放量,文章的閱讀量,和開源專案 star 數等。著重以下三個方面影響力的評估,也是一開始申請表中需要填寫的內容:公開演講、內容創作、開源專案
公開演講
演講是申請 GDE 評估中非常重視的部分,尤其是線下的演講。公開意味著在外部一定可以訪問到相關資料,而且多次的演講主題不能太過相似。在申請之前我進行了三次演講,分別是 2021 DevFest 關於流暢度優化 ,2022 C-Talk Flutter 狀態管理分析,2022 Flutter Festival 程式碼生成的使用原理 最終的影響資料如下:。
我參加的這些演講都是和當地的 GDG 等社群組織合作完成,如果你有想法,可以積極地聯絡當地的 GDG 組織參與,比如 社群說專案 ,又或者掘金、 GMTC 類似的分享活動,當然一定要記得回收資料,本身也是自我的評估,積極分享是社群健康生態重要的一環。
內容創作
第二部分評估內容創作,細分下來比如部落格,書,或者影片教程等等。這部分完全看個人的意願,我主要以部落格為主,我從 20 年開始在掘金上分享一些學習記錄,輸出了 30+ 篇,22W+ 的閱讀,也被谷歌公眾號多次轉發。有基礎入門的,也有些相對複雜點的分析。社群上也一樣,有很多普及性的內容,也有深度產出的乾貨。但我看來只要用心產出,無論哪一類的文章都挺有價值的,對應解決不同種類的需求。
並且內容創作我覺得對於個人非常重要,不僅在技術層面。因為在我看來內容其實是一個人思考邏輯的載體。這點從資料上反饋特別明顯,目前我綜合資料最高的一篇文章 拿去吧你!Flutter 仿自如 App 裸眼 3D 效果 其實就是在面對一個專案完整心路歷程,當時就是一邊寫文章,一遍寫程式碼。通過文章拆解整個事兒的步驟,依次尋找解決方案。文章寫完,程式碼執行,整個過程非常順利。如果思路不清晰的文章其實看資料就會差很多,所以我也在盡力寫出更多能讓所有人有所共鳴的內容。相關的訓練想分享《金字塔原理》和《斷墨尋徑》 ,我在去年也有簡單的總結:我的寫作之旅和個人成長
所以用心創作內容積極分享,對於個人或者整個社群來說都很有意義。
開源專案
開源這塊除了 keframe 和 bruno 的釋出以外,我覺得 Flutter 中文社群 的協作是很亮眼的部分。
實時同步且準確的官方本地化資料是降低技術門檻重要的部分,flutter.cn 是目前唯一和 flutter.dev 保持同步的中文資料,由 CFUG 維護。
去年偶然與 Vadaski 結識之後,我也開始參與到本地化工作中。完成了 10+ 文件的翻譯 也參與多個 PR 的 review。榮幸加入 CFUG 結識到 Vadaski、Alex、MeandNi、Luke 幾位非常有想法並且靠譜的夥伴。
這條路還很長,所以如果你有意願,非常歡迎從 文件翻譯流程 (Translation Workflow) 開始加入。
成為 GDE 後我的一些想法
經過 19 年的巔峰時期之後,現在慢慢會發現質疑 Flutter 的聲音也越來越多。
為應對需求的頻繁變化、提高研發效率,貨拉拉首頁、確認下單頁等使用Flutter和小程式實現,
而這部分是使用者使用率最高的頁面,程式碼量龐大而且複雜。在線上環境中產生了大量的Crash,
/.........../
我們決定梳理邏輯,讓最重要的這部分程式碼迴歸原生,重構上線之後Crash率明顯下降,
這些話是當下部分對待 Flutter 的態度,也反映一些 Flutter 存在的問題,但真實的情況是什麼?誰也說不清。
但在我看來 Flutter 帶來效率的提升這是毋庸置疑的,而在某些場景效率確實是殺手鐗,Flutter 目前仍是第一選擇。
而且從 Google play 的資料上看,Flutter 也是現在最廣泛使用的跨平臺框架。
當然,Flutter 一定是跨平臺的最終答案麼?沒人知道答案,我也有樣的疑問。
在面試 infra 團隊過程中,我的 leader 分享了很多讓我印象深刻的見解。
他覺得不一定,但這也不重要。開發者的核心競爭力一定是解決問題的能力,那在使用 Flutter 的過程中,我們面臨了哪些問題?是怎麼解決的?在達到足夠深度的時候很多知識是可以遷移的。我們無法預測未來是什麼樣子,所以多想想在這個過程中,哪些東西是自己的付出和收穫?再者一項技術的發展,和整個社群生態活躍有很大關係。目前來看無論官方的投入或者社群的氛圍,都是顯而易見的。
這也打消了我的疑惑,經常潛水看到 fluttercandies,leanflutter 裡面良好的討論氛圍和大量優秀的開源作品,以及在工作和社群中接觸到有抱負,靠譜的夥伴。覺得可能事兒沒那麼重要,享受過程就行。
而且今天下行的市場環境,感覺程式設計師幾乎不可能再躺平。接觸了好多越是資深,自驅力越強的人。所以,我覺得 GDE 於我而言是給我目前付出做的一個標籤,也是一種鞭策。
「保持積極開放的態度,持續學習,持續分享。不自卑,不自大。不焦慮,不躺平。鍛鍊自己解決問題的能力,力所能及的為技術發展貢獻。是我現在的認知」
這個世界需要更多 GDE,如果你也想成為 GDE 去影響更多人,希望我淺薄的經歷能給到你一些啟發。你也可以看看其他 GDE 精彩的過往:
戀貓de小郭:從臺下到臺上,我成為 GDE(谷歌開發者專家) 的經驗分享
Alex:分享我成為 GDE(Google 開發者專家)的經歷
Guolin:分享我成為GDE(Google開發者專家)的經歷
最後想說:
Respect 每一個在前行路上的人
我的公眾號:進擊的Flutter 或者 runflutter ,會在上面同步我最新的狀態和文章,歡迎關注。
如果你有任何疑問可以通過公眾號與聯絡我,如果文章對你有所啟發,希望能得到你的點贊、關注和收藏,這是我持續寫作的最大動力。Thanks~
- 分享我如何成為 GDE(谷歌開發者專家)的經歷和想法
- 【譯】 Flutter 延遲載入元件 【包體積優化 | 動態化】
- 入職位元組跳動,和下一步的計劃
- 拿去吧你!Flutter 仿自如 App 裸眼 3D 效果| 8月更文挑戰
- 已開源!Flutter 流暢度優化元件 Keframe
- 100 常用 Flutter 元件,Bruno 1.0 正式釋出
- Flutter 程式碼生成 source_gen 使用與原理分析
- 一些狀態管理框架 provider get 實踐中的注意問題
- Flutter 主流狀態管理框架 provider get 分析與思考
- Widget、Element、Render是如何形成樹結構?
- 我用兩天時間做了15個例子的解析,讓你徹底掌握Container,Padding,Row,Center等元件與Flutter的佈局原理
- 總結了30個例子之後,我悟到了Flutter的佈局原理
- 面試官:小夥,你說說這State的生命週期是咋回事啊?
- 深入進階-原來你一直都用錯了setState()?
- 深入進階-如何解決Flutter網易雲頁面巢狀的滑動衝突?
- 深入進階- 面試常問:說說Flutter是如何實現列表滑動的
- 深入進階-一張圖理清Flutter的滑動原理
- 深入進階-從一次點選探尋Flutter事件分發原理
- 深入進階-Flutter導航Navigator操作解析
- 深入進階- Fragment是如何展示並且回撥對應的生命週期