GDE 社区亮点:Nishu Goel

Nishu Goel 是印度的著名 Web 工程师,也是 Angular 和 Web 技术方面的 Google 开发者专家。她向我们介绍了她的社区参与情况、职业规划以及学习 Web 开发的最佳方式。

莫妮卡·贾诺塔
Monika Janota

舞台上 Nishu。

Nishu Goel 是印度的著名 Web 工程师、Angular 和 Web 技术方面的 Google 开发者专家、Microsoft Most Valuable Professional。她是《Step by Step Angular Routing》(BPB,2019 年)和 A Hands-on Guide to Angular(《Educative》,2021 年)的著作,也是《Web 年历 2021 JavaScript》章节的作者。Nishu 目前在 epilot GmbH 担任全栈工程师。她向我们介绍了她的社区参与情况、职业规划以及学习 Web 开发的最佳方式。

Monika:我们先从你的故事开始。是什么让您萌生了成为开发者并在开发者社区中积极扮演的角色?

Nishu:我获得了计算机科学学士学位,学习了数据结构,对编程的兴趣从这里开始。在工程学习的第三年,我参加了 Microsoft Creator Cup Nationals 竞赛,与开发者社区建立了联系,在此期间,我们通过代码展示了解决方案。我们开发的这款应用旨在为当地学生(尤其是女童)提供受教育机会。在本次比赛中,我遇到了一些非常鼓舞人心的人,包括参赛者和组织者。

2018 年,我的专业职业生涯兴起,我开始使用 Angular。Angular 成为了我接触 GDE 计划的主要技术。大约同一时间,我开始撰写博文,并围绕自己正在研究和学习的主题创作内容。Dhananjay Kumar 帮助我踏上了这一旅程,并确保我能够有条不紊地开展工作。我的前几篇文章介绍了 Angular 的基础知识。不久后,我开始在活动上发表演讲 - 第一场活动是尼泊尔的 Angular 会议 ngNepal。这促使更多人发表有关 Angular 和网络技术的演讲。

Nishu 和来自 ng-india 的其他人。

Monika:你在技术方面的专业经验是怎样的?

Nishu:在最初的两年里,我主要关注 Angular 和 Web 组件。我以前是使用 Angular 构建 Web 的,但很快我就决定不再局限于这一点,去探索其他领域。我不想为了必须切换项目而限制自己。这就是我开始在 Angular 中创建要在其他框架中使用的 Web 组件的原因。

我做的第一件事是使用 Angular 创建 Web 组件。我已将其发布到 npm,并在 React 项目中用作演示版。我在后面的一些讲座和演示中讨论过这一点。我的下一项工作需要使用 React 和 Typescript。现在,我当时使用的是 React,所以我不再只使用一种框架,而是在整体上使用 Web。那一刻,我对网络有了很多了解,尤其是网络性能。从那时起,我不得不开始考虑使用 Largest Contenful Paint (LCP)First Contentful Paint (FCP),后者指加载应用需要多长时间,或者呈现网页的最长时间。我一直致力于选择最佳实践并提升应用的性能。

由于对网络性能有浓厚的兴趣,我参与了《网络年鉴》并撰写了 JavaScript 章节。《网络年鉴》是一份关于网络现状的年度报告,其中揭示了人们如何使用不同的功能。去年,我们过滤了 860 万个网站,对数据进行了分析,并呈现在报告中。该报告包含统计信息,例如 <script> 元素中 asyncdefer 属性的使用情况。与 2020 年相比,有多少网站正确使用这种语言?又有多少网站完全不使用这种语言?上一份《网络年鉴》报告指出,大约 35% 的网站在同一脚本中使用了两个属性,而这种属性属于反模式,导致效果下降。去年已经指出过,今年我们想看看情况有没有改善。我还在 ngConf 和 Reliable Dev Summit 上发过言,主要关注 Web 的性能。

《网络年历》印刷版。

