In evidenza per la community GDE: Nishu Goel

Nishu Goel è un famoso web engineer indiano, esperto di sviluppo di Google per le tecnologie Angular e web. Ci ha raccontato il coinvolgimento della community, i piani di carriera e i modi migliori per imparare lo sviluppo web.

Monica Janota
Monika Janota

Nishu sul palco.

Nishu Goel è un famoso web engineer indiano, esperto di sviluppo Google per le tecnologie Angular e web, Microsoft Most Valuable Professional. È autrice di Step by Step Angular Routing (BPB, 2019) e A Hands-on Guide to Angular (Educative, 2021), oltre che autrice del capitolo JavaScript di Web Almanac 2021. Nishu attualmente lavora per epilot GmbH come full stack engineer. Ci ha raccontato il coinvolgimento della community, i piani di carriera e i 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 sviluppo?

Nishu: Ho conseguito la laurea in informatica, ho studiato le strutture dei dati ed è qui che è nato l'interesse per la programmazione. Durante il terzo anno di ingegneria, ho stabilito un collegamento con la community degli sviluppatori attraverso la mia partecipazione al concorso Microsoft Imagine Cup Nationals in cui abbiamo presentato soluzioni tramite codice. L'idea dell'applicazione che abbiamo creato era di offrire opportunità didattiche agli studenti locali, soprattutto alle ragazze. In questo viaggio ho incontrato persone stimolanti, sia concorrenti che organizzatori.

Nel 2018, la mia carriera professionale è decollata e ho iniziato a lavorare con Angular. Angular è diventata la tecnologia principale che mi ha collegato al programma GDE. Nello stesso periodo ho iniziato a scrivere post per blog e a creare contenuti sull'argomento su cui stavo lavorando e imparando . Dhananjay Kumar mi ha aiutato a iniziare questo viaggio e si è assicurato di rimanere sulla strada giusta. I miei primi articoli riguardavano le nozioni di base di Angular. Poco dopo ho iniziato a parlare agli eventi, il primo è stato ngNepal, la Conferenza Angular del Nepal. Ciò ha portato a un aumento degli inviti a parlare di tecnologie web e di Angular.

Nishu e altre persone di ng-india.

Monika: Qual è la tua esperienza professionale dal punto di vista tecnologico?

Nishu: Per i primi due anni, si sono concentrati sui componenti Angular e web. Stavo usando Angular per creare il web, ma presto ho deciso di andare oltre ed esplorare altri campi. Non volevo limitarmi nel caso in cui dovessi cambiare progetto. È così che ho iniziato a creare componenti web in Angular da usare in altri framework.

La prima cosa che ho fatto è stato creare componenti web utilizzando Angular. L'ho pubblicata su npm e l'ho utilizzata come demo in un progetto React. Ne ho parlato in seguito durante alcuni dei miei discorsi e presentazioni. Il mio prossimo lavoro ha richiesto l'uso di React e Typescript. Dato che stavo lavorando con React, non utilizzavo più un solo framework, ma il web in generale. In quel momento ho imparato molto sul web, soprattutto sul rendimento. È stato a questo punto che ho iniziato a pensare alla Largest Contenful Paint (LCP) o alla First Contentful Paint (FCP), ovvero quanto tempo impiegherà la tua applicazione per caricare o qual sarà il tempo massimo per il rendering della pagina. Ho scelto le best practice e il miglioramento delle prestazioni delle applicazioni.

Dato questo interesse per le prestazioni sul web, ho partecipato all'almanacco web e ho scritto il capitolo di JavaScript. Almanacco web è un report annuale sullo stato del web in generale, ci dice in che modo le persone utilizzano le diverse funzionalità. L’anno scorso sono stati esaminati 8,6 milioni di siti web, i 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 usano correttamente, quanti non lo usano affatto e quanti li hanno migliorati rispetto al 2020. L'ultimo report di Web Almanac affermava che circa il 35% dei siti web utilizzava due attributi nello stesso script, il che era un anti-pattern, riducendo le prestazioni. Questo aspetto è stato sottolineato l'anno scorso e quest'anno abbiamo cercato di capire se la situazione migliorasse. Ho parlato anche al ngConf and Reliable Dev Summit, dove mi sono concentrato sulle prestazioni del web.

Versione stampata dell&#39;Almanacco del web.

Monika: hai un grande impegno anche nel ricompensare la community. Di recente hai lavorato come volontariato con una ONG ugandese YIYA: come è iniziata e qual è stato il punto principale di questa collaborazione?

