Nishu Goel 是印度的知名網路工程師,也是 Angular 和網路技術的 Google 開發人員專家。她告訴我們社群的參與、職涯計畫,以及學習網頁開發的最佳方式。
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 和網路技術的演講邀請。
Monika:有任何專業經驗嗎?
Nishu:頭兩年來,這一切都與 Angular 和網頁元件有關。我原本是使用 Angular 建置網路,但不久之後,我便決定探索其他領域,繼續探索其他領域。我不想限制自己,以免必須切換專案。這就是我如何開始在 Angular 中,建立要在其他架構中使用的網頁元件。
我第一個是使用 Angular 建立網頁元件。我將其發布到 npm,並做為 React 專案中的示範資源。我在之後的演講和簡報中曾提及這一點。接下來的工作是使用 React 和 Typescript 來完成。在這次與 React 合作後,我不再只使用一種架構,而是整個網路。到目前為止,我學到許多網路相關知識,尤其是網站效能。在這個情況下,我必須開始思考最大連續繪製 (LCP) 或首次內容繪製 (FCP),這表示應用程式載入時間長短,或者頁面轉譯時間上限。我一直在努力選擇最佳做法,並且想改善應用程式的效能。
因為對網站效能的感興趣,我曾參與 Web Almanac 研究,並撰寫了 JavaScript 章節。Web Almanac 會提供網路整體現況的年度報告,讓我們瞭解使用者如何使用各項功能。去年有 860 萬個網站經過篩選,後來分析結果並在報表中呈現。報表內含統計資料,例如 <script>
元素中的 async
和 defer
屬性使用情形。使用正確的網站數量、有多少網站完全未使用?與 2020 年相比,改善網站的數量有多少。上一次的 Web Almanac 報告提到,35% 的網站在同一指令碼都使用了兩項屬性,這是一種反模式,導致效能降低。這是去年所提的,今年我們嘗試過這種狀況是否有所改善。我也曾參加 ngConf 和可靠的開發人員高峰會,期間主要討論的是網路效能。
Monika:你也非常參與社群回饋。最近您一直與烏幹達非政府組織合資 - 如何開始?合作的重點是什麼?
Nishu:GDE 團隊首先要通知 YIYA 的志工服務。烏幹達 NGO 想找工程師來協助製作內容準備或技術功能。這項計畫旨在協助烏幹達學校的學童,並提供使用當地 (而非電腦或教科書) 的當地技術 (而非電腦或教科書),而非基本的鍵盤及收音機做為教育機會。孩子只要撥打特定號碼,就能接收一組資訊、撥打另一組電話號碼取得更多資訊等。在疫情期間更實用。
我一向加入社群並參與永續發展目標,因此決定與他們聯絡。我在與 YIYA 團隊會談後,將 Python 指令碼或任何發現的錯誤和入口網站相關問題提供給我。我們合作很短,
Monika:2022 年有什麼計畫?你們是否有特別著重的事項?
Nishu:我正在換工作,搬到其他國家/地區。我通常會使用 Golang 技術維護網路環境,改善網站效能,同時改善後端的效能。網站效能領域雖然很有趣又複雜,因此我還是要從零開始研究,有太多瞭解和最佳化的地方。不過,在投入大量時間後,還有許多需要學習的地方。舉例來說,我想瞭解使用 CDN 處理圖片資源能如何協助加快應用程式運作速度。我想成為網站效能的專家,放眼後長了,我想好好相信 :)
Monika:您曾提到自己從某個階段開始寫作,只是開始寫出自己學到的知識。對於剛接觸新手的開發人員,您會有什麼建議?讓他們覺得沒什麼意見?
Nishu:這正是我開始寫字時的感受。我想也許我不該推行這項計畫?也許你是這項決定有誤?我擔心自己的文章對讀者沒有幫助。但重要的是,我的寫作幫了我幫忙。我會在一段時間後忘記一些事,再回來查看先前撰寫的內容。把事情寫下來是個好點子。
所以我會建議所有人 — 不管在任何階段,只要寫信就行了。即使剛完成課程的某個部分,您還是必須寫下來做為學習目標。你在某些時間點所知的資訊會對於還不熟悉的人有所助益。你不需要成為專家,寫作能助你一臂之力。無論在職涯發展階段,使用者都能隨時取用。
Monika:如果想追蹤某件事,最好的方法就是幫助剛學過的人,因為他們瞭解所有要解決的事物。即便已經是專家,就很難記住剛成立時的畫面。對於剛接觸網頁開發的人有什麼建議嗎?
Nishu:許多人一開始都好奇,一開始該選擇哪種架構,但我想這不是正確答案。無論在任何時間點學習什麼,我們都希望在後續階段也能派上用場。我建議所有人不要限制,直接使用 HTML 或 JavaScript,讓它們在未來獲利。
未來,只要把握機會,就能化繁為簡。當我偶然發現 Web Almanac 要找作者的相關資訊時,就會發生這種情況。我剛剛想到「哇,這很有趣,也許能協助大家找出生活中的點點滴滴」。這就是我成為 JavaScript 章節內容主管的方式,這是我寫了六個月的時間。我認為重點是找出機會並努力不懈。
Monika:對於網路技術的未來,您是否有任何預測或想法?下一個熱門主題會是什麼?事業成長速度會更快嗎?
Nishu:我們很高興現在能夠在瀏覽器內執行伺服器,這是一大進步。舉例來說,我們近來推出了從瀏覽器執行 Node.js,但在過去,如果沒有在系統上安裝 Node.js,就無法執行任何作業。現在,我們可以透過瀏覽器執行任何操作。在網路生態系統中,這可說是更進一步。然後就在主執行緒外。處理執行緒也會獲得許多改善。Web Assembly 正持續推動進步,幫助開發人員達成這個目標,我認為這是網路生態系統的未來。