Аргументы Недели → Хайтек 13+

Дмитрий Майоров о пути становления и тенденциях в разработке

, 14:28

Дмитрий Майоров о пути становления и тенденциях в разработке

Дмитрий Майоров обладатель таких наград как: Webby, Standard of Excellence Award, Star Award. Он работает ведущим Front-End разработчиком в компании 10up уже три года. Дмитрий рассказал о том, как пришел к профессии, а также о трендах и тенденциях в разработке.

Дмитрий Майоров о пути становления и тенденциях в разработке

Дмитрий, расскажите о том, почему вы решили заниматься разработкой?

Я не интересовался разработкой с детства, однако меня всегда привлекала работа отца — владельца типографии и студии дизайна. В компании родителей я впервые попробовал себя в полиграфии и дизайн-индустрии. Затем я получил серьезную травму: упал с велосипеда и сломал спину. На восстановление мне требовалось около полугода, которые я потратил на изучение основ разработки. Так по воле случая я пришел к тому, чем занимаюсь по сей день.

Можете поделиться принципами, благодаря которым вам удалось добиться успеха?

Я думаю, что как только ты начинаешь считать, что добился успеха, о прогрессе можно забыть, потому что ты перестаешь учиться и развиваться. Работа для меня — путь без конечной точки. Но я могу поделиться тем, что помогло мне попасть на ту позицию, на которой я сейчас нахожусь. Во-первых, понимать, что код и программирование сами по себе никому не нужны, акцентировать внимание на задаче и исходя из нее планировать решения. Во-вторых, работать над проектом так, будто тебе заплатили за него в два раза больше: превосходить ожидания клиента и выполнять задачи вдумчиво. Так и заказчик будет доволен, и ты как профессионал будешь расти. В-третьих, создавать код таким образом, чтобы его мог понять и другой специалист. Когда работаешь в крупной компании, а не на фрилансе, гораздо важнее выстроить систему для других разработчиков, чем самому программировать. Даже если ты единственный исполнитель проекта, нужно все равно писать код таким образом, чтобы, если к нему присоединились другие специалисты, они смогли его легко понять.

С какими сложностями вы столкнулись в начале карьерного пути и как удалось их преодолеть?

Главная трудность в том, что у меня не было ментора, который бы дал ответы на вопросы. Поэтому получение всех необходимых мне знаний отняло у меня больше времени, чем хотелось бы.

Для Rareview вы создали проекты REI Co-op Visual Merch App, 131 Method by Chalene Johnson, WGN America, SWEETWORKS by Bosch. Расскажите подробнее о проекте 131 Method by Chalene Johnson. В чем его суть и какова ваша в нем роль?

Шалин Джонсон — предприниматель и эксперт в области здоровья и фитнеса, которая известна благодаря онлайн-курсам и подкастам. Один из них — 131 Method — является полноценной программой по здоровому образу жизни, которая охватывает многие аспекты: правильное питание, физическую активность и гармонию в отношениях с собой и своим телом. Rareview получила заказ на разработку платформы для этого онлайн-курса, который включал много уникальных требований. Например, содержание курса должно было разблокироваться в зависимости от даты набора учащихся.

Из-за всех этих сложностей использование готовых LMS систем оказалось проблематичным. Наша команда разработчиков создала кастомную платформу, которая полностью удовлетворяла потребности заказчика. В проекте занимался разработкой пользовательского интерфейса и создании архитектуры клиентской части. Также я отвечал за обеспечение доступности и кросс-браузерности приложения. Этот проект был сложным, но в то же время очень интересным. Было волнительно наблюдать за тем, как в первые дни на курс записались несколько десятков тысяч человек.

Расскажите и о проектах REI и WGN, что входило в ваши обязанности во время работы над ними, с какими трудностями вы столкнулись и как их преодолели?

REI - это крупнейший американский бренд товаров для активного отдыха. В рамках этого проекта я работал над приложением для сотрудников компании, которое предоставляло подробные инструкции по правильной выкладке продукции на прилавки. К сожалению, оно не соответствовало дизайн-системе и плохо функционировало на мобильных устройствах. Наша задача заключалась в разработке нового приложения и внедрении дизайн-системы Cedar.

Было несколько трудностей: мы решили использовать WordPress для нашего проекта, и основной сайт компании находился в той же мультисайтовой сети. Мне потребовалось время, чтобы согласовать работу двух команд.

