Nishu Goel 是印度知名的網頁工程師,也是 Google 開發人員專家 Angular 和網路技術的專家。她告訴我們社群的參與、職涯規劃,以及學習網頁程式的最佳方法。
Nishu Goel 是印度知名的網頁工程師,也是 Google Developers 專家 Angular 和網路技術的 Google Developers 專家,Microsoft Most Valuable 專業人員。她是《Step by Step Angular Routing》(Step Angular Routing) 與 2019 年 (BPB) 與《A 手冊-on Guide to Angular》(2021 年教育指南) 的作者,以及 Web Almanac 2021 JavaScript 章節的作者,Nishu 目前任職於 Epilot GmbH ,擔任完整的堆疊工程師。她告訴我們社群的參與、職涯規劃,以及學習網頁程式的最佳方法。
Monika:讓我們先說故事。促使你成為開發人員並在開發人員社群中積極參與的動力是什麼?
Nishu:我精通電腦科學學士學位,並研究資料結構,這就是程式設計的開始所在。在工程部門第三年期間,我們藉由參與 Microsoft Imagine Cup Nationals 的競賽,透過程式碼來提供解決方案,因此與開發人員社群建立起深厚的連結。我們打造的應用程式構想是為當地學生 (尤其是女孩) 提供教育機會。我在這趟旅程中遇到了一群非常激勵人心的參賽者,包括參賽者及發起人。
自 2018 年,我的專業職涯起跑,所以我開始與 Angular 合作。Angular 成為促使我參與 GDE 計畫的主要技術。同時,我開始撰寫網誌文章,並且針對自己正在研究和學習的主題建立內容。Dhananjay Kumar 讓我踏上這趟旅程,也希望我能繼續向前邁進。我的第一篇報導是探討 Angular 的基本概念。我很快就開始在活動中演講,第一個是尼泊爾的 Angular 研討會。因此,多虧了 Angular 和網路技術的邀請,
Monika:您的專業經驗為何?
Nishu:前兩年來,對 Angular 和網路元件進行都是如此。我原本使用 Angular 建構網路,但很快就決定不再侷限於那個領域,進一步探索其他領域。我不想自己設限,以免必須切換專案。這就是我開始在 Angular 中建立網頁元件,並用於其他架構
我做的第一件事就是用 Angular 建立網頁元件我將這個檔案發布至 npm,並在 React 專案中當做示範。我已在稍後的一些講座和簡報中討論過這項功能。我的下一項工作必須使用 React 和 Typescript。現在,由於我曾與 React 合作,因此不再只使用一個架構,而是大致使用網路。那時我學到了許多網路知識,尤其是網頁效能。這時我必須開始思考最大 Contenful Paint (LCP) 或首次顯示內容繪製 (FCP),也就是應用程式載入應用程式所需的時間,或最長的轉譯時間。我一直致力於選擇最佳做法,來提升應用程式的效能。
基於對網頁效能的關注,我參與了 Web Almanac 並編寫 JavaScript 章節。Web Almanac 的年度報告對於整體網路環境的看法,並告訴我們使用者如何使用各種功能。去年有 860 萬個網站經過篩選,資料進行分析並顯示在報告中。此報表包含多種統計資料,例如 <script>
元素中 async
和 defer
屬性的使用狀況。有多少網站已正確使用、有多少未使用,以及與 2020 年相比改善的網站數量。上一份 Web Almanac 報告提到,約 35% 的網站在相同的指令碼中使用兩種屬性,這種反模式會導致效能降低。去年有這項論點,今年我們想嘗試這個情況是否有所改善。我也在 ngConf 和 Reliable Dev Summit 大會中演講,以網路效能為主。
Monika:你也致力為社群做出貢獻,最近您加入烏幹達非政府組織 YIYA 的自願行事,這次合作是如何開始的?合作的主要重點為何?
Nishu:首先,GDE 團隊向我們告知 YIYA 的自願性機會。Ugandan NGO 希望邀請工程師協助準備內容準備或技術功能。這項計畫旨在協助烏幹達的學齡兒童,並使用當地現有技術 (而非電腦或教科書,而非基本鍵盤手機和無線電) 為學生提供教育機會。孩子會撥打特定號碼並取得一組資訊,再使用另一組號碼來取得更多資訊,依此類推。在疫情期間,這項功能會更加實用。
我向來都參與社群及永續發展目標,因此決定與我接洽。我與 YIYA 團隊會談後,協助我取得 Python 指令碼或任何客戶提出的任何錯誤,以及入口網站的任何問題。我們合作了一小段時間。
Monika:2022 年有哪些計畫?有什麼特別特別著重的事項?
Nishu:我打算換工作,要搬到其他國家/地區。我會使用 Golang 改善整體網站效能,並改善網站效能。我會繼續討論網站效能領域,因為這個領域相當有趣且複雜,有不少值得瞭解並進行最佳化的地方。儘管我們分配了大量時間,但現在仍有許多需要學習的地方。舉例來說,我想瞭解如果透過 CDN 處理圖片資源,將能如何提升應用程式的運作速度。我想成為網站效能專家,隨著課程開始逐漸發展,我喜歡相信 :)
Monika:您提到在自己不是專家時開始寫字,只是編寫了自己學到的內容。對於剛接觸的新開發人員,您有什麼建議是他們沒有可分享的想法?
Nishu:這正是我開始寫作時的感覺。我不覺得我不該把這些內容排除在外。也許那是錯的?我擔心文章無法幫助讀者。但重點在於我撰寫的內容對我有幫助。一段時間後,我會忘記事情,然後回頭查看先前寫的內容。把事情寫下來是好主意。
我會建議大家,不論在哪個階段,只要寫作就好。即使您已完成某項課程的某個部分,您的學習是寫在紙上。您有時應知道的資訊,可能對其他還不知道的人有所幫助。你不必成為專家。寫作可助您一臂之力。無論處於哪個階段,每個人的職涯中都能獲得滿足。
Monika:建議追蹤剛學到新事物的人,因為他們已經知道所掌握的所有事情。成為專家後,就會很難記住初衷的生活樣貌。對於剛進入網站開發的使用者,有沒有什麼建議?
Nishu:許多人在一開始就詢問應選擇哪種架構,但我覺得這不是正確問題。我們隨時都在瞭解什麼,以後的階段也會派上用場。我會建議所有人不要限制這些限制,然後先使用 HTML 或 JavaScript 做為日後獲利能力。
然後無論想到什麼都不能錯過當我無意間想尋找作者的 Web Almanac 相關資訊時,出現了這種情況。我只是想:「喔,這很有趣,或許對每個人都有所幫助」有幫助。因此我以此成為 JavaScript 章節的內容主管,而我也花了六個月的時間撰寫文章。所以我認為重點是抓住相關商機並付出心力
Monika:對於整體網路技術的未來,您是否有任何預測或想法?下一個熱門主題會是什麼?什麼數字一定會快速成長?
Nishu:我很喜歡現在可在瀏覽器內執行伺服器,這是個很棒的進展。舉例來說,最近透過瀏覽器執行 Node.js 時,在系統尚未安裝 Node.js 的情況下,我們無法執行任何程式。現在我們可以透過瀏覽器完成所有工作。這對網路生態系統而言是更加重大的事。停在主執行緒外。執行緒處理也會獲得大幅改善。Web Asembly 的發展日新月異,開發人員可以做到這一點,而我認為網路生態系統的未來是未來的發展方向。