Hitech logo

Кейсы

Дмитрий Майоров: «Мне очень нравится делать IT-проекты, у которых есть социальная значимость»

TODO:
Алексей Корецкий5 июля 2023 г., 12:20

В 2019 году Дмитрий Майоров переехал из Челябинска в Торонто и получил место в одной из крупных IT-компаний. Сегодня сайтами, разработанными Дмитрием, пользуются миллионы человек. Он прошел путь от фрилансера из региона России до ведущего специалиста в одной из самых крупных компаний по веб-разработке в США. Мы поговорили с ним, чтобы узнать: как ему удалось проделать такой большой пусть всего за несколько лет.

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

Первый опыт работы в разработке сайтов

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

— Начну с того, что мое детство и юношество прошло в Челябинске. Здесь я учился в школе с углублённым изучением английского языка. Позже это сильно помогло мне в общении с иностранными заказчиками. После я поступил на факультет экономики и параллельно подрабатывал в дизайн-студии отца.

— У вас был интерес к дизайну?

— Да, помню, что отец привез компьютер из Великобритании, это был Mac, тогда они еще не были популярны в России, все работали на РС. Мне очень нравилось смотреть, как он работает, отец занимался созданием макетов разных брошюр и каталогов. Я часто задавал ему технические вопросы, он обучил меня основам Photoshop, Illustrator и других программ.

— Какими были ваши первые заказы в дизайн-студии?

— Первые заказы я получил как раз в дизайн-студии отца, где я занимался веб-дизайном, а другой сотрудник писал код для сайтов. Так вышло, что дедлайн для одного из заказов выпал на начало января, я сделал дизайн и передал его на разработку. Через какое-то время сотрудник перестал выходить на связь, и я остался один на один с дизайном и дедлайном. Я потратил все новогодние праздники на то, чтобы разобраться, как работает Joomla, популярная в те года CMS, и как для нее писать шаблоны. В итоге мы сдали этот сайт в срок. Таким был мой первый и случайный заказ на разработку сайта.

— Можно сказать, что с этого момента вы стали работать в веб-разработке?

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

— Что еще помогало вам расти в профессии?

— Сам процесс работы. Кстати, именно с этим сайтом у меня был первый опыт c серьезным багом в продакшене. Стоимость квартир вычислялась путем деления общей стоимости на количество квадратных метров, по неопытности я не проверял тип данных стоимости квадратного метра. Неполадка произошла, когда клиент в окошке цены поставил вместо числа слово «договорная». Разумеется, сайт просто упал после этого с сообщением «Fatal error» потому что делить 90 метров на «договорная» нельзя. Я очень хорошо выучил этот урок на живом сайте.

— Находили ли вы клиентов вне студии-дизайна?

— Примерно с того момента стал находить клиентов из Москвы и разрабатывать сайты для них. Параллельно с этим я начал создавать готовые шаблоны сайтов для WordPress и продавать их в интернете. Один из таких шаблонов купил основатель студии в Лос-Анджелесе, с которым я вскоре стал работать. Это был один из ключевых моментов, повлиявших в дальнейшем на мой переезд в Канаду и работу с клиентами Fortune 500.

Участие в международных конференциях

— В какой-то момент вы начали выступать на конференциях. Что побудило вас к этому?

— После сотрудничества с иностранными клиентами меня стали приглашать на конференции WordCamp, где я выступал с презентациями на тему веб-разработки. Я выступал в Москве, Филадельфии, в Лондоне, в Париже, Нэшвилле.

— О чем были ваши доклады?

— В основном я делился опытом разработки шаблонов, как на продажу, так и для клиентов. Я довольно много времени потратил на то, чтобы разобраться в том, как писать код «правильно». Например, я мог потратить несколько дней на написание навигации для шаблона, который могли бы использовать пользователи с ограниченными возможностями здоровья. Своими докладами я хотел помочь тем, кто, как и я, тратил дни и недели на то, что можно было сделать за пару часов. Мне близки слова Криса Койера: «Write the article you wish you found when you Googled for it».

— Вы также организовывал конференции в Москве, верно?

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

Публикации в журналах

— Что побудило тебя начать писать статьи для журналов? 

— Мои статьи логически перетекали из выступлений. Такой формат позволил выйти за пределы конференций и распространить знания на большую аудиторию. Мне хотелось делиться находками, особенно, когда получалось решить какую-то сложную проблему. Я хотел наглядно показать, как приходил из точки А в точку Б. Так, например, когда в WordPress обновился редактор, документации для него было мало, а та что была — недостаточно полно рассказывала как использовать API для расширения функционала, а задача моего проекта как раз была такой. Я просидел с ней несколько дней, так появилась статья A Crash Course in WordPress Block Filters. Она до сих пор на первой странице в поисковой выдаче по запросу how to extend core blocks in WordPress.

— Где можно прочесть твои статьи?

— Я написал несколько статей для CSS Tricks и VC.ru. По сути, вся индустрия в веб-разработке построена на том, что кто-то один что-то решил, поделился этим, и потом это используется дальше. Если специалисты перестанут делиться опытом, то индустрия не будет развиваться. Открытия и наблюдения, в том числе в веб-разработке, двигают современный процесс.

Проекты, реализованные в Rareview

— С чего началась твоя работа в Rareview?

