GDE 社群焦點:Nishu Goel

Nishu Goel 是印度的知名網路工程師,也是 Angular 和網路技術的 Google 開發人員專家。她告訴我們社群的參與、職涯計畫,以及學習網頁開發的最佳方式。

Monika Janota
Monika Janota

Nishu 站在舞台上。

Nishu Goel 是印度知名的網路工程師,也是 Angular 和網路技術的 Google 開發人員專家 Microsoft 最有價值的專家。她是《Step by Step Angular 轉送》(BPB,2019 年) 和《A Hands-on Guide to Angular》(2021 年教育實作指南),2021 年《Web Almanac 2021 JavaScript》章節的作者,Nishu 目前任職於 epilot GmbH,擔任全套堆疊工程師。她告訴我們社群的參與、職涯計畫,以及學習網頁開發的最佳方式。

Monika:先從故事開始說起。促使您成為開發人員並在開發社群中擔任活躍角色的原因為何?

Nishu:我具備電腦科學學士學位及研究資料結構,這就是程式設計的先驅。在工程的第三年,我參與了 Microsoft Imagine Cup Nationals 競賽,透過程式碼提供解決方案,藉此與開發人員社群建立緊密關係。我們建構的應用程式旨在為當地學生 (尤其是女性) 帶來教育機會。我在這趟旅程中認識到一些我很振奮的參賽者,包括參賽者與發起人。

我的專業職涯到了 2018 年,而我開始使用 Angular,Angular 成為協助我接觸 GDE 計畫的主要技術。與此同時,我開始針對先前所學習和學習的主題撰寫網誌文章及製作內容 。Dhananjay Kumar 帶領我踏上這段旅程,也確保我能按部就班完成工作。我的第一篇文章說明瞭 Angular 的基本知識,我開始在活動上說話後不久,第一個是尼泊爾的 Angular 會議。這導致更多有關 Angular 和網路技術的演講邀請。

Nishu 和其他國家/地區的人。

Monika:有任何專業經驗嗎?

Nishu:頭兩年來,這一切都與 Angular 和網頁元件有關。我原本是使用 Angular 建置網路,但不久之後,我便決定探索其他領域,繼續探索其他領域。我不想限制自己,以免必須切換專案。這就是我如何開始在 Angular 中,建立要在其他架構中使用的網頁元件。

我第一個是使用 Angular 建立網頁元件。我將其發布到 npm,並做為 React 專案中的示範資源。我在之後的演講和簡報中曾提及這一點。接下來的工作是使用 React 和 Typescript 來完成。在這次與 React 合作後,我不再只使用一種架構,而是整個網路。到目前為止,我學到許多網路相關知識,尤其是網站效能。在這個情況下,我必須開始思考最大連續繪製 (LCP)首次內容繪製 (FCP),這表示應用程式載入時間長短,或者頁面轉譯時間上限。我一直在努力選擇最佳做法,並且想改善應用程式的效能。

因為對網站效能的感興趣,我曾參與 Web Almanac 研究,並撰寫了 JavaScript 章節。Web Almanac 會提供網路整體現況的年度報告,讓我們瞭解使用者如何使用各項功能。去年有 860 萬個網站經過篩選,後來分析結果並在報表中呈現。報表內含統計資料,例如 <script> 元素中的 asyncdefer 屬性使用情形。使用正確的網站數量、有多少網站完全未使用?與 2020 年相比,改善網站的數量有多少。上一次的 Web Almanac 報告提到,35% 的網站在同一指令碼都使用了兩項屬性,這是一種反模式,導致效能降低。這是去年所提的,今年我們嘗試過這種狀況是否有所改善。我也曾參加 ngConf 和可靠的開發人員高峰會,期間主要討論的是網路效能。

《Web Almanac》印刷版本。

Monika:你也非常參與社群回饋。最近您一直與烏幹達非政府組織合資 - 如何開始?合作的重點是什麼?

Nishu:GDE 團隊首先要通知 YIYA 的志工服務。烏幹達 NGO 想找工程師來協助製作內容準備或技術功能。這項計畫旨在協助烏幹達學校的學童,並提供使用當地 (而非電腦或教科書) 的當地技術 (而非電腦或教科書),而非基本的鍵盤及收音機做為教育機會。孩子只要撥打特定號碼,就能接收一組資訊、撥打另一組電話號碼取得更多資訊等。在疫情期間更實用。

我一向加入社群並參與永續發展目標,因此決定與他們聯絡。我在與 YIYA 團隊會談後,將 Python 指令碼或任何發現的錯誤和入口網站相關問題提供給我。我們合作很短,

Monika:2022 年有什麼計畫?你們是否有特別著重的事項?

Nishu:我正在換工作,搬到其他國家/地區。我通常會使用 Golang 技術維護網路環境,改善網站效能,同時改善後端的效能。網站效能領域雖然很有趣又複雜,因此我還是要從零開始研究,有太多瞭解和最佳化的地方。不過,在投入大量時間後,還有許多需要學習的地方。舉例來說,我想瞭解使用 CDN 處理圖片資源能如何協助加快應用程式運作速度。我想成為網站效能的專家,放眼後長了,我想好好相信 :)

Monika:您曾提到自己從某個階段開始寫作,只是開始寫出自己學到的知識。對於剛接觸新手的開發人員,您會有什麼建議?讓他們覺得沒什麼意見?

Nishu:這正是我開始寫字時的感受。我想也許我不該推行這項計畫?也許你是這項決定有誤?我擔心自己的文章對讀者沒有幫助。但重要的是,我的寫作幫了我幫忙。我會在一段時間後忘記一些事,再回來查看先前撰寫的內容。把事情寫下來是個好點子。

放在桌上的《Angular 轉送》書籍。

所以我會建議所有人 — 不管在任何階段,只要寫信就行了。即使剛完成課程的某個部分,您還是必須寫下來做為學習目標。你在某些時間點所知的資訊會對於還不熟悉的人有所助益。你不需要成為專家,寫作能助你一臂之力。無論在職涯發展階段,使用者都能隨時取用。

Monika:如果想追蹤某件事,最好的方法就是幫助剛學過的人,因為他們瞭解所有要解決的事物。即便已經是專家,就很難記住剛成立時的畫面。對於剛接觸網頁開發的人有什麼建議嗎?

Nishu:許多人一開始都好奇,一開始該選擇哪種架構,但我想這不是正確答案。無論在任何時間點學習什麼,我們都希望在後續階段也能派上用場。我建議所有人不要限制,直接使用 HTML 或 JavaScript,讓它們在未來獲利。

未來,只要把握機會,就能化繁為簡。當我偶然發現 Web Almanac 要找作者的相關資訊時,就會發生這種情況。我剛剛想到「哇,這很有趣,也許能協助大家找出生活中的點點滴滴」。這就是我成為 JavaScript 章節內容主管的方式,這是我寫了六個月的時間。我認為重點是找出機會並努力不懈。

Monika:對於網路技術的未來,您是否有任何預測或想法?下一個熱門主題會是什麼?事業成長速度會更快嗎?

Nishu:我們很高興現在能夠在瀏覽器內執行伺服器,這是一大進步。舉例來說,我們近來推出了從瀏覽器執行 Node.js,但在過去,如果沒有在系統上安裝 Node.js,就無法執行任何作業。現在,我們可以透過瀏覽器執行任何操作。在網路生態系統中,這可說是更進一步。然後就在主執行緒外。處理執行緒也會獲得許多改善。Web Assembly 正持續推動進步,幫助開發人員達成這個目標,我認為這是網路生態系統的未來。