In evidenza per la community GDE: Nishu Goel

Nishu Goel è un rinomato ingegnere web indiano, Google Developer Expert per Angular e tecnologie web. Ci ha parlato del suo impegno nella community, dei suoi piani di carriera e dei modi migliori per imparare lo sviluppo web.

Monika Janota
Monika Janota

Nishu sul palco.

Nishu Goel è un rinomato web engineer indiano, Google Developer Expert per Angular e tecnologie web, Microsoft Most Valuable Professional. È autrice di Step by Step Angular Routing (BPB, 2019) e A Hands-on Guide to Angular (Educative, 2021), nonché del capitolo JavaScript di Web Almanac 2021. Attualmente Nishu lavora come ingegnere full stack presso epilot GmbH. Ci ha parlato del suo impegno nella community, dei suoi piani di carriera e dei modi migliori per imparare lo sviluppo web.

Monika: iniziamo con la tua storia. Cosa ti ha spinto a diventare uno sviluppatore e ad assumere un ruolo attivo nelle community di sviluppatori?

Nishu: ho conseguito la laurea in informatica, abbiamo studiato le strutture dati ed è stato lì che è iniziato il mio interesse per la programmazione. Durante il terzo anno di ingegneria, ho stabilito un contatto con la community di sviluppatori grazie alla mia partecipazione alla competizione nazionale Microsoft Imagine Cup, dove abbiamo presentato soluzioni tramite codice. L'idea dell'applicazione che abbiamo creato era offrire opportunità formative agli studenti locali, in particolare alle ragazze. Ho incontrato persone molto stimolanti, sia concorrenti che organizzatori, in questo percorso.

Nel 2018, la mia carriera professionale è decollata e ho iniziato a lavorare con Angular. Angular è diventata la tecnologia principale che mi ha messo in contatto con il programma GDE. Nello stesso periodo, ho iniziato a scrivere post del blog e a creare contenuti sull'argomento su cui stavo lavorando e imparando . Dhananjay Kumar mi ha aiutato a iniziare questo percorso e si è impegnato a mantenermi sulla strada giusta. I miei primi articoli trattavano le nozioni di base di Angular. Poco dopo ho iniziato a tenere conferenze, la prima delle quali è stata ngNepal, la conferenza Angular del Nepal. Questo ha portato a più inviti a parlare di Angular e tecnologie web.

Nishu e altre persone di ng-india.

Monika: qual è la tua esperienza professionale in ambito tecnologico?

Nishu: per i primi due anni si è parlato solo di Angular e componenti web. Utilizzavo Angular per creare siti web, ma presto ho deciso di andare oltre ed esplorare altri campi. Non volevo limitarmi nel caso avessi dovuto cambiare progetto. È così che ho iniziato a creare componenti web in Angular da utilizzare in altri framework.

La prima cosa che ho fatto è stata creare componenti web utilizzando Angular. L'ho pubblicato su npm e l'ho utilizzato come demo in un progetto React. Ne ho parlato durante alcuni dei miei discorsi e delle mie presentazioni. Il mio prossimo lavoro richiedeva l'utilizzo di React e Typescript. Ora, poiché lavoravo con React, non utilizzavo più un solo framework, ma il web in generale. In quel momento ho imparato molto sul web, in particolare sulle prestazioni web. È stato allora che ho dovuto iniziare a pensare a Largest Contentful Paint (LCP) o First Contentful Paint (FCP), ovvero il tempo necessario per caricare l'applicazione o il tempo massimo necessario per il rendering della pagina. Mi sto adoperando per scegliere le best practice e migliorare le prestazioni delle applicazioni.

A causa di questo interesse per il rendimento del web, ho collaborato al Web Almanac e ho scritto il capitolo su JavaScript. Web Almanac è un report annuale sullo stato del web in generale, che ci dice in che modo le persone utilizzano le diverse funzionalità. Lo scorso anno sono stati esaminati 8,6 milioni di siti web, i cui dati sono stati analizzati e presentati nel report. Il report include statistiche come l'utilizzo degli attributi async e defer in un elemento <script>. Quanti siti web li utilizzano correttamente, quanti non li utilizzano affatto e quanti li hanno migliorati rispetto al 2020. L'ultimo report Web Almanac ha indicato che circa il 35% dei siti web utilizzava due attributi nello stesso script, un antipattern che riduce il rendimento. Questo problema è stato segnalato l'anno scorso e quest'anno abbiamo cercato di capire se la situazione è migliorata. Ho anche parlato a ngConf e Reliable Dev Summit, dove mi sono concentrato sul rendimento del web.

Edizione stampata dell&#39;Almanacco del web.

Monika: ti impegni molto anche per dare qualcosa alla community. Ultimamente fai volontariato con l'ONG ugandese YIYA. Come è iniziato e qual è il punto principale di questa collaborazione?

