Nishu Goel é um renomado engenheiro da Web da Índia, especialista em desenvolvedores do Google para Angular e tecnologias da Web. Ela nos contou sobre o envolvimento com a comunidade, os planos de carreira e as melhores formas de aprender sobre desenvolvimento da Web.
Nishu Goel é um renomado engenheiro da Web da Índia, especialista em desenvolvedores do Google em tecnologias Angular e da Web, Microsoft Most Valuable Professional. Ela é autora de Step by Step Angular Routing (BPB, 2019) e A Hands-on Guide to Angular (Educative, 2021), além do capítulo Web Almanac 2021 sobre JavaScript. Nishu trabalha na epilot GmbH como engenheiro de pilha completa. Ela nos contou sobre o envolvimento com a comunidade, os planos de carreira e as melhores formas de aprender sobre desenvolvimento da Web.
Monika: vamos começar com sua história. O que inspirou você a se tornar um desenvolvedor e assumir um papel ativo nas comunidades de desenvolvedores?
Nishu: Eu me formei em ciência da computação, estudamos estruturas de dados e foi aí que meu interesse pela programação começou. Durante o terceiro ano de engenharia, uma conexão com a comunidade de desenvolvedores foi estabelecida pela minha participação na competição Microsoft Imagine Cup Nationals, em que apresentamos soluções por código. A ideia do aplicativo que criamos foi oferecer oportunidades educativas para estudantes locais, especialmente meninas. Conheci algumas pessoas muito inspiradoras, participantes e organizadores nessa jornada.
Em 2018, minha carreira profissional decolou e comecei a trabalhar com o Angular. O Angular se tornou a principal tecnologia que me conectou ao programa GDE. Na mesma época, comecei a escrever postagens de blogs e criar conteúdo sobre o assunto no qual estava trabalhando e aprendendo . Dhananjay Kumar me ajudou a iniciar essa jornada e garantiu que eu estivesse no caminho certo. Meus primeiros artigos abordavam os conceitos básicos do Angular. Logo depois, comecei a falar em eventos. O primeiro foi o ngNepal, a Conferência Angular do Nepal. Isso levou a mais convites para falar sobre as tecnologias do Angular e da Web.
Monika: Qual é sua experiência profissional em termos de tecnologia?
Nishu: o foco foi o Angular e os componentes da Web nos primeiros dois anos. Eu estava usando o Angular para criar a Web, mas logo decidi ir além e explorar outras áreas. Eu não queria me limitar caso tivesse que mudar de projeto. Foi assim que comecei a criar componentes da Web no Angular para usar em outros frameworks.
A primeira coisa que fiz foi criar componentes da Web usando o Angular. Publiquei no NPM e usei como demonstração em um projeto do React. Discuti isso durante algumas de minhas palestras e apresentações mais tarde. Meu próximo trabalho exigiu o uso de React e Typescript. Como eu trabalhava com o React, não usava mais apenas um framework, mas a Web em geral. Naquele momento, aprendi muito sobre a Web, principalmente sobre o desempenho. Foi aí que tive que começar a pensar na Maior exibição de conteúdo (LCP, na sigla em inglês) ou First Contentful Paint (FCP), o que significa quanto tempo o aplicativo vai levar para ser carregado ou qual será o tempo máximo de renderização da página. Tenho trabalhado para escolher as práticas recomendadas e melhorar o desempenho dos aplicativos.
Devido a esse interesse no desempenho da Web, me envolvai no Web Almanac e escrevi o capítulo sobre JavaScript. O Web Almanac é um relatório anual sobre o estado da Web em geral. Ele nos diz como as pessoas estão usando diferentes recursos. No ano passado, 8,6 milhões de sites foram avaliados, os dados foram analisados e apresentados no relatório. O relatório inclui estatísticas como o uso dos atributos async
e defer
em um elemento <script>
. Quantos sites estão usando corretamente, quantos não usam e quantos melhoraram em relação a 2020. O último relatório do Web Almanac mencionou que cerca de 35% dos sites usavam dois atributos no mesmo script, o que era um antipadrão, reduzindo o desempenho. Isso foi apontado no ano passado e, este ano, tentamos ver se a situação melhorou. Também conversei na ngConf e no Reliable Dev Summit, onde me concentrei no desempenho da Web.
Monika: você também se envolveu muito em retribuir à comunidade. Você tem trabalhado como voluntário em uma ONG de Uganda, a YIYA. Como isso começou e qual foi o principal ponto dessa cooperação?
Nishu: Tudo começou com a equipe do GDE informando sobre a oportunidade de voluntariado no YIYA. A ONG de Uganda procurava engenheiros para ajudá-la com a preparação de conteúdo ou com os recursos técnicos. O objetivo do programa é capacitar crianças em idade escolar na Uganda e oferecer a elas oportunidades educativas usando as tecnologias disponíveis localmente. Elas não usam computadores ou livros didáticos, mas sim rádios e telefones com teclado. Os filhos discam um determinado número e recebem um conjunto de informações, discam para outro para receber mais insights e assim por diante. Ele se tornou ainda mais útil durante a pandemia.
Como sempre estive envolvida com a comunidade e com metas de desenvolvimento sustentável, decidi entrar em contato. Após uma reunião com a equipe de YIYA, ofereci minha ajuda com os scripts Python ou com os bugs que surgiram, quaisquer problemas com o portal. Trabalhamos juntos por um breve período.
Monika: quais são seus planos para 2022? Você está se concentrando em algo específico?
Nishu: Estou trocando de emprego e me mudando para outro país. Trabalharei na Web em geral, melhorando o desempenho do site, e também no back-end, usando o Golang. Vou continuar focando na área de desempenho da Web, já que ela é muito interessante e complexa, e há muito para entender e otimizar. Mesmo agora, depois de dedicar muito do meu tempo a isso, ainda há muito a aprender. Por exemplo, eu adoraria entender como o uso de uma CDN para meus recursos de imagem poderia me ajudar a tornar meu app ainda mais rápido. Quero me tornar O especialista em desempenho da Web. Estou chegando lá aos poucos, eu gosto de acreditar :)
Monika: Você mencionou que começou a escrever em um momento em que não era especialista, estava apenas escrevendo o que estava aprendendo. Qual seria seu conselho para novos desenvolvedores que estão chegando e sentindo que não têm nada para compartilhar?
Nishu: Foi exatamente como me senti quando comecei a escrever. Pensei que talvez eu não devesse colocar isso para fora. Talvez ele esteja errado? Eu tinha medo que minha escrita não ajudaria os leitores. Mas o importante era que minha escrita estava me ajudando. Eu esquecia algumas coisas depois de um tempo e depois voltava para algo que escrevi antes. Escrever as coisas é uma ótima ideia.
Eu sugiro que todos escrevam em qualquer momento. Mesmo que tenha concluído apenas uma parte de um curso, você está aprendendo escrevendo. Uma informação que você já sabe em algum momento pode ser útil para outras pessoas que ainda não sabem. Você não precisa ser especialista. Escrever vai ajudar você. E qualquer pessoa, em qualquer etapa da carreira.
Monika: é melhor seguir pessoas que acabaram de aprender algo, porque elas sabem tudo o que precisavam descobrir. Depois de se tornar um especialista, é difícil lembrar como era quando você era novo. E há algum conselho para alguém que está começando no desenvolvimento da Web?
Nishu: Muitas pessoas perguntam qual estrutura usar no início, mas acho que essa não é a pergunta certa. O que estivermos aprendendo a qualquer momento também será útil no futuro. Aconselho a qualquer pessoa a deixar de lado as limitações e começar com HTML ou JavaScript. Isso será lucrativo no futuro.
E aproveite qualquer oportunidade que surgir. Isso aconteceu comigo quando encontrei informações sobre o Almanaque da Web procurando autores. Eu pensei: "Ah, isso é interessante, pode ajudar a todos com relação ao desempenho". Foi assim que me tornei líder de conteúdo da divisão JavaScript, e passei seis meses escrevendo. Acho que é uma questão de aproveitar as oportunidades e trabalhar duro.
Monika: você tem alguma previsão ou ideia sobre o futuro da tecnologia da Web em geral? Qual será o próximo tema em alta? O que vai crescer rapidamente?
Nishu: Acho que agora conseguimos executar servidores em navegadores. Isso é um grande avanço. Por exemplo, executar o Node.js no navegador foi introduzido recentemente, mas antes não era possível executar nada sem o Node.js instalado nos nossos sistemas. Agora podemos fazer qualquer coisa no navegador. Esse é um grande passo no ecossistema da Web. E a OMT: fora da linha de execução principal. O trabalho nas linhas de execução também vai ficar muito melhor. O Web Assembly está progredindo e permite que os desenvolvedores façam isso, e eu acho que esse é o futuro do ecossistema da Web.