GDE コミュニティ ハイライト: Nishu Goel

Nishu Goel は、インドの著名なウェブ エンジニアであり、Angular とウェブ テクノロジーの Google Developer Expert です。コミュニティへの参加、キャリアプラン、ウェブ開発を学ぶ最善の方法について、お話を伺いました。

Monika Janota
Monika Janota

ステージに立つ Nishu。

Nishu Goel は、インド出身の著名なウェブ エンジニアであり、Angular とウェブ テクノロジーの Google デベロッパー エキスパート、Microsoft の Most Valuable Professional です。著書に、Step by Step Angular Routing(BPB、2019)、A Hands-on Guide to Angular(Educative、2021)、Web Almanac 2021 の JavaScript の章があります。Nishu は現在、epilot GmbH でフルスタック エンジニアとして働いています。コミュニティへの参加、キャリアプラン、ウェブ開発を学ぶ最善の方法について、お話を伺いました。

Monika: お客様の状況からお聞かせください。デベロッパーになり、デベロッパー コミュニティで積極的な役割を担うようになったきっかけは何ですか?

Nishu: コンピュータ サイエンスの学士号を取得しました。データ構造を学んだとき、プログラミングに興味を持ちました。エンジニアリング 3 年目には、Microsoft Imagine Cup ナショナル コンペティションに参加して、コードでソリューションを提示し、デベロッパー コミュニティとのつながりを築きました。私たちが開発したアプリの目的は、地域の学生、特に女子に教育の機会を提供することでした。この旅で、出場者と主催者の両方から、非常に刺激を受けた人々に出会いました。

2018 年にプロとしてのキャリアをスタートし、Angular の開発を開始しました。Angular は、GDE プログラムにつながる主な技術になりました。同じ頃、私は、取り組んで学習している分野に関するブログ投稿やコンテンツの作成を始めました。Dhananjay Kumar は、この取り組みを開始し、軌道に乗せるようサポートしてくれました。最初の記事では、Angular の基本について説明しました。すぐにイベントでの講演を始めました。最初の講演は、ネパールの Angular カンファレンスである ngNepal でした。その結果、Angular とウェブ技術に関する講演の依頼が増えました。

Nishu 様、ng-india の他の方々。

Monika: 技術面での職務経験を教えてください。

Nishu: 最初の 2 年間は、Angular とウェブ コンポーネントが中心でした。ウェブの構築には Angular を使用していましたが、すぐにそれを超えて他の分野を探求することにしました。プロジェクトを変更する必要がある場合に備えて、自分の可能性を制限したくありませんでした。そのため、他のフレームワークで使用するために Angular でウェブ コンポーネントの作成を開始しました。

まず、Angular を使用してウェブ コンポーネントを作成しました。npm に公開し、React プロジェクトのデモとして使用しました。後ほど、いくつかの講演やプレゼンテーションでこの点について説明します。次の職場では React と Typescript の使用が求められました。React を使っていたため、1 つのフレームワークだけでなく、ウェブ全般を扱うようになりました。そのとき、私はウェブ、特にウェブ パフォーマンスについて多くのことを学びました。そこで、Largest Contentful Paint(LCP) または First Contentful Paint(FCP)について考え始めました。これは、アプリケーションの読み込みにかかる時間、またはページのレンダリングにかかる最大時間を意味します。ベスト プラクティスの選択とアプリケーションのパフォーマンスの向上に取り組んできました。

ウェブ パフォーマンスへの関心から、私はウェブ アルマナックに関わり、JavaScript の章を執筆しました。ウェブ アルマナックとは、ウェブ全般の状況に関する年次レポートで、ユーザーがさまざまな機能をどのように使用しているかを示しています。昨年は 860 万件のウェブサイトがスクリーニングされ、そのデータが分析され、レポートにまとめられました。レポートには、<script> 要素の async 属性と defer 属性の使用状況などの統計情報が含まれます。正しく使用しているウェブサイトの数、まったく使用していないウェブサイトの数、2020 年と比較して改善したウェブサイトの数。ウェブ アルマナックの最新レポートによると、ウェブサイトの約 35% が同じスクリプトで 2 つの属性を使用していることが判明しました。これはアンチパターンであり、パフォーマンスを低下させます。この点は昨年指摘されており、今年は状況が改善されたかどうかを確認しました。また、ngConf と Reliable Dev Summit でも講演し、ウェブのパフォーマンスに焦点を当てました。

ウェブ年鑑の印刷版。

