Momento destacado de la comunidad de GDE: Nishu Goel

Nishu Goel es un reconocido ingeniero web de India, experto de Google Developers de tecnologías web y de Angular. Nos contó sobre su participación en la comunidad, sus planes profesionales y las mejores formas de aprender sobre desarrollo web.

Mónica Sandra
Monika Janota

Nishu en el escenario.

Nishu Goel es un reconocido ingeniero web de India, desarrollador de Google experto en tecnologías web y Angular, Microsoft Most Valuable Professional. Es la autora de Step by Step Angular Routing (BPB, 2019) y A Hands-on Guide to Angular (Educative, 2021), así como la autora del capítulo de JavaScript Web Almanac 2021. Actualmente, Nishu trabaja en epilot GmbH como ingeniero de pila completa. Nos contó sobre su participación en la comunidad, sus planes profesionales y las mejores formas de aprender sobre desarrollo web.

Monika: Empecemos con tu historia. ¿Qué te inspiró a convertirte en desarrollador y a asumir un papel activo en estas comunidades?

Nishu: obtuve mi licenciatura en Informática, estudiamos estructuras de datos y, allí, comenzó el interés en programación. Durante el tercer año de ingeniería, se estableció una conexión con la comunidad de desarrolladores a través de mi participación en la competencia Microsoft Imagine Cup Nationals, en la que presentamos soluciones por medio de código. La idea de la aplicación que creamos era brindar oportunidades educativas a los estudiantes locales, especialmente a las niñas. Conocí a personas muy inspiradoras, tanto concursantes como organizadores en este viaje.

En 2018, mi carrera profesional despegó y comencé a trabajar en Angular. Angular se convirtió en la tecnología principal que me conectó con el programa de GDE. Al mismo tiempo, comencé a escribir entradas de blog y crear contenido sobre el tema en el que estaba trabajando y aprendiendo . Dhananjay Kumar me ayudó a dar los primeros pasos y me aseguró de mantenerme en el camino correcto. En mis primeros artículos, abordé los conceptos básicos de Angular. Poco después, empecé a hablar en los eventos, el primero fue ngNepal, la Conferencia Angular de Nepal. Como resultado, se recibieron más invitaciones a oratorias sobre las tecnologías web y de Angular.

Nishu y otras personas de la India.

Monika: ¿Cuál es tu experiencia profesional en cuanto a la tecnología?

Nishu: Durante los primeros dos años, se trató de Angular y componentes web. Usaba Angular para crear la Web, pero pronto decidí ir más allá y explorar otros campos. No quería limitarme en caso de tener que cambiar de proyecto. Así comencé a crear componentes web en Angular para usarlos en otros frameworks.

Lo primero que hice fue crear componentes web con Angular. Lo publiqué en npm y lo usé como demostración en un proyecto de React. Ya hablé de esto en algunas de mis charlas y presentaciones posteriores. Mi próximo trabajo requería con React y Typescript. Como estaba trabajando con React, ya no solo usaba un framework, sino la Web en general. En ese momento, aprendí mucho sobre la Web, especialmente sobre su rendimiento. Fue entonces cuando tuve que empezar a pensar en el Largest Contenful Paint (LCP) o el First Contentful Paint (FCP), que significa cuánto tiempo tardará tu aplicación en cargarse o cuál será el tiempo máximo para renderizar la página. Estuve trabajando para elegir las prácticas recomendadas y mejorar el rendimiento de las aplicaciones.

Debido a este interés en el rendimiento web, participé en Web Almanac y escribí el capítulo de JavaScript. Web Almanac es un informe anual sobre el estado de la Web en general; nos dice cómo las personas usan las diferentes funciones. El año pasado, se analizaron 8.6 millones de sitios web, se analizaron los datos y se presentaron en el informe. El informe incluye estadísticas, como el uso de los atributos async y defer en un elemento <script>. Cuántos sitios web las utilizan correctamente, cuántos no las utilizan y cuántos mejoraron en comparación con 2020. En el último informe de algoritmo web, se mencionó que alrededor del 35% de los sitios web usaron dos atributos en la misma secuencia de comandos, lo cual era un antipatrón, lo que redujo el rendimiento. Esto se mencionó el año pasado, y este año tratamos de ver si la situación mejoró. También hablé en ngConf y Reliable Dev Summit, donde me enfoqué en el rendimiento de la Web.

Edición impresa de la página web.

Monika: También te dedicas a retribuir a la comunidad. Hace poco, hiciste voluntariado con la ONG ugandesa YIYA. ¿Cómo comenzó y cuál fue el punto principal de esa cooperación?