— На тот момент у них были довольно маленькие заказы на разработку сайтов, компания больше занималась веб-дизайном и маркетингом. Когда мы начали работать вместе, я стал постепенно выстраивать процессы разработки внутри компании. Это помогло закрывать проекты быстрее. Через некоторое время Rareview получило статус партнера c WordPress VIP, что помогло выйти на более крупных заказчиков.

— Расскажи про свой первый проект в Rareview.

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

— Какой проект был следующим?

— Мы сделали приложение системы выкладки товара для компании Recreation Equipment, Inc. (REI), это одна из самых крупных американских корпораций розничной торговли и услуг для отдыха на природе.  Это был один из первых по-настоящему крупных корпоративных заказов. Я отвечал за разработку от первой встречи с клиентом и до запуска. Проект занял примерно полгода. Мы полностью переделали устаревшее приложение, внедрили корпоративную дизайн-систему, сделали его удобным для мобильных устройств, оптимизировали время загрузки. Сейчас нашим приложением пользуются в каждом магазине REI в США.

— Каких результатов ты добился на Rareview?

— В компании Rareview от фрилансера я дошел до должности lead frontend-разработчика.

Работа в компании 10up

— Как ты попал в 10up?

— Они меня сами нашли и пригласили. Я получил письмо от HR-специалиста компании, и после нескольких коротких собеседований мне сделали предложение перейти к ним в команду. Я не сразу согласился, потому что мне нравилось работать с Rareview, и у нас были хорошие отношения с СЕO.

— С чего началась твоя работа в 10up?

— В компании 10up сразу заметили, что у меня есть опыт lead-разработчика. Есть ребята, которые открывают лэптоп и просто выполняют поставленные им задачи, не обращая внимание на цель проекта, сроки ее выполнения. В первую очередь я всегда старался смотреть на то, чего мы хотим достичь благодаря этому проекту, смотреть на общую цель работы, а не просто закрывать тикеты, предлагал свои решения более подходящие тому или иному проекту. Сотрудников с таким подходом замечают и помогают расти. Через шесть месяцев мне дали повышение, и ещё через восемь последовало второе.

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

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

— Как тебе работа в команде? Сложно было переориентироваться?  

— Когда ты фрилансер из Челябинска, то чаще всего всю работу делаешь сам. Когда руководишь разработкой проекта для Fortune 500 клиента с многомиллионным бюджетом, с тобой работает команда. Нужно не только разбираться в технической части, но и очень хорошо знать своих коллег. Понимать кому какую задачу лучше дать, кому подсказать подход к решению и сделать несколько проверок по ходу, а кого лучше не отвлекать. Пожалуй, этот аспект самый сложный в работе.

— Твои обязанности сегодня? 

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

Награды

— Твои проекты удостаивались множества наград. Расскажи о них?

— Да, у меня было удовольствие работать над несколькими проектами, которые получили признание и заслуженные награды. Одним из таких проектов был проект для стартапа Sweetworks, где я сотрудничал с командой Rareview. Наш веб-сайт, предоставляющий сервис по обслуживанию автомобилей, был удостоен престижной награды Standard of Excellence Award от The Web Marketing Association. Этот проект имел такой большой успех, что привлек внимание корпорации Bosch, которая приобрела стартап. К сожалению, после приобретения корпорация решила закрыть проект, так как разрабатывала схожий сервис. Это была необычная история. Также, вместе с командой Rareview, мы выиграли несколько наград за нашу работу над проектом для одного из самых старейших фестивалей США, известного как Sawdust. Наш проект был отмечен несколькими наградами от CSS Design Award и СSS Winner.

Кроме того, в рамках команды 10up у нас также есть впечатляющий список призовых проектов. Один из самых значимых достижений был получен командой за разработку веб-сайта WhiteHouse.gov, за что нам была присуждена награда Webby от Международной академии цифровых искусств и наук. Это проект, на который мы очень гордимся.

Судейство

— Ты входишь в совет судейства нескольких премий. Расскажи о них подробнее.

— Да, в 2019 меня пригласили вступить в ассоциацию AIVA (The Academy of Interactive & Visual Arts). Эта ассоциация руководит тремя конкурсами: W3 Awards, Communicator Award, и Davey Award. Члены ассоциации являются судьями этих конкурсов. Я уделяю больше фокуса W3, потому что это непосредственно моя специальность, но и у Davey и Communicator тоже есть категория «Сайты и Web-приложения», которые я сужу.

Об IT-индустрии

— Каким ты видишь дальнейший процесс развития индустрии?

— С появлением искусственного интеллекта (ИИ) появилось очень много страхов, например, заменит он нас или нет. И за этим очень интересно наблюдать. Мне кажется, что в ближайшие пять лет никто не заменит непосредственно frontend-разработчиков. Но frontend-разработчики, использующие ИИ в решении своих задач, заменят тех, кто его не использует.

— Пользуешься ли ты искусственным интеллектом в своей работе?

— Конечно, уже сейчас есть приложения, как Github Co-pilot, которые с помощью искусственного интеллекта подсказывают разработчику код, который подходит в конкретный момент. Выглядит это довольно устрашающе, потому что кажется, что компьютер читает твои мысли. Иногда эти подсказки подходят на 100%, иногда нужно что-то отредактировать, но сам факт того, что не нужно всё писать вручную, сильно сохраняет время. Работа с искусственным интеллектом —  не будущее, это давно уже настоящее, которого, на мой взгляд, не стоит бояться, а использовать все возможности, которые он даёт.

— Как ты видишь свое будущее в индустрии? 

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