Monika: コミュニティへの貢献にも積極的に取り組んでいますね。最近、ウガンダの NGO YIYA でボランティア活動をされていますが、その活動を始めたきっかけと、その協力の主な目的は何ですか?

Nishu: 最初は、GDE チームから YIYA でのボランティア活動の機会について連絡がありました。ウガンダの NGO は、コンテンツの準備や技術的な機能のいずれかについて支援してくれるエンジニアを探していました。このプログラムは、ウガンダの学齢期の子どもたちを支援し、現地で入手可能なテクノロジー(パソコンや教科書ではなく、基本的なキーパッド式スマートフォンやラジオ)を使用して教育の機会を提供することを目的としています。子どもたちは特定の番号をダイヤルして情報を受け取り、別の番号をダイヤルしてさらに情報を受け取る、というように利用していました。パンデミックの際には、さらに便利になりました。

私はコミュニティと持続可能な開発目標に常に関心を寄せていたので、連絡することにしました。YIYA チームとのミーティングの後、Python スクリプトやバグ、ポータルに関する問題についてサポートを提供することを申し出ました。一緒に働いたのは短い期間でした。

Monika: 2022 年の計画はいかがですか?特に重点を置いている分野はありますか?

Nishu: 転職して別の国に転居します。ウェブ全般(サイトのパフォーマンスの向上)と、Golang を使用したバックエンドに携わります。ウェブ パフォーマンスは非常に興味深く複雑な分野であり、理解して最適化すべきことがたくさんあるので、引き続きこの分野に焦点を当てます。長い時間を費やしても、学ぶべきことはまだまだたくさんあります。たとえば、画像リソースに CDN を使用すると、アプリの速度をさらに高めることができる仕組みについて、詳しく教えてください。ウェブ パフォーマンスのエキスパートになりたいと思っています。徐々にその目標に近づいていると信じています。

Monika: 専門家ではなく、学んだことを書き始めたと仰っていましたが、新しいデベロッパーが、共有できる情報がないと感じる場合、どのようなアドバイスをしますか?

Nishu: 私も執筆を始めたときはそう感じました。公開しない方がいいかなと思いましたが、間違っている可能性もあります。自分の文章が読者に役立たないのではないかと心配していました。でも、重要なのは、自分の文章が自分を助けてくれたことです。しばらくすると忘れてしまい、以前書いた内容に戻ってくることがありました。書き留めておくことは良いアイデアです。

テーブルの上に置かれた書籍「Angular Routing」。

そのため、どの段階でも、とにかく書くことをおすすめします。コースの一部しか完了していなくても、書き留めることで学習できます。ある時点で知った情報が、まだ知らない他のユーザーにとって有用な場合があります。専門家でなくても利用できます。文章を書くことは、キャリアのどの段階でも、

Monika: 何かを学んだばかりの人にフォローしてもらうのがベストです。その人は、自分で理解しなければならなかったことをすべて知っています。経験を積んだ後では、新人だった頃の状況を思い出すのは難しいものです。ウェブ開発を始めたばかりの方へのアドバイスはありますか?

Nishu: 多くの人が、始める際にどのフレームワークを選択すべきか尋ねますが、それは正しい質問ではないと思います。どの段階で学習しても、後で役立つはずです。制限を解除して HTML または JavaScript から始めることをおすすめします。将来的には、HTML や JavaScript が収益につながります。

チャンスがあれば、積極的に活用しましょう。私の場合は、著者を探していたときにウェブ アルマナックに関する情報を偶然見つけました。「これは面白い、パフォーマンスの面で役に立つかもしれない」と思いました。こうして私は JavaScript の章のコンテンツリードになり、6 か月かけて執筆しました。ですから、チャンスをつかんで、一生懸命働くことが大切だと思います。

Monika: ウェブ技術全般の将来について、何か予測やアイデアはありますか?次にホットなトピックは何になるでしょうか?急速に成長する分野はどれですか?

Nishu: ブラウザ内でサーバーを実行できるようになったのは素晴らしい進歩です。たとえば、最近ではブラウザから Node.js を実行できるようになりましたが、以前はシステムに Node.js をインストールしないと何も実行できませんでした。これで、ブラウザから何でもできるようになりました。これはウェブ エコシステムにおける大きな一歩です。OMT(メインスレッド外)スレッドの操作も大幅に改善されます。Web Assembly は進歩しており、デベロッパーはこれを活用できます。これがウェブ エコシステムの未来だと思います。