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

Nishu Goel 是印度著名的 Web 工程师,是 Angular 和 Web 技术方面的 Google 开发者专家,也是 Microsoft 最有价值专家。她是《Angular 路由分步分析》(BPB, 2019) 和《Angular 实用指南》(Educative, 2021) 的作者,也是《Web Almanac 2021》的 JavaScript 章节作者。Nishu 目前在 epilot GmbH 担任全栈工程师。她向我们介绍了她在社区中的参与情况、职业规划以及学习 Web 开发的最佳方式。
Monika:我们先从您的故事开始。是什么激励您成为开发者并在开发者社区中发挥积极作用?
Nishu:我获得了计算机科学学士学位,我们学习了数据结构,从那时起我就对编程产生了兴趣。在工程专业的第三年,我参加了 Microsoft Imagine Cup 全国比赛,并通过代码展示了解决方案,从而与开发者社区建立了联系。我们开发此应用的初衷是为当地学生(尤其是女孩)提供教育机会。在这一过程中,我遇到了一些非常鼓舞人心的选手和组织者。
2018 年,我的职业生涯开始起飞,我开始使用 Angular。Angular 成为了我与 GDE 计划联系的主要技术。大约在同一时间,我开始撰写博文,并围绕我所从事和学习的主题创作内容。Dhananjay Kumar 帮助我开启了这一历程,并确保我始终在正轨上。我的前几篇文章介绍了 Angular 的基础知识。不久之后,我就开始在各种活动中演讲,第一个活动是尼泊尔的 Angular 大会 ngNepal。这让他获得了更多关于 Angular 和 Web 技术的演讲邀请。

Monika:您在技术方面的专业经验是什么?
Nishu:前两年,我们主要使用 Angular 和 Web 组件。我使用 Angular 构建网站,但很快就决定不局限于此,而是探索其他领域。我不想限制自己,以防不得不切换项目。就这样,我开始在 Angular 中创建 Web 组件,以便在其他框架中使用。
我做的第一件事是使用 Angular 创建 Web 组件。我将其发布到了 npm,并在 React 项目中将其用作演示。我稍后会在一些演讲和演示中讨论这一点。我的下一份工作需要使用 React 和 Typescript。现在,由于我使用的是 React,因此我不再仅使用一个框架,而是整个 Web。在那段时间里,我对 Web 有了许多了解,尤其是 Web 性能。这时,我不得不开始考虑 Largest Contentful Paint (LCP) 或 First Contentful Paint (FCP),这两者分别表示应用的加载时间或网页的最大渲染时间。我一直在努力选择最佳实践并提升应用的性能。
正因为对 Web 性能感兴趣,我参与了 Web 年鉴的编写,并撰写了 JavaScript 章节。“网络年鉴”是一本关于网络整体状况的年度报告,可让我们了解用户如何使用不同的功能。去年,我们筛查了 860 万个网站,并对数据进行了分析,并在报告中进行了呈现。该报告包含 <script>
元素中 async
和 defer
属性的使用情况等统计信息。有多少网站正确使用了这些功能,有多少网站根本没有使用,以及与 2020 年相比,有多少网站改进了这些功能。上一份 Web Almanac 报告提到,约 35% 的网站在同一脚本中使用了两个属性,这是一种反模式,会降低性能。我们去年就指出了这个问题,今年我们尝试看看情况是否有所改善。我还曾在 ngConf 和 Reliable Dev Summit 上发表演讲,重点介绍了 Web 性能。

Monika:您还非常热衷于回馈社区。您最近一直在为乌干达非政府组织 YIYA 做志愿者,请问是如何开始的?这项合作的主要内容是什么?
Nishu:事情的开端是 GDE 团队告知我们 YIYA 的志愿者机会。乌干达的这个非政府组织正在寻找工程师来帮助他们准备内容或使用技术功能。该计划旨在为乌干达学龄儿童赋权,利用当地可用的技术(不是计算机或教科书,而是基本的键盘手机和收音机)为他们提供教育机会。孩子们拨打某个号码后会收到一组信息,拨打另一个号码后会获得更多信息,以此类推。在疫情期间,它变得更加实用。
我一直致力于社区和可持续发展目标,因此决定与您联系。与 YIYA 团队会面后,我帮助他们解决了 Python 脚本或门户存在的任何问题和 bug。我们曾短暂地共事过。
Monika:您 2022 年的计划是什么?您是否有特别关注的方面?
Nishu:我要换工作并搬到其他国家/地区。我将主要负责 Web 方面的工作,包括提升网站性能,还会使用 Golang 处理后端工作。我将继续专注于网络性能领域,因为这个领域非常有趣且复杂,需要了解和优化的内容很多。即使在花了大量时间学习之后,我现在仍然有很多东西要学。例如,我想了解如何为图片资源使用 CDN 来帮助我提高应用的速度。我希望成为 Web 性能方面的专家,我相信自己正在朝着这个方向逐步迈进 :)
Monika:您提到,在开始写作时,您还不是专家,只是在写自己正在学习的内容。对于刚刚加入 Google 的开发者,如果他们觉得自己没有任何可以分享的内容,您会给他们什么建议?
Nishu:我刚开始写作时就是这样。我想我可能不应该这样做?可能是我输入有误吧?我担心自己的写作无法帮助读者。但重要的是,写作对我很有帮助。我会在一段时间后忘记一些内容,然后再回过头来查看之前写的内容。把事情写下来是个好主意。

因此,我建议大家,无论处于哪个阶段,都应该开始写作。即使您只学完了所学课程的一部分,也要通过写下笔记来巩固所学知识。您在某个时间点了解到的信息可能对还不知道这些信息的其他人很有用。您不必是专家,写作会有所帮助。无论处于职业生涯的哪个阶段,
Monika:最好关注刚刚学到新知识的人,因为他们知道自己需要了解的所有内容。成为专家后,您很难想起刚开始学习时的情况。您对刚刚开始接触 Web 开发的开发者有什么建议吗?
Nishu:很多人会问,在开始学习时应该选择哪个框架,但我认为这不是正确的问题。我们在任何时候学到的知识都应该在后续阶段派上用场。我建议所有人放下限制,从 HTML 或 JavaScript 开始学习,这将在未来带来丰厚的回报。
然后抓住任何机会。我在寻找作者时偶然发现了网络年鉴的相关信息,就是这样。我当时想的是:“这很有趣,可能会帮助大家提升广告效果。”就这样,我成为了 JavaScript 章节的内容主管,并花了 6 个月的时间撰写该章节。所以我认为,只要抓住机会并努力工作,就能取得成功。
Monika:您对 Web 技术的未来有何预测或想法?下一个热门话题是什么?哪些内容会快速增长?
Nishu:我很高兴现在能够在浏览器中运行服务器,这是一个巨大的进步。例如,最近我们推出了通过浏览器运行 Node.js 的功能,而过去如果系统中未安装 Node.js,我们便无法运行任何内容。现在,我们可以通过浏览器执行任何操作了。这在网络生态系统中是一个巨大的进步。OMT - 在主线程之外。线程的处理也会得到很大改进。Web Assembly 正在不断发展,可让开发者实现这一目标,我认为这正是 Web 生态系统的未来。