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

Nishu Goel はインドの有名なウェブ エンジニアで、Angular とウェブ テクノロジーの Google Developer Expert です。コミュニティへの関与、キャリアプラン、ウェブ開発を学ぶ最適な方法について語ってくれました。

Monika Janota 氏
Monika Janota

ステージ上のニシュ。

Nishu Goel はインドの有名なウェブ エンジニアで、Angular とウェブ テクノロジーの Google Developer Expert、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 イマジン カップ ナショナルズ コンペティションに参加したことで、開発者コミュニティとのつながりが築かれました。このコンペティションでは、コードを使って解決策を提示しました。このアプリの開発の目的は、地元の学生、特に女の子に教育の機会を提供することでした。この道のりで、出場者だけでなく主催者の皆さんにも、とても刺激的な人たちに出会ったのです。

2018 年にプロとしてのキャリアがスタートし、Angular で業務を開始しました。Angular は、私を GDE プログラムに結びつける主要なテクノロジーになりました。それとほぼ同じ時期に、ブログ投稿を執筆し、自分が取り組んで学んでいたテーマに関するコンテンツの作成を始めました。Dhananjay Kumar は、この取り組みを始めるのを手伝ってくれ、順調に進めることができました。最初の記事では、Angular の基本について説明しました。私がイベントで講演を始めてからすぐに、最初はネパールの Angular Conference である ngNepal から始まりました。これにより、Angular やウェブ テクノロジーについて講演する機会が増えました。

ng-india の Nishu とその他の人たち。

Monika: テクノロジーの面では、あなたの専門的な経験を教えてください。

Nishu: 最初の 2 年間は Angular とウェブ コンポーネントに目を向けてきました。ウェブの構築に Angular を使用していましたが、すぐにそれに留まらず、他の分野も検討することにしました。プロジェクトを切り替える必要が生じた場合に備えて、自分の限界を広げたくありませんでした。そこから、他のフレームワークで使用するウェブ コンポーネントを Angular で作成しました。

最初に行ったのは、Angular を使用してウェブ コンポーネントを作成することでした。これを npm に公開し、React プロジェクトのデモとして使用しました。これについては、後の講演やプレゼンテーションで取り上げました。次の仕事は React と Typescript を利用しました。React を使っていたため、1 つのフレームワークだけでなく、ウェブ全般を使用するようになりました。そのとき、ウェブについて、特にウェブのパフォーマンスについて多くのことを学びました。そこで、Largest Contenful 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 on a table』。

ですから、どんな段階であれ、どなたにも書くことをおすすめします。コースの一部分を終えただけでも、書き留めることで学習しているのです。ある時点で知っていた情報は、まだそれを知らない人にとっても役に立つかもしれません。専門家である必要はありません。書くことは役に立つ。キャリアの段階を問わず、誰もが利用できます。

Monika: 何かを学んだばかりの人をフォローするのは最善です。なぜなら、理解しなければならないことをすべて知っているからです。一度エキスパートになったつもりでは、初めてだった頃がどんなだったかを思い出すのは難しいものです。ウェブ開発を始めたばかりの人へのアドバイスはありますか?

Nishu: 利用を開始するときにどのフレームワークを選ぶべきかという質問が多く寄せられますが、これは正しい質問ではないと思います。どの時点で学んできたことは、その後の段階でも役に立つはずです。制限をなくして、HTML または JavaScript から始めることをおすすめします。そうすれば将来的に収益を上げることができます。

そして、目の前にあるチャンスを活用しましょう。ウェブ アルマナックで著者を探している情報に遭遇したとき、このことに気付きました。私はちょうど「これはおもしろい。パフォーマンスの面で皆さんの役に立つかもしれない」と思ったのです。私が JavaScript チャプターのコンテンツ リーダーになった経緯から、私はこの章の執筆に 6 か月費やしました。チャンスをつかみ、懸命に仕事をすることが重要です。

Monika: ウェブ テクノロジー全般について、何か予測やアイデアはありますか?次に話題になるトピックは?今後、急速な成長を遂げることは、

Nishu: ブラウザ内でサーバーを実行できるようになったところが気に入っています。これは大きな進歩です。たとえば、ブラウザから Node.js を実行することが最近導入されましたが、以前はシステムに Node.js をインストールしないと何も実行できませんでした。今はブラウザから何でもできます。これは、ウェブ エコシステムにおける大きな一歩です。メインスレッドから離れる OMT。スレッドの処理も大幅に改善されます。進化を続けている Web Assembly は、これを開発者が行えるようにします。それが、ウェブ エコシステムの未来であると考えています。