Nishu: Tutto è iniziato con il team GDE che ci informava dell'opportunità di volontariato con YIYA. La ONG ugandese cercava ingegneri che le aiutassero nella preparazione dei contenuti o nelle funzionalità tecniche. Il programma mira a supportare i bambini in età scolare in Uganda e a offrire loro opportunità formative tramite l'uso delle tecnologie disponibili localmente, non computer o libri di testo, ma piuttosto basilari telefoni con tastiera e radio. I bambini componevano un determinato numero e ricevevano un insieme di informazioni, un altro numero per ottenere maggiori informazioni e così via. È diventato ancora più utile durante la pandemia.

Dato che ho sempre avuto a che fare con gli obiettivi della community e di sviluppo sostenibile, ho deciso di contattarti. Dopo un incontro con il team di YIYA, ho offerto il mio aiuto con gli script Python o gli eventuali bug riscontrati e ho riscontrato problemi con il portale. Abbiamo collaborato per un breve periodo di tempo.

Monika: Quali sono i tuoi progetti 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, usando Golang. Continuerò a concentrarmi sull'area del rendimento web poiché è molto interessante e complessa e c'è molto da capire e ottimizzare. Ma ora, dopo aver dedicato molto tempo a questo, c'è ancora molto da imparare. Ad esempio, mi piacerebbe capire in che modo l'utilizzo di una CDN per le risorse di immagine mi aiuterebbe a rendere la mia app ancora più veloce. Voglio diventare l'esperto del rendimento sul web: ci sto avvicinando gradualmente, mi piace credere :)

Monika: Hai detto di aver iniziato a scrivere quando non eri un esperto, stavi solo scrivendo ciò che stavi imparando. Quale consiglio daresti ai nuovi sviluppatori che sentono di non avere nulla da condividere?

Nishu: È esattamente quello che mi sentivo quando ho iniziato a scrivere. Pensavo che forse non avrei dovuto metterlo fuori. È semplicemente sbagliato? Temevo che i miei contenuti non sarebbero stati utili per i lettori. ma la cosa più importante era che il mio lavoro mi aiutasse. Dopo un po' di tempo dimenticherei alcune cose e poi tornare su qualcosa che avevo scritto in precedenza. Scrivere i contenuti è un'ottima idea.

Il libro Angular Routing su una tabella.

Suggerisco a tutti di scrivere, in qualsiasi momento. Anche se hai completato solo una parte del corso a cui stai seguendo, stai imparando scrivendolo. Un'informazione che hai imparato a conoscere in un determinato momento può essere utile per altri che non le conoscono ancora. Non è necessario essere esperti. Scrivere ti aiuterà. E chiunque, in qualsiasi fase della sua carriera.

Monika: è meglio seguire le persone che hanno appena imparato qualcosa perché sanno tutto quello che hanno dovuto capire. Una volta che sei un esperto, è difficile ricordare com'era quando eri nuovo. E qualche consiglio per qualcuno che è appena entrato nel mondo dello sviluppo web?

Nishu: molte persone si chiedono quale sia il framework da scegliere all'inizio, ma penso che questa non sia la domanda giusta. Qualsiasi cosa impariamo in un determinato momento dovrebbe essere utile anche in una fase successiva. Consiglio a chiunque di abbandonare i limiti e di iniziare con HTML o JavaScript, che sarà redditizio in futuro.

e cogli ogni opportunità che si presenta. È successo a me quando mi sono imbattuta in informazioni sull'Almanacco Web alla ricerca di autori. Ho pensato: "Oh, è interessante, può aiutare tutti dal punto di vista delle prestazioni". È così che sono diventata responsabile dei contenuti per il capitolo JavaScript e ho trascorso 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? Qual è il prossimo argomento di interesse? Cosa è destinato a crescere rapidamente?

Nishu: Adoro il fatto di poter eseguire server all'interno dei browser, si tratta di un grande avanzamento. Ad esempio, l'esecuzione di Node.js dal browser è stata introdotta di recente, mentre in passato non era possibile eseguire nulla senza aver installato Node.js nei nostri sistemi. Ora possiamo fare qualsiasi cosa dal browser. Si tratta di un enorme passo in avanti nell'ecosistema del web. e l'OMT, fuori dal thread principale. Anche lavorare sui thread sarà molto migliorato. Web Assembly sta avanzando e consente agli sviluppatori di farlo e penso che questo sia il futuro dell'ecosistema del web.