Помимо этого, у нас были очень агрессивные сроки - всего 3 или 4 месяца. Для решения этих задач мы разбили работу на фазы, использовали современные фреймворки, разработали новый дизайн, опираясь на принципы Cedar, и запустили проект и запустили проект. Мы также активно взаимодействовали с заказчиком, чтобы внести необходимые корректировки. Мне помог мой предыдущий опыт работы над подобными проектами, так как я мог использовать накопленные знания и наработки.

Клиент остался очень доволен результатом, и сейчас наше приложение используется в каждом магазине сети.

WGN — телевизионная станция в США, которая сейчас известна как NewsNation. Я занимался обновлением сайта компании до переименования в NewsNation.

Предыдущая версия сайта устарела и не отвечала требованиям доступности и производительности. В результате, уровень отказов (bounce rate) был довольно высоким. Кроме того, обновление сайта было сложным процессом.

Основной задачей компании Rareview было разработать новую дизайн-систему для основного сайта компании, улучшить производительность и добавить расписание телепередач на сайт. Все это вместе должно было снизить уровень отказов.

Я был главным разработчиком на этом проекте, и моя основная задача заключалась в соблюдении очень агрессивного графика проекта и обеспечении высокого качества работы.

Основной трудностью было то, что одним из требований было запустить несколько ключевых страниц с новым дизайном, а затем начать вторую фазу проекта, в которой мы работали над остальными страницами. Из-за ограниченного времени нам пришлось выполнять фазу дизайна и разработки почти параллельно. Мы создали базу ключевых компонентов, необходимых для обновления первых трех страниц, и приступили к разработке, пока команда дизайнеров продолжала работу над остальными страницами и компонентами.

Работа над страницей расписания также была непростой. Я разработал решение, которое собирало данные из нескольких API и кэшировало их на некоторое время. Это позволило достичь быстрой загрузки страницы расписания и снизить уровень отказов на этой странице на 8%.

Сможете подробнее рассказать о тенденциях развития в вашей сфере?

Моя индустрия и сфера — это фронтенд-разработка: создание интерфейсов, внешнего вида сайтов. В ней могу выделить такие тенденции: JavaScript продолжает быть главным языком в веб-разработке, React находится на первом месте, Vue.js и AngularJS на втором и третьем. Развитие искусственного интеллекта оказало сильное влияние на индустрию. СhatGPT и приложения наподобие Github Copilot значительно упрощают работу. Разработчики, которые не используют ИИ точно будут уступать тем, кто использует. Еще одна тенденция на стыке дизайна и фронтенд-разработки: сильное продвижение CSS. Многое, что мы раньше могли делать с помощью JavaScript, сегодня создаем именно на CSS. Например, когда я только начинал писать сайты и нужно было сделать скругленные углы, мне приходилось использовать иллюстрации в png, сегодня этого делать не нужно. Также и с анимациями — благодаря нативным возможностям CSS создать их сегодня гораздо проще.

В чем вы видите основную специфику работы на иностранном рынке?

Если честно, мне тяжело сравнивать, потому что у меня было не так много клиентов с российского рынка. Однако, могу выделить несколько особенностей, которые отметил за время работы: скорость принятия решений, ожидания от меня — всегда были выше именно в работе с иностранными клиентами.

Какие советы вы могли бы дать начинающим разработчикам?

Если бы у меня была возможность путешествовать во времени, я бы отправился на 10 лет назад и дал совет самому себе: не начинай сразу с фриланса, а попробуй устроиться в агентство или компанию, где работают опытные разработчики. Мне было довольно сложно самостоятельно осваивать все аспекты профессии, так как у меня не было наставника или команды, которые могли бы поделиться базовыми знаниями.

Не забывайте уделять внимание основам, таким как HTML, CSS и JavaScript. Когда вы освоите эти языки, изучение новых фреймворков и инструментов будет намного проще, так как они базируются на этих основах.

Также важно не застревать на неудачах и ошибках, и помнить, что вы — не только ваш код. Иногда лучше отложить сложную задачу и вернуться к ней на следующий день, поскольку решения часто приходят сами собой, когда мы отдыхаем и отдаем мозгу время для обработки информации.

Подписывайтесь на «АН» в Дзен и Telegram