Momento destacado de la comunidad de GDE: Nishu Goel

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

Monika Janota
Monika Janota

Nishu en el escenario.

Nishu Goel es un ingeniero web reconocido de la India, Google Developer Expert para Angular y tecnologías web, y Microsoft Most Valuable Professional. Es autora de Step by Step Angular Routing (BPB, 2019) y A Hands-on Guide to Angular (Educative, 2021), así como del capítulo de JavaScript del Web Almanac 2021. Actualmente, 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 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 Ciencias de la Computación, estudiamos estructuras de datos y ahí comenzó mi interés en la programación. Durante el tercer año de ingeniería, establecí una conexión con la comunidad de desarrolladores a través de mi participación en la competencia nacional de Microsoft Imagine Cup, en la que presentamos soluciones a través 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 algunas personas muy inspiradoras, tanto participantes como organizadores, en este viaje.

En 2018, mi carrera profesional despegó 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, comencé a escribir entradas de blog y a crear contenido sobre el tema en el que estaba trabajando y aprendiendo . Dhananjay Kumar me ayudó a comenzar este viaje y se aseguró de que no me saliera del camino. En mis primeros artículos, abordé los conceptos básicos de Angular. Poco después, comencé a dar charlas en eventos, el primero de los cuales fue ngNepal, la conferencia de Angular de Nepal. Esto generó más invitaciones para hablar sobre Angular y tecnologías web.

Nishu y otras personas de ng-india.

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

Nishu: Durante los primeros dos años, todo se centró en Angular y los componentes web. Usaba Angular para compilar 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í es como 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 demo en un proyecto de React. Hablé de esto en algunas de mis charlas y presentaciones más adelante. Mi próximo trabajo requería el uso de React y Typescript. Ahora, como trabajaba 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 el Largest Contentful 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 que tardará la página en renderizarse. He estado trabajando para elegir las prácticas recomendadas y mejorar el rendimiento de las aplicaciones.

Debido a este interés en el rendimiento web, me involucré en el Web Almanac y escribí el capítulo de JavaScript. Web Almanac es un informe anual sobre el estado de la Web en general, que nos indica cómo las personas usan 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 correctamente, cuántos no los usan en absoluto y cuántos los mejoraron en comparación con 2020. En el último informe de Web Almanac, se mencionó que alrededor del 35% de los sitios web usaban dos atributos en la misma secuencia de comandos, lo que era un patrón antipatrón que disminuía el rendimiento. Esto se señaló el año pasado y, este año, intentamos ver si la situación mejoraba. También hablé en ngConf y Reliable Dev Summit, donde me enfoqué en el rendimiento de la Web.

Edición impresa del Almanaque Web.

Monika: También te involucras mucho en retribuir a la comunidad. Últimamente, has estado trabajando como voluntario en 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 informó sobre la oportunidad de voluntariado con YIYA. La ONG ugandesa buscaba ingenieros que los ayudaran con la preparación del contenido o las funciones técnicas. El objetivo del programa es empoderar a los niños en edad escolar de Uganda y ofrecerles oportunidades educativas con las tecnologías disponibles a nivel local, no computadoras ni libros de texto, sino radios y teléfonos básicos con teclado. Los niños marcaban un número determinado y recibían un conjunto de información, marcaban otro para obtener más estadísticas, y así sucesivamente. Se volvió aún más útil durante la pandemia.

Como siempre me he involucrado con la comunidad y los objetivos de desarrollo sostenible, decidí comunicarme con ellos. Después de una reunión con el equipo de YIYA, les ofrecí mi ayuda con las secuencias de comandos de Python o cualquier error que encontraran, o cualquier problema con el portal. Trabajamos juntos durante un período breve.

Monika: ¿Cuáles son tus planes para 2022? ¿Te estás enfocando en algo 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. Seguiré enfocándome en el área del rendimiento web, ya que es muy interesante y compleja, y hay mucho que comprender y optimizar. Incluso ahora, después de dedicarle mucho tiempo, aún hay mucho por aprender. Por ejemplo, me gustaría comprender 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. Creo que, poco a poco, me estoy acercando a ese objetivo :)

Monika: Mencionaste que empezaste a escribir en un momento en el que no eras experta, solo escribías lo que estabas aprendiendo. ¿Qué consejo les darías a los desarrolladores nuevos que sienten que no tienen nada para compartir?

Nishu: Así es exactamente como me sentí cuando comencé a escribir. Pensé que tal vez no debería publicar esto. ¿Tal vez sea incorrecto? Me preocupaba que mi escritura no fuera a ayudar a los lectores. Pero lo importante era que mi escritura me ayudaba. Me olvidaba de cosas después de un tiempo y luego volvía a algo que había escrito antes. Escribir tus ideas es una gran idea.

El libro Enrutamiento de Angular en una tabla.

Por lo tanto, mi sugerencia es que escriban, en cualquier etapa. Incluso si solo terminaste una parte de un curso, estás aprendiendo cuando lo escribes. La información que obtuviste en algún momento puede ser útil para otras personas que aún no la conocen. No es necesario que seas un experto. La escritura te ayudará. Y para cualquier persona, en cualquier etapa de su carrera.

Monika: Es mejor seguir a personas que acaban de aprender algo porque saben todo lo que tuvieron que averiguar. Una vez que eres un experto, es difícil recordar cómo era cuando eras nuevo. ¿Tienes algún consejo para alguien que recién se inicia en el desarrollo web?

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

Luego, aprovecha cualquier oportunidad que se te presente. Esto me sucedió cuando encontré información sobre el Almanaque Web mientras buscaba autores. Pensé: "Esto es interesante, podría ayudar a todos con el rendimiento". Así es como me convertí en líder de contenido del capítulo de JavaScript y pasé seis meses escribiéndolo. Creo que 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 del momento? ¿Qué crecerá rápido?

Nishu: Me encanta que ahora podamos ejecutar servidores en navegadores. Es un gran avance. Por ejemplo, recientemente se introdujo la ejecución de Node.js desde el navegador. En el pasado, no podíamos ejecutar nada sin tener Node.js instalado en nuestros sistemas. Ahora podemos hacer lo que queramos desde el navegador. Este es un gran paso adelante en el ecosistema web. Y el OMT (fuera del subproceso principal). También se mejorará mucho el trabajo en los subprocesos. Web Assembly está avanzando y permite que los desarrolladores hagan eso, y creo que ese es el futuro del ecosistema web.