Momento destacado de la comunidad de GDE: Nishu Goel

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

Monika Janota
Monika Janota

Nishu en el escenario.

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

Monika: Comencemos con tu historia. ¿Qué te inspiró a convertirte en desarrollador y asumir un rol activo en las comunidades de desarrolladores?

Nishu: Obtuve mi licenciatura en Informática, estudiamos estructuras de datos y empezó el interés por la 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, en especial a las niñas. Conocí a personas muy inspiradoras, tanto concursantes como organizadores, en este recorrido.

En 2018, despegó mi carrera profesional y comencé a trabajar con Angular. Angular se convirtió en la tecnología principal que me conectó con el programa de GDE. Al mismo tiempo, empecé a escribir entradas de blog y a crear contenido sobre el tema en el que estaba trabajando y aprendiendo . Dhananjay Kumar me ayudó a iniciar este recorrido y se aseguró de que me mantuviera en el camino correcto. En mis primeros artículos, abordamos los conceptos básicos de Angular. Al poco tiempo, comencé a hablar en los eventos, el primero fue ngNepal, la Conferencia Angular de Nepal. Esto dio lugar a más invitaciones para oradores sobre Angular y tecnologías web.

Nishu y otras personas de ng-india.

Monika: ¿Cuál es tu experiencia profesional en términos de tecnología?

Nishu: Durante los primeros dos años, todo se centró en Angular y los componentes web. Utilizaba Angular para crear la Web, pero pronto decidí ir más allá y explorar otros campos. No quería limitarme en caso de que tuviera que cambiar de proyecto. Así empecé 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 mencioné el tema en algunas charlas y presentaciones posteriores. Mi próximo trabajo debía usar React y Typescript. Ahora, como estaba trabajando con React, ya no solo usaba un framework, sino la Web en general. En ese momento, aprendí mucho sobre la Web, en especial sobre el rendimiento web. Fue entonces cuando tuve que empezar a pensar en Largest Contenful Paint (LCP) o First Contentful Paint (FCP), que indica cuánto tiempo tardará en cargarse tu aplicación o cuál será el tiempo máximo para que se renderice la página. Trabajé para elegir las prácticas recomendadas y mejorar el rendimiento de las aplicaciones.

Debido a este interés en el rendimiento web, participé en el Almanac Web y escribí el capítulo de JavaScript. Web Almanac es un informe anual sobre el estado de la Web en general. Nos indica cómo las personas utilizan las diferentes funciones. El año pasado, se analizaron 8,6 millones de sitios web, y los datos se analizaron y 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 los usan de forma correcta, cuántos no los usan en absoluto y cuántos los mejoraron en comparación con 2020. El último informe de Almanac web mencionó que alrededor del 35% de los sitios web utilizaron dos atributos en la misma secuencia de comandos, que era un antipatrón, lo que disminuyeba el rendimiento. Esto se señaló el año pasado, y este año tratamos de ver si la situación mejoró. También hablé en ngConf y en Reliable Dev Summit, donde me enfoqué en el rendimiento de la Web.

Edición impresa del Almanaque Web

Monika: También participas mucho en retribuir a la comunidad. Últimamente, estuviste trabajando como voluntario de una ONG ugandesa YIYA. ¿Cómo comenzó y cuál fue el objetivo principal de esa cooperación?

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

Como siempre he participado en la comunidad y con los objetivos de desarrollo sustentable, decidí comunicarme contigo. Después de una reunión con el equipo de YIYA, ofrecí ayuda con las secuencias de comandos de Python o con los errores que se les habían ocurrido, así como con cualquier problema con el portal. Trabajamos juntos durante un período breve.

Monika: ¿Cuáles son tus planes para 2022? ¿Hay algo en lo que te enfoques en particular?

Nishu: Cambiaré de trabajo y me mudaré a otro país. Trabajaré en la Web en general, mejorando el rendimiento del sitio, y también en el backend, con Golang. Continuaré concentrándome en el área del 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 encantaría entender cómo el uso de una CDN para mis recursos de imagen 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 de manera gradual, me gusta creer :)

Monika: Mencionaste que comenzaste a escribir cuando no eras experta, solo estabas escribiendo lo que estabas aprendiendo. ¿Qué consejo les darías a los nuevos desarrolladores que llegan y sienten que no tienen nada para compartir?

Nishu: Eso es exactamente lo que sentí cuando comencé a escribir. Pensé que tal vez no debería publicar esto. ¿Puede que esté mal? Me preocupaba que mi escritura no ayudara a los lectores. Pero lo importante era que lo que escribía me ayudaba. Olvidaba algo después de un tiempo y, luego, volvía a algo que escribí antes. Escribir todo es una gran idea.

El libro Angular Enrutamiento sobre una tabla.

Así que les sugeriría a todos: solo escriban, en cualquier etapa. Aunque solo hayas terminado una parte del curso que estás completando, estás aprendiendo por escrito. La información que conociste en algún momento puede ser útil para otras personas que aún no lo saben. No necesitas ser experto. Escribir te ayudará. Y cualquier persona, en cualquier etapa de su carrera.

Monika: Lo mejor es seguir a las personas que acaban de aprender algo porque saben todo lo que deben descifrar. Una vez que eres un experto, es difícil recordar cómo era cuando eras nuevo. ¿Y algún consejo para alguien que recién está comenzando a usar el desarrollo web?

Nishu: Muchas personas se preguntan qué marco de trabajo deberían elegir cuando comienzan, pero creo que esa no es la pregunta correcta. Todo lo que estemos aprendiendo en algún momento también debería ser útil en una etapa posterior. Les aconsejaría a todos que dejen de lado las limitaciones y comiencen con HTML o JavaScript, ya que eso será rentable en el futuro.

Y, luego, aproveche cualquier oportunidad que se le presente. Esto me ocurrió cuando me topé con la información sobre el Almanaque Web en busca de autores. Solo pensé: “Es interesante, esto podría ayudar a todos en cuanto al rendimiento”. Así es como me convertí en líder de contenido del capítulo de JavaScript, y pasé seis meses escribiendolo. 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é crecerá rápido?

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