Нишу Гоэл — известный веб-инженер из Индии, эксперт Google Developer по Angular и веб-технологиям. Она рассказала нам о своем участии в сообществе, карьерных планах и лучших способах изучения веб-разработки.
Нишу Гоэл — известный веб-инженер из Индии, эксперт Google по разработке Angular и веб-технологиям, самый ценный профессионал Microsoft. Она является автором книг «Шаг за шагом Angular Routing» (BPB, 2019 г.) и «Практическое руководство по Angular» (Educative, 2021 г.), а также автором главы «Веб-альманах 2021, посвященной JavaScript». В настоящее время Нишу работает в epilot GmbH инженером полного цикла. Она рассказала нам о своем участии в сообществе, карьерных планах и лучших способах изучения веб-разработки.
Моника : Давай начнём с твоей истории. Что вдохновило вас стать разработчиком и играть активную роль в сообществах разработчиков?
Нишу : Я получил степень бакалавра в области компьютерных наук, мы изучали структуры данных, и именно здесь начался интерес к программированию. На третьем году разработки связь с сообществом разработчиков была установлена благодаря моему участию в конкурсе Microsoft Imagine Cup Nationals, где мы представляли решения посредством кода. Идея созданного нами приложения заключалась в том, чтобы предоставить местным студентам, особенно девочкам, возможности получения образования. В этом путешествии я встретил несколько очень вдохновляющих людей, как участников, так и организаторов.
В 2018 году моя профессиональная карьера пошла в гору, и я начал работать с Angular. Angular стал основной технологией, которая связала меня с программой GDE. Примерно в то же время я начал писать сообщения в блоге и создавать контент по теме, над которой работал и изучал. Дхананджай Кумар помог мне начать это путешествие и помог мне не сбиться с пути. Мои первые статьи посвящены основам Angular. Вскоре после этого я начал выступать на мероприятиях, первым из которых была ngNepal, Непальская конференция Angular. Это привело к увеличению количества приглашений с докладами об Angular и веб-технологиях.
Моника : Каков ваш профессиональный опыт в сфере технологий?
Нишу : Первые два года все было посвящено Angular и веб-компонентам. Я использовал Angular для создания Интернета, но вскоре решил выйти за рамки этого и изучить другие области. Я не хотел ограничивать себя на случай, если мне придется сменить проект. Именно так я начал создавать веб-компоненты в Angular для использования в других фреймворках.
Первое, что я сделал, — это создал веб-компоненты с помощью Angular. Я опубликовал его в npm и использовал в качестве демонстрации в проекте React. Позже я обсуждал это во время некоторых своих выступлений и презентаций. Моя следующая работа требовала использования React и Typescript. Теперь, поскольку я работал с React, я больше не использовал один фреймворк, а использовал Интернет в целом. В тот момент я многое узнал о сети, особенно о веб-производительности. Именно тогда мне пришлось задуматься о крупнейшей отрисовке контента (LCP) или первой отрисовке контента (FCP) , что означает, сколько времени потребуется вашему приложению для загрузки или какое максимальное время будет для рендеринга страницы. Я работал над выбором лучших практик и повышением производительности приложений.
Из-за этого интереса к веб-производительности я принял участие в веб-альманахе и написал главу о JavaScript . Веб-альманах — это ежегодный отчет о состоянии сети в целом. Он рассказывает нам, как люди используют различные функции. В прошлом году было проверено 8,6 млн веб-сайтов, данные проанализированы и представлены в отчете. Отчет включает статистику, такую как использование атрибутов async
и defer
в элементе <script>
. Сколько веб-сайтов используют их правильно, сколько не используют вообще и сколько улучшили их по сравнению с 2020 годом. В последнем отчете Веб-альманаха упоминается, что около 35% веб-сайтов использовали два атрибута в одном и том же скрипте , что является -паттерн, снижающий производительность. На это указывали еще в прошлом году, и в этом году мы попытались посмотреть, улучшится ли ситуация. Я также выступал на ngConf и Reliable Dev Summit, где сосредоточился на производительности Интернета.
Моника : Вы также активно участвуете в оказании помощи сообществу. В последнее время вы работали волонтером в угандийской неправительственной организации YIYA. Как это началось и в чем заключалась суть этого сотрудничества?
Нишу : Все началось с того, что команда GDE сообщила нам о возможности волонтерства в YIYA. Угандийская НПО искала инженеров, которые помогли бы им с подготовкой контента или техническими характеристиками. Целью программы является расширение прав и возможностей детей школьного возраста в Уганде и предложение им возможностей получения образования с использованием технологий, доступных на местном уровне – не компьютеров или учебников, а, скорее, простых телефонов с клавиатурой и радиоприемников. Дети набирали определенный номер и получали набор информации, набирали еще один, чтобы узнать больше, и так далее. Во время пандемии это стало еще полезнее.
Поскольку я всегда был связан с общественностью и целями устойчивого развития, я решил обратиться к нам. После встречи с командой YIYA я предложил свою помощь со скриптами Python или любыми обнаруженными ими ошибками, любыми проблемами с порталом. Мы работали вместе недолго.
Моника : Какие у тебя планы на 2022 год? Есть ли что-то, на чем вы фокусируетесь особенно?
Нишу : Я меняю работу и переезжаю в другую страну. Я буду работать над Интернетом в целом, улучшая производительность сайта, а также над серверной частью, используя Golang. Я продолжу уделять особое внимание вопросам веб-производительности, поскольку это очень интересно и сложно, и нужно многое понять и оптимизировать. Даже сейчас, посвятив этому много времени, мне еще многому предстоит научиться. Например, мне бы хотелось понять, как использование CDN для моих ресурсов изображений поможет мне сделать мое приложение еще быстрее. Я хочу стать экспертом по веб-производительности — я постепенно приближаюсь к этому, мне хочется верить :)
Моника : Вы упомянули, что начали писать в тот момент, когда вы еще не были экспертом, вы просто писали то, что изучали. Что бы вы посоветовали новым разработчикам, которые приходят и чувствуют, что им нечем поделиться?
Нишу : Именно это я и почувствовал, когда начал писать. Я подумал, что, может, не стоит это выкладывать? Может быть, это просто неправильно? Я волновался, что мое письмо не поможет читателям. Но важно было то, что то, что я писал, помогало мне. Через какое-то время я что-то забывал, а затем возвращался к тому, что написал ранее. Записывать вещи — отличная идея.
Поэтому я бы предложил всем — просто писать, на любом этапе. Даже если вы прошли только одну часть курса, который проходите, вы учитесь, записывая ее. Часть информации, которую вы когда-либо узнали, может оказаться полезной для тех, кто еще этого не знает. Вам не нужно быть экспертом. Письмо вам поможет. Причём любой, на любом этапе своей карьеры.
Моника : Лучше всего следить за людьми, которые только что что-то узнали, потому что они знают все, что им нужно было выяснить. Став экспертом, трудно вспомнить, каково было, когда вы были новичком. Какой совет для тех, кто только начинает заниматься веб-разработкой?
Нишу : Многие люди спрашивают, какую структуру им следует выбрать, когда они начинают, но я думаю, что это неправильный вопрос. Все, что мы изучаем в любой момент, должно быть полезно и на более позднем этапе. Я бы посоветовал любому отказаться от ограничений и начать с HTML или JavaScript — это принесет прибыль в будущем.
А затем используйте любую возможность, которая появится на вашем пути. Это случилось со мной, когда я наткнулся на информацию о Веб-альманахе, ищущем авторов. Я просто подумал: «О, это интересно, это может помочь всем с точки зрения производительности». Так я стал руководителем главы по JavaScript и потратил шесть месяцев на ее написание. Так что я думаю, что нужно просто использовать возможности и усердно работать.
Моника : Есть ли у вас какие-либо прогнозы или идеи о будущем веб-технологий в целом? Какая будет следующая горячая тема? Что будет быстро расти?
Нишу : Мне нравится тот факт, что теперь мы можем запускать серверы в браузерах, это большое достижение. Например, недавно появилась возможность запуска Node.js из браузера, тогда как раньше мы не могли ничего запускать без установки Node.js в наших системах. Теперь мы можем делать что угодно из браузера. Это огромный шаг вперед в веб-экосистеме. И OMT — вне основной нити. Работа с потоками также будет значительно улучшена. Веб-сборка развивается и позволяет разработчикам делать это, и я думаю, что это будущее веб-экосистемы.