Nishu: Comenzó cuando el equipo de GDE nos informó sobre la oportunidad de voluntariado con YIYA. La ONG ugandesa buscaba ingenieros que la ayudaran con la preparación del contenido o las funciones técnicas. El objetivo del programa es empoderar a los niños de Uganda en edad escolar y ofrecerles oportunidades educativas mediante las tecnologías disponibles a nivel local, no computadoras ni libros de texto, sino teléfonos y radios básicos con teclados. Los niños marcaban un número determinado y recibían un conjunto de información, marcaban otro para obtener más información, y así sucesivamente. Se volvió aún más útil durante la pandemia.

Como siempre me he involucrado en la comunidad y los objetivos de desarrollo sustentable, decidí comunicarme. Después de una reunión con el equipo de YIYA, ofrecí mi ayuda con las secuencias de comandos de Python, los errores que se les ocurrieron y los problemas con el portal. Trabajamos juntos durante un período breve.

Monika: ¿Cuáles son tus planes para 2022? ¿Hay algo en lo que te estés enfocando en particular?

Nishu: Me mudaré de trabajo y me mudaré a otro país. Trabajaré en la Web en general, mejoraré el rendimiento del sitio y también en el backend con Golang. Continuaré concentrándome en el área de rendimiento web, ya que es muy interesante y compleja, y hay mucho que entender y optimizar. Incluso ahora, después de dedicar mucho tiempo a eso, todavía queda mucho por aprender. Por ejemplo, me gustaría comprender cómo una CDN para mis recursos de imágenes me ayudaría a hacer que mi app sea aún más rápida. Quiero convertirme en EL experto en rendimiento web; estoy llegando allí, me gusta creer que pronto :).

Monika: Mencionaste que comenzaste a escribir cuando no eras experta, solo estabas escribiendo lo que estabas aprendiendo. ¿Qué consejo le aconsejarías a los desarrolladores que recién empiezan y sienten que no tienen nada que compartir?

Nishu: Eso es exactamente lo que sentí cuando comencé a escribir. Pensé que tal vez no debería publicarlo. ¿Es posible que no esté bien? Me preocupaba que mi escritura no ayudara a los lectores. Pero lo importante es que mi escritura me ayudaba. Olvidaría algunas cosas después de un tiempo y volvería a hacer algo que escribí antes. Escribir las cosas es una gran idea.

El libro Enrutamiento de Angular sobre una tabla.

Por eso, les sugiero a todos que escriban, en cualquier etapa. Incluso si solo terminaste una parte de un curso que estás realizando, estás aprendiendo al escribirla. Un dato que conociste en algún momento puede ser útil para otras personas que aún no lo saben. No es necesario que seas un experto. Escribir te ayudará. y cualquiera, en cualquier etapa de su carrera.

Monika: Es mejor seguir a las personas que acaban de aprender algo porque saben todo lo que tuvieron que descubrir. Cuando te conviertes en un experto, es difícil recordar cómo era cuando eras nuevo. ¿Y algún consejo para alguien que recién se pone en marcha del desarrollo web?

Nishu: Muchas personas preguntan qué framework deberían elegir cuando comienzan, pero creo que esa no es la pregunta correcta. Lo que aprendamos en algún momento también debería ser útil en una etapa posterior. Le recomendaría a cualquier persona que deje de lado las limitaciones y comience con HTML o JavaScript, ya que será rentable en el futuro.

Y, luego, aprovecha las oportunidades que se presenten. Esto me sucedió cuando descubrí información sobre el Almanaque Web en busca de autores. Solo pensé: "Esto es interesante, esto puede ayudar a todas las personas con el aspecto del rendimiento". Así fue como me convertí en líder de contenido para el capítulo de JavaScript y tardé seis meses en escribirlo. Así que creo que solo se trata de aprovechar las oportunidades y trabajar duro.

Monika: ¿Tienes alguna predicción o idea sobre el futuro de la tecnología web en general? ¿Cuál será el próximo tema popular? ¿Qué va a crecer rápido?

Nishu: Me encanta el hecho de que ahora podamos ejecutar servidores en navegadores. Este es un gran avance. Por ejemplo, últimamente se introdujo la ejecución de Node.js desde el navegador. Mientras tanto, en el pasado no podíamos ejecutar nada sin tener instalado Node.js en nuestros sistemas. Ahora podemos hacer cualquier cosa desde el navegador. Esto representa un gran paso más en el ecosistema web. Y OMT, fuera del subproceso principal. El trabajo en los subprocesos también mejorará mucho. Web Assembly está avanzando y les permite a los desarrolladores hacer eso, y creo que ese es el futuro del ecosistema web.