Monika:你也非常积极地回馈社区。最近,你一直在为乌干达非政府组织“YIYA”提供志愿服务,该计划是如何开始的?这种合作的重点是什么?

Nishu:首先,GDE 团队通知我们 YIYA 提供志愿服务机会。该乌干达非政府组织正在寻找工程师来帮助他们进行内容准备或技术功能。该计划旨在利用当地可用的技术(不是计算机或教科书,而是基本的拨号键盘和收音机)为乌干达的学龄儿童提供支持,并为他们提供接受教育的机会。孩子们可以拨打特定号码并收到一组信息,拨打另一个号码以获取更多信息,依此类推。在疫情期间,它变得更加实用。

我一直关注社区和可持续发展目标,因此决定再联系他们。与 YIYA 团队开会后,我就 Python 脚本或他们遇到的任何 bug 以及门户存在的问题提供了帮助。我们合作了一小段时间。

Monika:你对 2022 年有什么计划?有没有你特别关注的方面?

Nishu:我正在换工作,搬到另一个国家/地区。我主要从事 Web 方面的工作,以便提升网站性能;同时,我还会使用 Golang 在后端工作。我将继续把重点放在 Web 性能方面,因为它非常有趣,非常复杂,并且还有很多内容需要了解和优化。即便如此,在我投入了大量时间后,仍然学到很多东西。例如,我想了解为图片资源使用 CDN 将如何帮助我提升应用的运行速度。我想成为 Web 性能方面的专家,而且我正在渐渐进步,相信 :)

Monika:你提到在你还不了解写作的那一刻,你只是在写自己正在学习的知识,才开始写作。如果刚接触开发者时感觉自己没有信息要分享,你会有什么建议?

Nishu:这就是我开始写作时的感受。我觉得也许我不应该把这件事告诉别人?会不会是出问题了?我担心我的写作对读者没有帮助。但更重要的是,我的写作对我有所帮助。过段时间我可能会忘掉一些事情,一会儿再回来接着说之前写的东西。把东西写下来是个好主意。

桌上的一本《Angular Route》一书。

所以我建议所有人:无论在什么阶段,你都可以写作。即使您仅学完了一门课程的一部分,也可以写下它来学习。您在某个时候知道的一条信息,可能对其他不了解这些信息的人有用。您无需成为专家。写作可以助您一臂之力。以及在职业生涯任何阶段的任何人。

Monika:最好跟随刚刚学到一些东西的人,因为他们知道自己必须要掌握的所有事情。作为一名达人,很难回想起初学时的经历。能给刚开始接触 Web 开发的人提供什么建议吗?

Nishu:很多人都会问自己应该在开始时选择哪种框架,但我认为这不是正确的问题。我们在任何时候所学到的知识,在后期同样有用。我建议任何人放弃这些限制,先从 HTML 或 JavaScript 入手,这样才能有利可图。

然后,抓住一切可能出现的机会。当我偶然发现《网络年鉴》寻找作者的时候,我就碰到了这种情况。我当时就想:“哦,这很有意思,这可能对每个人在性能方面有所帮助”。就这样,我成了 JavaScript 章节内容负责人,花了 6 个月的时间编写这本书。因此我认为,就是要抓住机会并努力工作。

Monika:您对网络技术的未来总体上是否有任何预测或想法?下一个热门主题是什么?哪些项目会快速增长?

Nishu:现在我们可以在浏览器中运行服务器,这是一项巨大的进步,我非常满意。例如,最近推出了通过浏览器运行 Node.js 的问题;而在过去,没有在系统中安装 Node.js 就无法运行任何内容。现在,我们可以在浏览器中执行任何操作了。这是网络生态系统中向前迈进的一大步。以及 OMT—在主线程之外。线程处理工作也会有很大的改进。Web Assembly 正不断发展,使开发者能够做到这一点,我认为这是 Web 生态系统的未来。