Point fort de la communauté GDE: Nishu Goel

Nishu Goel est un ingénieur Web renommé en Inde et expert Google Developers aux technologies Web et Angular. Elle nous a parlé de son engagement communautaire, de ses projets de carrière et des meilleurs moyens d'apprendre le développement Web.

Monika Janaota
Monika Janaota

Nishu sur scène.

Nishu Goel est un ingénieur Web renommé en Inde, un expert Google Developers pour Angular et des technologies Web, et Microsoft Most Valuable Professional. Elle est l'auteure de Step by Step Angular Routing (BPB, 2019), d'un A Hands-on Guide to Angular (Educative, 2021) et du chapitre JavaScript de Web Almanac 2021. Nishu travaille actuellement en tant qu'ingénieur full stack chez epilot GmbH. Elle nous a parlé de son engagement communautaire, de ses projets de carrière et des meilleurs moyens d'apprendre le développement Web.

Monika: Commençons par votre histoire. Qu'est-ce qui vous a incitée à devenir développeur et à jouer un rôle actif au sein des communautés de développeurs ?

Nishu: J'ai obtenu ma licence en informatique. Nous avons étudié les structures de données. C'est là que l'intérêt pour la programmation a commencé. Au cours de ma troisième année d'ingénierie, j'ai établi un lien avec la communauté des développeurs grâce à ma participation au concours Microsoft Imagine Cup Nationals, au cours duquel nous avons présenté des solutions par code. L'idée de l'application que nous avons créée était d'offrir des opportunités éducatives aux élèves locaux, en particulier aux filles. J'ai rencontré des personnes très inspirantes, des participants et des organisateurs de ce parcours.

En 2018, ma carrière professionnelle a décollé et j'ai commencé à travailler avec Angular. Angular est devenu la principale technologie qui m'a connecté au programme GDE. Dans le même temps, j'ai commencé à rédiger des articles de blog et à créer du contenu sur le sujet sur lequel je travaillais et que j'ai appris . Dhananjay Kumar m'a aidé à me lancer et m'a assuré de me garder sur la bonne voie. Mes premiers articles abordaient les bases d'Angular. Peu de temps après, j'ai commencé à intervenir lors d'événements. Le premier était le Népal, la conférence Angular du Népal. Cela a conduit à d'autres interventions sur Angular et les technologies Web.

Nishu et d'autres personnes d'Inde.

Monika: Quelle est votre expérience professionnelle en termes de technologie ?

Nishu: Pendant les deux premières années, nous nous sommes concentrés sur Angular et les composants Web. J'utilisais Angular pour développer le Web, mais j'ai rapidement décidé d'aller plus loin et d'explorer d'autres domaines. Je ne voulais pas me limiter au cas où je devais changer de projet. C'est ainsi que j'ai commencé à créer des composants Web dans Angular à utiliser dans d'autres frameworks.

J'ai commencé par créer des composants Web à l'aide d'Angular. Je l'ai publié sur npm et je l'ai utilisé comme démonstration dans un projet React. J'en ai discuté plus tard lors de certains de mes discours et de mes présentations. Mon prochain emploi nécessitait d'utiliser React et Typescript. Comme je travaillais avec React, je n'utilisais plus qu'un seul framework, mais le Web en général. À ce moment-là, j'ai beaucoup appris sur le Web, et plus particulièrement sur ses performances. J'ai alors dû commencer à réfléchir à la métrique Largest Contenful Paint (LCP) ou First Contentful Paint (FCP), qui représente le temps nécessaire à votre application pour se charger ou le temps maximal d'affichage de la page. Je me suis efforcée de choisir les bonnes pratiques et d'améliorer les performances des applications.

En raison de cet intérêt pour les performances Web, j'ai participé à Web Almanac et j'ai écrit le chapitre JavaScript. Web Almanac est un rapport annuel sur l'état du Web en général. Il nous indique comment les internautes utilisent différentes fonctionnalités. L'année dernière, 8,6 millions de sites Web ont été examinés, et les données ont été analysées et présentées dans le rapport. Le rapport comprend des statistiques telles que l'utilisation des attributs async et defer dans un élément <script>. combien de sites Web les utilisent correctement, combien ne l'utilisent pas du tout et combien en ont amélioré par rapport à 2020. Le dernier rapport Web Almanac indiquait qu'environ 35% des sites Web utilisaient deux attributs sur le même script, ce qui était un anti-modèle, ce qui diminue les performances. C'est ce qu'a souligné l'année dernière, et nous avons essayé de voir si la situation s'était améliorée cette année. J'ai également pris la parole lors de ngConf et du Reliable Dev Summit, durant lesquels je me suis concentrée sur les performances du Web.

Édition papier du Web Almanac.

Monika: Vous voulez aussi apporter votre pierre à l'édifice. Vous avez récemment été bénévole pour une ONG ougandaise YIYA. Comment cela a-t-il commencé et quel était le principal objectif de cette coopération ?