Nishu: è iniziato quando il team GDE ci ha informato dell'opportunità di volontariato con YIYA. L'ONG ugandese cercava ingegneri per aiutarla nella preparazione dei contenuti o nelle funzionalità tecniche. Il programma mira a responsabilizzare i bambini in età scolare in Uganda e a offrire loro opportunità di istruzione utilizzando le tecnologie disponibili a livello locale, non computer o libri di testo, ma telefoni e radio di base con tastiera. I bambini dovevano chiamare un determinato numero e ricevere una serie di informazioni, poi chiamare un altro numero per ulteriori approfondimenti e così via. È diventato ancora più utile durante la pandemia.

Dato che mi occupo da sempre di community e obiettivi di sviluppo sostenibile, ho deciso di contattarti. Dopo una riunione con il team di YIYA, ho offerto il mio aiuto per gli script Python o per eventuali bug o problemi con il portale. Abbiamo lavorato insieme per poco tempo.

Monika: quali sono i tuoi piani per il 2022? C'è qualcosa su cui ti stai concentrando in particolare?

Nishu: sto cambiando lavoro e mi trasferisco in un altro paese. Lavorerò sul web in generale, migliorando le prestazioni del sito e anche sul backend, utilizzando Golang. Continuerò a concentrarmi sull'area del rendimento web perché è molto interessante e complessa e c'è molto da capire e ottimizzare. Anche ora, dopo aver dedicato molto tempo a questo argomento, c'è ancora molto da imparare. Ad esempio, vorrei capire in che modo l'utilizzo di una CDN per le mie risorse immagine mi aiuterebbe a rendere la mia app ancora più veloce. Voglio diventare L'esperto di prestazioni web. Ci sto arrivando gradualmente, mi piace pensare :)

Monika: hai detto di aver iniziato a scrivere quando non eri ancora esperta, ma scrivevi solo ciò che imparavi. Quale consiglio daresti ai nuovi sviluppatori che non hanno nulla da condividere?

Nishu: è esattamente quello che ho provato quando ho iniziato a scrivere. Ho pensato che forse non dovevo pubblicarlo. Forse è solo sbagliato? Temevo che i miei scritti non fossero di aiuto ai lettori. Ma la cosa importante era che la mia scrittura mi aiutava. Dopo un po' di tempo dimenticavo le cose e poi tornavo a qualcosa che avevo scritto prima. Mettere le cose per iscritto è un'ottima idea.

Il libro Angular Routing su un tavolo.

Quindi, consiglio a tutti di scrivere, in qualsiasi fase. Anche se hai completato solo una parte di un corso, impari scrivendo. Un'informazione che hai appreso a un certo punto potrebbe essere utile ad altri che non la conoscono ancora. Non è necessario essere esperti. La scrittura ti aiuterà. E a chiunque, in qualsiasi fase della carriera.

Monika: è meglio seguire le persone che hanno appena imparato qualcosa perché sanno tutto ciò che hanno dovuto capire. Una volta che sei un esperto, è difficile ricordare com'era quando eri alle prime armi. Hai qualche consiglio per chi si sta avvicinando allo sviluppo web?

Nishu: molte persone chiedono quale framework scegliere all'inizio, ma non credo che sia la domanda giusta. Qualsiasi cosa impariamo in un determinato momento dovrebbe essere utile anche in un secondo momento. Consiglierei a chiunque di eliminare le limitazioni e di iniziare con HTML o JavaScript, perché in futuro sarà redditizio.

e poi cogliere tutte le opportunità che ti si presentano. Mi è successo quando ho trovato informazioni sull'Almanacco web mentre cercavo autori. Ho pensato: "Questa è una cosa interessante, potrebbe aiutare tutti a migliorare le prestazioni". In questo modo sono diventato content lead per il capitolo JavaScript e ci ho impiegato sei mesi a scriverlo. Quindi penso che si tratti solo di cogliere le opportunità e lavorare sodo.

Monika: hai previsioni o idee sul futuro della tecnologia web in generale? Quale sarà il prossimo argomento di tendenza? Cosa crescerà rapidamente?

Nishu: mi piace molto il fatto che ora possiamo eseguire server all'interno dei browser. È un grande progresso. Ad esempio, di recente è stata introdotta l'esecuzione di Node.js dal browser, mentre in passato non era possibile eseguire nulla senza installare Node.js nei nostri sistemi. Ora possiamo fare qualsiasi cosa dal browser. Si tratta di un enorme passo avanti nell'ecosistema web. E l'OMT, ovvero Off the Main Thread. Anche il lavoro sui thread sarà notevolmente migliorato. Web Assembly è in continua evoluzione e consente agli sviluppatori di farlo. Penso che sia il futuro dell'ecosistema web.