Nishu: Tout a commencé lorsque l'équipe GDE nous a informés d'une opportunité de bénévolat avec YIYA. L'ONG ougandaise cherchait des ingénieurs pour l'aider à préparer les contenus ou à gérer les caractéristiques techniques. Ce programme vise à responsabiliser les enfants ougandais en âge d'être scolarisés en Ouganda et à leur offrir des opportunités éducatives en utilisant les technologies disponibles localement. Il ne s'agit pas d'ordinateurs ni de manuels scolaires, mais plutôt de téléphones avec clavier et de radios basiques. Les enfants composaient un certain numéro et recevaient un ensemble d'informations, composaient un autre numéro pour obtenir plus d'informations, et ainsi de suite. Il est devenu encore plus utile pendant la pandémie.

Comme j'ai toujours été impliqué dans la communauté et les objectifs de développement durable, j'ai décidé de me contacter. Après une réunion avec l'équipe YIYA, j'ai pu apporter mon aide sur les scripts Python, sur les bugs qu'elle rencontrait et sur les problèmes liés au portail. Nous avons brièvement travaillé ensemble.

Monika: Quels sont vos projets pour 2022 ? Y a-t-il quelque chose sur lequel vous vous concentrez en particulier ?

Nishu: Je change d'emploi et déménage dans un autre pays. Je vais travailler sur le Web en général, pour améliorer les performances du site, ainsi que sur le backend, en utilisant Golang. Je vais continuer à me concentrer sur les performances Web, car elles sont très intéressantes, complexes et nombreuses à comprendre et à optimiser. Encore aujourd'hui, après y avoir consacré beaucoup de temps, il y a encore beaucoup à apprendre. Par exemple, j'aimerais comprendre comment l'utilisation d'un CDN pour mes ressources d'image m'aiderait à rendre mon application encore plus rapide. Je veux devenir l'experte des performances Web. J'y progresse progressivement, j'aime le croire :)

Monika: Vous avez indiqué que vous aviez commencé à écrire à un moment où vous n'étiez pas experte. Vous écriviez simplement ce que vous appreniez. Quel conseil donneriez-vous aux nouveaux développeurs qui ont l'impression de n'avoir rien à partager ?

Nishu: C'est exactement ce que je ressentais lorsque j'ai commencé à écrire. Je me suis dit que je ne devrais peut-être pas mettre ça. C'est peut-être juste la mauvaise ? J'avais peur que mes textes n'aident pas les lecteurs. Mais le plus important, c'était que mes textes m'aideaient. J'oublie des choses au bout d'un certain temps, puis je reviens à quelque chose que j'ai écrit plus tôt. Noter les choses est une excellente idée.

Livre &quot;Angular Routing&quot; sur une table.

Je suggère donc à tout le monde d'écrire, quel que soit le stade. Même si vous n'avez terminé qu'une seule partie d'un cours que vous suivez : vous apprenez en la prenant par écrit. Une information que vous avez apprise à un moment donné peut être utile à d'autres personnes qui ne le connaissent pas encore. Pas besoin d'être un expert. L'écriture vous aidera. Et n'importe qui, à n'importe quel stade de sa carrière.

Monika: Il est préférable de suivre des personnes qui viennent d'apprendre quelque chose, car elles savent tout ce qu'elles ont dû comprendre. Une fois que vous êtes un expert, il est difficile de se souvenir à quoi ressemblait lorsque vous étiez nouveau. Avez-vous des conseils à donner à quelqu'un qui se lance dans le développement Web ?

Nishu: De nombreuses personnes se demandent quel cadre ils devraient choisir pour se lancer, mais je pense que ce n'est pas la bonne question. Tout ce que nous apprenons à tout moment devrait aussi être utile à un stade ultérieur. Je conseille à tous ceux d'abandonner ces limites et de commencer par HTML ou JavaScript.

Ensuite, saisissez toutes les opportunités qui se présentent à vous. C'est ce qui m'est arrivé quand je suis tombé sur des informations sur l'almanach du Web, à la recherche d'auteurs. Je me suis dit : "C'est intéressant, ça peut aider tout le monde sur le plan des performances". C'est ainsi que je suis devenu responsable du contenu pour le chapitre JavaScript, et j'ai passé six mois à l'écrire. Je pense donc qu'il s'agit simplement de saisir les opportunités et de travailler dur.

Monika: Avez-vous des prévisions ou des idées sur l'avenir de la technologie Web en général ? Quel sera le prochain sujet tendance ? Qu'est-ce qui va se développer rapidement ?

Nishu: J'apprécie de pouvoir faire fonctionner des serveurs dans des navigateurs, c'est une avancée considérable. Par exemple, l'exécution de Node.js depuis le navigateur a été introduite récemment, alors qu'auparavant, nous ne pouvions rien exécuter sans que Node.js ait été installé sur nos systèmes. Nous pouvons maintenant faire n'importe quoi dans le navigateur. Il s'agit d'une avancée majeure dans l'écosystème Web. Et l'OMT, en dehors du thread principal. Nous allons également améliorer considérablement le travail sur les threads. Web Assembly évolue et permet aux développeurs de le faire. Je pense que c'est l'avenir de l'écosystème Web.