Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. Результатами беседы делимся с вами. Со стороны Хекслета в разговоре участвовали преподаватель вёрстки Никита Михайлов и редактор Дмитрий Дементий.
Дмитрий Дементий: Вадим, расскажи пожалуйста о себе — кто ты, чем занимаешься.
Вадим Макеев: Я фронтендер, энтузиаст разных стандартов и веб-платформы в целом, любитель всего открытого и свободного, но не слишком линуксоид. Мы тут посчитали, что сообществу «Веб-стандарты» в этом году будет 15 лет, и все эти 15 лет я его развиваю. Я много где работал и много чем занимался в течение этих 15 лет, но постоянно занимался сообществом.
Это можно назвать сквозной деятельностью, «Веб-стандарты» проходят сквозь всё в качестве моего главного проекта. Хотя изначально не было таких планов, мы просто тусовались с друзьями.
Около четырёх лет я работал в HTML Академии, в январе этого года закончил работать. До этого лет семь работал в браузере Opera, представлял его в России для сообщества разработчиков. Перед этим успел поработать в «Яндексе», LiveJournal и других компаниях.
Вот такой у меня путь: сначала разработчик, потом DevRel, сейчас занимаюсь и образованием, и технологиями, и другими вещами, о которых ещё поговорим.
Д. Д.: Недавно ты написал в соцсетях, что уходишь из HTML Академии. А для людей в теме ты ассоциируешься с Академией. Прямо как у Маяковского: «Мы говорим партия, подразумеваем Ленин». Можешь сказать пару слов, что дальше? Будешь заниматься обучением или хочешь погрузиться с головой в практическую разработку?
В. М.: Я проработал в HTML Академии ровно четыре года, успел сделать много интересного и полезного: программы, проекты и так далее. Теперь я подумал, что хочу заниматься чем-то в более самостоятельном режиме. Практически всю жизнь у меня была работа фултайм, компания, в которой я работаю. Задачи этой компании были моими задачами.
Но параллельно я занимался какими-то своими проектами, и их количество всё время росло. Приходилось отвлекаться, выбирать между задачами работодателя и своими проектами. Подумал, что есть вариант и возможности стать независимым специалистом.
У меня есть проекты, о которых я сейчас не говорю публично. Они кладут мне на стол хлеб с маслом в этом году. Я подумал, раз есть такая возможность, займусь этим, а по ходу дела буду выяснять, чем заниматься дальше.
Сейчас я скорее в переходном периоде, чем в состоянии «вылетел из одного гнезда, приземлился в другом». Чем буду заниматься дальше? Вряд ли займусь тем, чем занимался в HTML Академии. То есть я не буду создавать программу курса, читать лекции, разрабатывать учебные планы. Скорее всего, буду заниматься чем-то другим просто ради разнообразия.
Не думаю, что буду занят рядовым фронтендерством. Кажется, я это уже перерос, но не в том смысле, что я уже круче этого, а в том смысле, что вырос в сторону. Мне ближе и интереснее деятельность DevRel, Event-менеджера, опенсорс-контрибьютора. Мне кажется, эти вещи у меня получаются. А может уйду в видео- и аудиопродакшен. Но пока я в переходном периоде.
Д. Д.: Вадим, а образование будет присутствовать в профессиональной деятельности?
В. М.: Думаю, от этого никуда не уйти. Занимаюсь образованием примерно с 2006 или 2005 года, когда прочитал свои первые доклады, лекции. Вопрос в том, занимаюсь ли я образованием в рамках каких-то институтов или самостоятельно. Самостоятельно я продолжаю делать образовательный контент, например, снимаю видео. Вряд ли я буду писать книгу, но были мысли про подкасты, статьи. Буду помогать новичкам или тем, кто уже работает, узнавать какие-то вещи лучше.
Но полноценные учебные программы, профессии, курсы — слишком большая вещь, чтобы заниматься этим самостоятельно. Я не готов делать какие-то компании, стартапы. Если кто-то позовёт меня автором, скорее всего откажусь. Мне бы хотелось пока заняться чем-то другим, а там посмотрим.
Никита Михайлов: А тебе интереснее обучать начинающих или продолжающих, которым интересны более глубокие вопросы?
В. М.: Интереснее всего работать с начинающими, но проще работать с людьми среднего и высокого уровня. Тебе не нужно думать, как с ними разговаривать. Ты просто говоришь, как считаешь нужным.
А интереснее с новичками, потому что тебе нужно сообразить, как отбросить груз своих знаний, и всех своих травм, я бы даже сказал. Не объяснять то, что уже неактуально, что помешает новичкам понять тему. Это не все умеют.
Я часто слышу такие высказывания: «Этой технологией я не пользовался, она конечно поддерживается во всех браузерах, но я ей не доверяю». Такие люди предпочитают делать по старинке. А это «по старинке» отбрасывает новичков назад, заставляет их изучать концепции, которые уже не нужны.
Кто-то говорит, что современному фронтендеру надо уметь голыми руками собирать какой-то там микроконтроллер. Этот кто-то считает это фундаментом, без которого никуда. Кто-то говорит, что надо разобраться, как верстать на флоутах. Мол, вы же обязательно будете почтовые рассылки верстать.
А людям просто нужен современный ECMAScript, гриды и всё. Зачем усложнять, если кроссбраузерности достаточно.
С другой стороны, при работе с новичками важно суметь объяснить человеку, как строятся интерфейсы, как работает CSS. Потому что люди, которые приходят куда-то учиться, ждут мгновенного старта. У них нет тех года или полутора лет, за которые я в спокойном ритме, обучаясь на журфаке, въезжал в веб-разработку. Мне не нужно было срочно устраиваться на работу. Я просто развлекался, получал удовольствие. Как люди себе находят хобби, так и я нашёл.
Не у всех новичков сегодня есть такая возможность. Многие хотят за полгода найти работу. Безусловно, не у всех это получается. Обучение занимает чуть больше времени. И на рынке есть петля с условным названием «чтобы устроиться, нужен опыт работы, но где взять опыт, если без него на работу не берут».
Н. М.: А ты не следишь за выпускниками HTML Академии, которые прошли через тебя? Или ты просто вёл занятия?
В. М.: Следить за выпускниками сложно. Когда ты заходишь в чат и видишь там 700 человек, сложно проследить за всеми. Я читал лекции, разрабатывал программы, отвечал на вопросы во время и после лайвов. А связью со студентами у нас всегда занимались наставники, кураторы и другие люди. У этих людей была возможность не просто ответить на вопрос студента, а разобраться в сути этого вопроса.
Авторы в Академии занимаются другим. Но я отхожу от этого. До мая читаю лайвы в профессии, которая сейчас идёт, но как приходящий автор, который не разрабатывает программы. Просто помогаю ребятам доделать то, о чём я договорился. Академия идёт дальше и я иду дальше.
На позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать: об обучении новичков
Д. Д.: Хотелось бы поговорить об обучении новичков фронтенду, у тебя здесь большой опыт. Как ты думаешь, кем должен быть идеальный преподаватель вёрстки или фронтенд-разработки: практикующим разработчиком, «чистым» преподавателем, или он должен так или иначе сочетать практическую разработку и преподавание?
В. М.: Допускаю, что можно организовать процесс обучения так, что преподаватель будет приходящим. Он будет читать лекции, участвовать в программе, а рядом с ним будет работать условный методист или соавтор, который будет заниматься основной частью работы.
То есть я допускаю модель, в которой практикующий разработчик работает не full time, а занимается курсом part time, тратит на обучение студентов треть рабочего времени. Сам я в такой схеме не участвовал. Я четыре года работал в Академии в режиме full time. Но модель с part time занятостью может существовать, это такой компромисс.
Когда в Академию искали авторов, всегда требовали, чтобы у человека был хороший практический опыт. Это должен быть senior. Но этот человек должен быть заинтересован в том, чтобы рассказывать, показывать, развивать и продвигать других людей. Мне кажется, чтобы быть успешным преподавателем, разработчику скорее нужны качества тимлида.
Что касается практического опыта, я допускаю, что если разработчик уходит на фултайм в образование, он будет проседать. Вам никто не даст времени и возможностей разрабатывать, работать плотно с командой, вести серьёзные проекты, если у вас есть другая задача. Это тормозит развитие разработчика.
Я знаю, что многие люди приходят в образование и уходят именно поэтому. То есть они приходят, работают, потом вспоминают, что давно не разрабатывали и уходят. Или наоборот — senior устаёт от ежедневных галер и приходит в другое место. Я не могу назвать его более спокойным. Просто здесь другие вызовы, другие потоки.
Если резюмировать, на позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать. Было бы классно, если бы школы практиковали ситуации, где фронтендер — part time автор. Это помогало бы такому автору не терять связь с реальностью. Если разработчик перестаёт практиковаться, он теряет связь с отраслью. И это негативно влияет на качество образования.
Есть образование, а есть практика. Как бы школы не рассказывали, что учат на практике, это не практика, а всё равно какая-то условность. Не вижу в этом ничего плохого, потому что в такой ситуации, в игре, обучение работает лучше всего.
То есть нужен гибрид преподавателя и практикующего разработчика. Вопрос в том, как его делать: разрешить разработчикам участвовать в обучении part time или смириться с тем, что люди будут заходить и выходить.
Н. М.: Вадим, а как ты в Академии четыре года поддерживал свои навыки? Пытался брать на себя дополнительные проекты, или может тебе помогали поддерживать профессиональный уровень твои подкасты?
В. М.: Строго говоря, я пришёл в Академию уже не разработчиком. В Opera Software я занимался DevRel. То есть я уже не был fulltime-разработчиком, который каждый день пилит продукт.
Чтобы не терять связь с реальностью, я постоянно занимаюсь какими-то собственными проектами, которые держат меня и мои навыки в тонусе. Я интересуюсь новыми технологиями, фреймворками, периодически прохожу курсы, которые меня интересуют.
Кстати, можно по-разному оставаться в курсе того, что происходит. Можно углубиться в какой-то стек и работать в компании 5 лет на этом стеке. Мой подход немного отличается. Я знаю поменьше, но про большее.
Я много читаю, пишу много новостей, поэтому у меня другой взгляд на вещи. Мне кажется, такой подход полезен в образовании, потому что здесь важно подсказать студенту не конкретный набор техник для конкретного проекта, а объяснить, как устроена вся платформа, как устроен рынок, какие есть требования, задачи.
Я был предрасположен к образовательной деятельности, потому что уже широко смотрел на отрасль. И я всегда был специалистом с широким взглядом, хотя иногда углублялся в какие-то вопросы, например, в доступность, производительность и так далее.
В целом продолжаю писать код каждый день, мне это дико интересно. Я всегда был скорее разработчиком интерфейсов, чем программистом. Мне это гораздо интереснее, поэтому продолжаю заниматься этим. Мне интересны дизайн, типографика, UX так же, как интересен фронтенд. Благодаря этому я актуален.
Д. Д.: Если перенестись в идеальный мир и попытаться построить лучшую систему обучения вёрстки, как она должна выглядеть? Как был бы организован процесс обучения в идеальной с твоей точки зрения школе, какой была бы среда обучения, программа? Вопрос глобальный, но по основным вехам можно пройтись.
В. М.: Я не видел много школ изнутри. По сути, это только Академия и какие-то курсы, в которых я сам участвовал как студент из интереса. Всех моделей я не знаю. Но если попытаться придумать свою с нуля, это безусловно должна быть имитация рабочего процесса. В этот процесс должны быть включены все типичные инструменты взаимодействия: системы контроля версий, социальный кодинг, системы организации пакетов типа npm, условные доски Trello.
То есть нужно использовать процессы, которые приучают студента к тому, с чем он будет работать дальше. Важно, чтобы у студента не было ощущения, что ему показали тренажёр, в котором он слева пишет код, а справа видит интерфейс, цвета и текст. Важно, чтобы не было ни малейшего подозрения, что именно так всё и будет. Чтобы человек как можно раньше получал в руки профессиональные инструменты.
Да, задачи будут упрощённые. Да, ты не слишком глубоко узнаешь инструменты. Но ты с самого начала будешь понимать, как всё устроено в реальной разработке. Задачи тоже должны быть близкими к реальности — не гипотетическими, а практическими. Чтобы ты с первых шагов делал какой-то интерфейс. Чтобы у тебя всегда были менторы, наставники, просто коллеги, с которыми можно обсуждать рабочие вопросы. Чтобы группа, с которой ты учишься, включала столько людей, сколько включает какая-то команда.
Мне кажется, такая схема повторяет то, к чему ты на самом деле готовишься. А дальше можно вводить нюансы. Я уже говорил, что нужно учить студентов ультрасовременным технологиям. Это как издают книги. Например, в ноябре 2020 года на всех книгах, которые печатаются в типографиях, уже стоит 2021 год. Потому что когда эти книги довезут до магазинов, люди не захотят покупать прошлогодние книги. То же самое со студентами. Их нужно учить ультрасовременным вещам, потому что когда они придут на рынок, ситуация уже поменяется.
Фронтенд очень быстро развивается. По крайней мере, вечнозелёным браузерам, сегодняшним и вчерашним, нужно учить. А это сложно, потому что где ты найдёшь на рынке столько преподавателей, которые разбираются в современных технологиях? Они умеют работать под IE 11 и поддерживать старые браузеры на старых технологиях. А студентам по-честному надо преподавать что-то новое и свежее. В разных типах компаний разный подход к созданию интерфейсов и разные задачи. Но нужно собирать по отрасли информацию и преподавать современные технологии.
Мне кажется, я впервые формулирую модель идеальной школы, поэтому спасибо за вопрос.
Д.Д.: Я правильно услышал, что практика должна идти впереди всего, что прежде всего надо ориентироваться на практику?
В. М.: Да. Просто когда вы решаете какую-то практическую задачу, важно объяснять, почему так. В этом месте приходит теория, спецификация, какой-то фундамент, который люди запоминают, понимают, откуда берутся источники знаний. Что не просто кто-то сказал, что нужно делать так, а в документе написано об этом. Мотивация изначально должна быть глубоко практической, в этом я уверен.
Д. Д.: При желании верстать может научиться каждый, или верстальщику нужны какие-то способности, предрасположенность, черты характера? Если да, то какие?
В. М.: Я бы не хотел никому ставить дополнительных барьеров. На пути к вёрстке, к разработке интерфейсов и так достаточно барьеров. Всё-таки это дело пока неестественное, всё-таки общество вокруг меня пока недостаточно цифровое, компьютерное, погружённое в IT, чтобы можно было легко переключиться во фронтенд. Общество всё ещё достаточно аналоговое и традиционное, поэтому барьеров очень много.
Если говорить про какие-то личные качества, мне кажется, что скрупулёзность, интерес к мелочам, аккуратизм безусловно важны. Усидчивость, желание и умение разобраться тоже играют важную роль. Фронтендер — это в некотором роде часовщик, в некотором роде инженер, человек, который готов разбираться с особенностями, решать челленджи, обеспечивать совместимость, ограничения.
Важно понимать, что инженеры-фронтендеры — это не физики-ядерщики, которые не думают о потребителях своей энергии, условно говоря, если они работают на атомной электростанции. Это скорее люди, которые делают машины, интерфейсы к ним. Поэтому огромную роль играет эмпатия. То есть с точки зрения технологии важны скрупулёзность, внимательность, инженерный склад ума. С другой стороны, очень важны эмпатия, интерес к человеку, способность понимать, что людям нужно и так далее. Без эмпатии вы можете стать программистом, но не разработчиком интерфейсов.
Завершая мысль, если вы не чувствуете в себе ничего из того, что я перечислил, забудьте, что я говорил, и всё равно пробуйте. Возможно, я сказал ерунду.
С интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем: о перспективах и развитии HTML и CSS
Н. М.: Вадим, я хочу немного отвлечься и пройтись по техническим вопросам. Вокруг нас становится больше новых интерфейсов, например, VR (виртуальная реальность) и AR (дополненная реальность). Это как-то повлияет на работу фронтендеров, верстальщиков в ближайшее время?
В. М.: Вокруг меня не появляется ни дополненная, ни виртуальная реальность. Я не вижу этого. Все мы поиграли, у всех закружилась голова, и все сказали, что это классно. А зачем это, никто не понимает.
Я пока не вижу перспектив, связанных с интерфейсами, пока мы не разберёмся с проблемами на аппаратном уровне, пока не сделаем так, чтобы всё работало хорошо. Чтобы наши устройства стабильно выдавали 120 fps, тогда поговорим про массовые интерфейсы.
Сейчас даже технологий не так много, хотя некоторые компании вкладываются в их развитие. Они пытаются встраивать в очки виртуальной реальности бра��зеры, пытаются делать фреймворки, с помощью которых создаются интерфейсы для виртуального мира.
Есть попытки, но они в зачаточном состоянии. Скорее всего все эти спецификации перепишут ещё раза три-четыре, прежде чем они получат массовое распространение. Пока есть только идея и есть фантастические фильмы. Мы только нащупываем, зачем это нужно и как это создавать. До фронтенда, до нормального интерфейса ещё далеко. Рано сейчас говорить всем покупать очки виртуальной реальности и разрабатывать для них интерфейсы. Никто не знает, как.
Да, хочется делать какие-то футуристические вещи. Но я не футурист, я больше о том, как сделать хорошо то, что есть сейчас. Это интереснее и практичнее.
Н. М.: У нас пользовательский опыт мало меняется, но меняются подходы, которые используют разработчики. Например, CSS всё расширяется. В черновиках уже появились слои (layers). Интересное решение для изоляции и грамотной каскадности. Уже давно ведётся речь о вложенности селекторов. Каких нововведений ждёшь ты и что бы ты хотел видеть в нативном CSS?
В. М.: Мне очень понравилась идея Мириам Сюзанн — слои каскада. Более того, у этого специалиста есть ещё несколько интересных черновиков. В частности, там есть инструменты для изоляции стилей, организации модульности и так далее.
Я интересуюсь идеями, которые эволюционно развивают CSS. Потому что я жду от веба обратной совместимости, как и большинство разумных людей. Благодаря ей не нужно будет ничего переписывать с нуля. То есть я не хотел бы терять огромные объёмы информации и совместимость ради того, чтобы фронтендерам было удобно завтра что-то разрабатывать.
Так что в CSS я жду решения задач, которые формировались последние лет 5. Это модульность как главный тренд. Она позволяет написать стили для конкретного компонента так, чтобы они не утекали наружу. Есть Shadow DOM, есть декларативный Shadow DOM, есть спецификации, которые предполагают, что стили не утекают за пределы какой-то директивы.
Ещё одна спецификации, которую предлагает Мириам Сюзанн — возможность подключать разные библиотеки с разными указаниями и обозначать, какой код специфичнее. И, конечно же, это выражения от контейнеров, которые позволяют в тренде этой модульности менять стили, опираясь не на ширину окна, а на размеры конкретного элемента. Это предложение в работе, им занимаются ребята из Chrome и просто независимые специалисты.
Если есть ощущение, что CSS никуда не движется и всё пропало, это не так. Там очень много всего варится. Если говорить о каких-то синтаксических вещах, например, о вложенности как в препроцессорах, удобных селекторах, кое-что из этого внедряется. Появляются not, has, is. Да, это здорово. Хотя я давно слез с Sass, у меня нет потребности в какой-то глубокой вложенности, в создании каких-то очень сложных деревьев.
То есть по синтаксическим вещам я не скучаю. А вот фундаментальные вещи жду: изоляцию стилей, выражения от контейнера, управление каскадом. Я с интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем, а не за теми, которые чуть-чуть подкрашивают опыт разработки. Для этого есть препроцессоры.
Нам надо помогать своим опытом и кейсами разрабатывать вещи, которые принципиально меняют разработку, потому что есть уже слишком много альтернатив — CSS-in-JS, атомарный CSS и так далее. Эти альтернативы просто выбрасывают существующий CSS в окно и говорят, что теперь мы пишем стили иначе. А мне бы не хотелось, чтобы что-то выбрасывали в окно. Мне бы хотелось, чтобы CSS развивался, и для этого есть все перспективы.
Н. М.: Не кажется ли тебе, что нативный CSS всё больше приближается к возможностям препроцессоров? Наступит ли ситуация, когда пре- пост-процессоры будут не нужны?
В. М.: Здесь всё происходит так, как развивается веб в целом. Сначала в вебе не было видео, использовали Flash. Сначала не было Java-апплетов, потом они появились. Создатели веб-платформ смотрят по сторонам, видят у разработчиков новые задачи и находят новые способы решать эти задачи, стандартизируют их. То же самое происходит с CSS.
Нужно понимать процессы. Представьте, что вы работаете над проектом, у которого 6 млрд пользователей. Цена ошибки — вашей технологией никто не будет пользоваться. Она приведёт к каким-то проблемам, и ей никто не будет пользоваться.
Мы сталкиваемся с ситуациями, когда стандарты появляются, ими никто не пользуется, и приходится всё откатывать. Это потерянные время и деньги. Поэтому стандарты разрабатываются медленно, с оглядкой на существующие решения. Мне нравится схема, когда кто-то сделал полифил, кто-то препроцессор, кто-то транспилятор, а стандарты своей спокойной поступью, учитывая интересы всех сторон — браузеров, компаний, разработчиков, постепенно внедряются.
Так же развивается CSS. Переменные из препроцессоров стали кастомными свойствами. Они стали глубже и круче. Разработчики сильно хотят вложенность? Есть спецификация. CSS развивается очень логично и правильно.
Н. М.: Мы в разговоре несколько раз затрагивали тему браузеров, ты начинал с того, что работал в Opera. И в Twitter у тебя написано, что ты эксперт Chrome. Ты входишь в это комьюнити? Можешь рассказать, что там происходит?
В. М.: Есть инициатива, которая называется Google Developer Expert. По сути, это сообщество людей, которых Google считает экспертами. Внутри есть подразделения, например, эксперты по Android, вебу, Flutter и так далее.
Мне предложили стать экспертом по вебу. Я вошёл в группу людей, которые регулярно о чём-то публично рассказывают, ведут подкасты, пишут статьи. Эти люди чуть поближе к командам, которые внедряют новые возможности в Chrome.
С ними периодически созваниваются, заранее рассказывают о технологиях, показывают, собирают фидбек. Это можно назвать ближним кругом разработчиков, с которым делятся инсайдами.
Н. М.: В последнее время инструменты разработчика различных браузеров обросли множеством возможностей для верстальщиков. Ты следишь за этим? Как это может изменить процесс обучения и разработки? Сообщество в разработке этих возможностей принимает участие?
В. М.: Ребята, которые занимаются инструментами для разработчиков, внимательно следят за их актуальностью. Они смотрят, чтобы дефолтный браузер был максимально удобным для разработчиков. Несмотря на то, что все фронтендеры разрабатывают кроссбраузерно, тестируют вёрстку в разных браузерах, у тебя есть какой-то основной браузер, которым ты пользуешься каждый день.
Конечно, разработчики браузеров хотят, чтобы их продукты был популярным не только среди обычных пользователей, но и среди разработчиков. Естественно, все хотят привлекать разработчиков возможностями DevTools. На самом деле, для этого не нужна помощь сообщества. Достаточно проводить опросы, внимательно следить за статьями и фидбеком от разработчиков. У Google Developer Experts ещё не было созвонов по поводу DevTools, но я думаю, эту тему когда-то будут обсуждать с экспертами.
В целом ребята делают всё правильно, я слежу за релизами инструментов для разработчиков. Должен сказать, что DevTools в Chrome, Firefox и Safari развиваются своими путями. Я вижу, что они конкурируют. Кто-то реализовал новую возможность первым, и разработчики видят, что этот браузер стал удобнее. Это очень интересный способ конкурировать за узкую прослойку аудитории, которая имеет мощные инструменты влияния.
Мне нравится, как Firefox выкатывает инструменты для тестирования шрифтов, гридов, доступности. А Chrome, у которого бюджеты больше, понимает, что забыл об этом. Но он начинает навёрстывать, и в ближайшие полгода или год появляются похожие реализации.
Так же поступает и Firefox: смотрит на своего главного конкурента Chrome, видит интересные инструменты и решает внедрить свои интересные решения. С Safari совсем другая история. Они работают в стиле «мы себе на уме, мы сделаем красивый интерфейс, а если внутри не будет каких-то возможностей, ничего страшного».
За этим интересно наблюдать, я вижу конкуренцию за умы разработчиков. Но всё-таки есть монополия в мире браузеров для пользователей и браузеров для разработчиков. Конечно же, основные тренды задаёт Chrome, а всем остальным приходится догонять. Поэтому нельзя говорить о полноценной конкуренции, в рамках которой браузеры обмениваются мощными репликами-решениями.
Периодически Firefox и Safari позволяют себе интересные выпады, интересные эксперименты, но не так ярко и громко, как это делает Chrome. Но в целом за этой конкуренцией интересно наблюдать, и она работает на пользу вебу в целом и разработчикам в частности.
Н. М.: Недавно вышел стандарт WCAG 3.0. Это одно из важнейших событий 2021 года в области доступности. Что он привнёс и как это повлияет на разработку новых продуктов?
В. М.: Всё не совсем так, стандарт не вышел. Это просто публичный анонс первого черновика гайдлайнов по доступности. Стандартом он станет года через три в лучшем случае. Это непростой документ, он используется как, например, международные стандарты ISO. Их используют в законодательных инициативах, когда какие-то сайты, интерфейсы должны быть доступными по закону, иначе... Тут можно получить штрафы и судебные иски.
Поэтому такие документы, в частности, WCAG 2.1.1 (текущая версия), разрабатываются долго. И из-за этого обстоятельства он немного устарел. Это главное его отличие от WCAG 3.0, черновика, который никто не воспринимает как руководство к действию. Если вам интересна эта тема, можно почитать статью «Что нового в WCAG 3.0».
Главное отличие в том, что область действия этого гайдлайна расширяется. Раньше он касался только веба, а теперь распространяется на все интерфейсы. Создатели гайдлайна хотят решить более сложную задачу: убедиться, что сайты, веб-приложения, нативные приложения и все интерфейсы в любой спинке кресла в самолёте доступны по параметрам, которые пытаются сформулировать в р��мках этой спецификации.
Это очень сложная задача. Я уже видел недовольных людей в сообществе доступности. Естественно, это только начало пути, спецификация будет меняться. Но в целом задачи приятные и интересные. Там меняются критерии оценки: сейчас это A, AA, AAA, но будет бронзовый, серебряный уровень. По-моему, такие параметры. Меняется способ оценки интерфейса.
На мой взгляд, рядовому разработчику прямо сейчас не нужно бросаться и изучать WCAG 3.0. Скорее я бы рекомендовал узнать, что существует WCAG 2, почитать его. Потому что он сейчас применим, актуален и важен.
Новичкам всё ещё сложно стартовать: о рынке труда
Д. Д.: Вадим, теперь хотелось бы поговорить о рынке труда. Ждёт ли рынок труда начинающих верстальщиков? На что может рассчитывать новичок, который окончил курсы — позиция, зарплата, перспективы?
В. М.: Я не эйчар, передо мной нет списка открытых вакансий, чтобы ловко рассуждать про цены, востребованность и необходимые навыки. Здесь лучше посмотреть на исследования крупных ресурсов, которые специализируются на поиске и предложениях работы.
Могу сказать только то, что всё ещё есть сложности для новичков, им трудно стартовать. Мне регулярно пишут в личку и в чатах, что есть барьер между тем, что ты чему-то научился и начал работать.
Крупные компании и школы пытаются решать этот вопрос. Например, я знаю, что в топовых компаниях, которые обучают фронтендеров, есть эйчары, которые работают с выпускниками, пытаются помочь им правильно составить резюме, правильно подавать себя и договариваться с компаниями.
В той же самой Академии есть Лига А, в которой всех выпускников после определённого уровня ставят в очередь, и они постепенно получают опыт коммерческой разработки. Я бы не сказал, что это массовое явление, которое может помочь всем.
Нам всё ещё нужна гибкость на уровне компаний, чтобы все они принимали стажёров, интернов, приглашали людей на летнюю практику. Это нужно, чтобы не разогревался рынок, чтобы не было кадрового голода, конкуренции между компаниями, переманивания сотрудников.
Кстати, компании тоже делают буткэмпы, школы, в которые набирают условно 50 человек, из которых 10 человек устраиваются на работу в этой компании, а 40 человек уходит с каким-то опытом, приближенным к реальной разработке. Но это делают единицы: «Яндекс», Mail.Ru, X5 что-то такое анонсировал. Частенько они целятся в разработчиков уровня middle и senior.
В общем, новичкам сложновато, и у меня нет магического решения. Могу только ещё раз напомнить компаниям: берите новичков, доверяйте им, растите тех людей, которые будут делать ваши интерфейсы. Вы немного вложитесь сейчас, и у вас появятся руки, головы, преданные хорошие сотрудники, которые знают, как вы устроены изнутри.
Д. Д.: Мы очень часто сталкиваемся с вопросами о возрасте — и наш эйчар, которые работает с выпускниками, и преподаватели, и наставники. В связи с этим к тебе сразу два вопроса. Первый: у тебя тоже часто спрашивают, в каком возрасте не поздно «войти в айти»? И второй: собственно, в каком возрасте не поздно изучать вёрстку с прицелом на трудоустройство? Есть ли вообще возрастной барьер для кандидатов на рынке труда?
В. М.: Мне кажется, что физический возраст не сильно влияет на востребованность человека. Скорее влияет интеллектуальный и культурный возраст. Речь о том, насколько ты готов учиться новому, насколько ты гибок, есть ли у тебя свободное время. Потому что есть навыки обучения, адаптации к новым условиям работы, у которых есть начало и есть конец. Не в смысле жёсткого начала и конца, а в смысле подъёма и спада.
Есть чисто физиологические рамки, которые мешают людям в слишком раннем возрасте правильно организовывать своё время, правильно учиться. И в слишком позднем возрасте есть рамки, которые мешают осваивать новые технологии, тратить много времени, отвлекаясь от семьи, от решения каких-то проблем.
Но мне кажется, это не должно становится барьером, если человек готов учиться, если у него гибкое время и он готов посвятить себя новой профессии, тут никаких особых рамок нет. Просто надо попробовать. Надо не сомневаться — а получится ли у меня, достаточно ли я взрослый или не слишком ли старый, а пробовать.
Просто идти на какие-то курсы, пробовать, смотреть, читается ли, понимается ли. Есть ли базовая компьютерная грамотность, чтобы всё это понимать. Если есть, если получается, то какая разница, какого пола, цвета или возраста человек, который делает вам хорошие интерфейсы?
Другое дело, что кому-то будет сложно взлететь в профессии с верстальщика до архитектора. Естественно, быстрые карьерные взлёты — это признаки молодости и горячности. А если вам нужно найти профессию, которая приносит деньги, какая разница, сколько вам лет?
Д. Д.: Вадим, ты говоришь, что в слишком раннем и слишком позднем возрасте тяжело. Будем какие-то границы обозначать? Нам, например, один человек писал, что ему 23 года и уже поздновато учиться. А другие люди учатся в 50 лет, успешно оканчивают и устраиваются на работу. Есть какие-то реальные границы?
В. М.: Лично я начал заниматься IT поздновато. Мне было лет 18, когда начал заниматься какими-то компьютерными технологиями. До этого не было собственного компьютера. Вижу, как люди в 19 лет работают на пятой работе и знают всё, что я знаю сейчас.
То есть каких-либо границ я бы не проводил. Специально в начале подчеркнул, что есть интеллектуальный возраст. Если человек рано повзрослел, если у него был классный опыт, книги, возможность учиться IT рано, то возраст не будет помехой. То же самое с более поздним возрастом.
Обстоятельства, в которых вы находитесь, гораздо важнее физического возраста. Если у вас есть свободное время, возможность этим заниматься, у вас получается, то есть нет чисто физиологических сложностей с восприятием новой информации, учёбой, способностью сосредотачиваться, какие могут быть границы?
Только психологические. А с этим надо заглянуть к психологу, и это не шутка. Если вы понимаете, что у вас какие-то проблемы, которые не дают вам сделать важные шаги, загляните к специалисту. Он убедит вас, что с вами всё в порядке.
Д. Д: Что должен знать и уметь новичок после курсов, чтобы устроиться на работу верстальщиком?
В. М.: На самом деле, нужны очень разные верстальщики. Вижу компании, которым нужны специалисты, которые верстают под WordPress и подключают jQuery-плагины, или просто работают с Photoshop и верстают страницы. И вижу компании, которым нужно, чтобы специалист знал React, Redux и вообще был fullstack. И их называют новичками, это фантастика, конечно.
Тут сложно что-то рекомендовать кроме изучения фундаментальных вещей. Если вы знаете фундамент, то разберётесь с нюансами. Рекомендовал бы всем разобраться с уровнем абстракций ниже, чем пишут в вакансиях. Там никто не пишет, что вам нужно знать HTML и CSS, хотя без этого никуда.
Все требуют знания конкретного фреймворка, на котором компания разрабатывает, и конкретный препроцессор, на котором она пишет. Это всё надстройки над технологиями. Поэтому могу рекомендовать изучать фундаментальный технологии: HTML, CSS, JavaScript, графика, редакторы как основу, с которой можно двигаться дальше.
Не рекомендовал бы углубляться в конкретный стек, потому что компании меняются, в связи с чем вам придётся снова и снова изучать что-то новое. Понять, чем отличается статическая страница у вас на компьютере от Single Page Application, которое развёрнуто на сервере — это важно и нужно. Потрогать современные фреймворки, посмотреть, как они работают — да. Но это скорее расширение кругозора, чем идеальные знания какого-то условного React.
Представьте, что приходите на работу, а там не React, а Angular или Vue. Можно сказать, что вы ничего не понимаете. А можно разобраться в JavaScript, понять, как всё работает и двигаться дальше. Технологии приходят и уходят, а фундамент остаётся.
Наверное, здесь можно и работодателям рекомендовать смотреть на фундаментальные знания. Не пытайтесь искать идеального кандидата, лучше ищите людей, у которых есть основы и которые готовы учиться.
Д. Д.: Вадим, как ты считаешь, ребята из России, Украины, Беларуси, Казахстана и других стран постсоветского пространства востребованы на международном рынке труда? Может ли верстальщик со знанием английского языка найти работу в иностранной компании или брать заказы на Upwork и других биржах?
В. М.: Не вижу никаких принципиальных несовместимостей с международным рынком труда, кроме знания языка. Есть культурные особенности, которым нужно обучиться. В русскоязычной культуре принято несколько иначе общаться, поэтому бывают сложности, я сам с этим сталкивался.
Возможно, рабочие процессы могут отличаться. Но в целом с точки зрения стека технологий наше сообщество вполне конкурентоспособное. Регулярно вижу подтверждения этому. Многие друзья и знакомые уезжают или просто ездят поработать в другие страны. И они востребованы.
Во-первых, это особенность отрасли. В мире не так много людей, которые хорошо разбираются в IT. Во-вторых, если ты начал заниматься IT, ты востребован. Не могу сказать, что в наших просторах какая-то супер крутая школа. Мы скорее пытаемся придумать что-то на ходу. У нас индустрия образования во фронтенде начала формироваться лет 5 назад. До этого фундаментальное образование было не очень качественным, все учились на практике.
Не могу сказать, что у нас есть какая-то особая инженерная культура во фронтенде. Она есть в других отраслях. Тем не менее мы востребованы, я это вижу. Любой специалист уровня middle или senior может рассчитывать на позицию где-нибудь в Европе. С релокейтом и неплохими перспективами.
Д. Д.: А как ты относишься к фрилансу? Востребованы ли верстальщики-фрилансеры? И где лучше стартовать новичку: в компании или на бирже фриланса?
В. М.: Я никогда всерьёз не фрилансил, но моё нынешнее состояние очень близко к фрилансу, хотя я не принимаю заказы, не состою на каких-то биржах.
Мне сложно что-то советовать новичкам, тут есть полярные точки зрения. Но всё-таки поделюсь своей: лучше начинать в команде, чем индивидуально, потому что в начале карьеры нужен плотный обмен опытом.
Даже если это виртуальная команда, которая формируется для конкретного проекта на фриланс-бирже, всё равно это будет опосредованное общение, менее плотное и менее ценное для вас.
Лучше начинать в команде, где вы будете смотреть за плечо человеку, он будет ревьюить ваш код и так далее. Другое дело, что это может быть виртуальная команда, но всё-таки команда, которая работает над своим продуктом, над общими заказами в течение какого-то времени.
Потом, когда вы научитесь организовывать своё время, когда сумеете написать себе хорошее резюме, поработаете с каким-то количеством проектов, тогда сможете попробовать фриланс. Например, можно снизить нагрузку на работе и попробовать позаниматься фрилансом. Но всё-таки это не должен быть первый шаг в карьере.
Это лично мой взгляд, возможно, я не прав. Но всё-таки мне кажется, что в начале карьеры важно получить опыт от коллег — не только технический, но и командный, организационный.
Д. Д.: Что кроме вёрстки нужно прокачивать верстальщикам, чтобы оставаться востребованными специалистами и расти?
В. М.: Мне кажется, в нашей отрасли есть определённые особенности. Это не просто список «было бы хорошо, если бы вы...». Здесь скорее речь идёт о списке «если вы не делаете этого, то быстро потеряете актуальность».
В веб-разработке всё быстро развивается. Недавно в подкасте «Веб-стандарты» мы обсуждали книги, которые опубликовало одно издательство. Мы смотрим на книги по фронтенду — читать их заголовки просто смешно. Смотрим на книги по бэкенду — нормальные и актуальные книги, хотя изданы в одно время с книгами по фронтенду. Это всё объясняет.
Теперь советы. Нужно активно интересоваться тем, что происходит: новости, релизы браузеров, новые стандарты. Надо всё пробовать, щупать. То есть быть очень близко к краю развития, который всё-время растёт.
Нужно посвящать какое-то время на работе внедрению нового, посвящать какое-то личное время инновациям, чтобы оставаться актуальным. Я не говорю, что в профессии нечего делать без подобных навыков. Если вы хотите заниматься на работе работой, а дома отдыхать — вперёд, это нормально. Но чтобы повышать квалификацию, развиваться, нужно постоянно интересоваться новым.
Чуть раньше я говорил про английский язык как международный язык общения. Это очень важно, без этого сложно читать первоисточники. А на русский язык их переводят поздно. Или, к сожалению, переводят ерунду. Или поздно и плохо переводят ерунду.
Если мы говорим конкретно о вёрстке, разработке интерфейсов, здесь есть важная особенность — вы работаете на стыке дисциплин. Хотя это можно сказать про любую профессию.
Фронтендер играет интеграционную роль, поэтому для него важны т-образные навыки. Он должен крепко разбираться в программировании, понимать, как работает JavaScript, окружение, сборки, пайплайны доставки контента и так далее.
Плюс фронтендер должен разбираться в интерфейсах, чтобы пользователям его продукта было удобно, хорошо, доступно. Нужно разбираться в инструментах графики, в типографике. Поэтому поглядывайте на смежные области.
Но это не единственное условие существования в профессии, а шаги, которые можно сделать, чтобы в ней расти. Если вы доросли и хотите сфокусироваться на семье, на своём маленьком бизнесе, на том, чтобы отдыхать и путешествовать, вперёд. А шаги, которые я раньше порекомендовал, помогут вам двигаться дальше на работе.
Д. Д.: Вадим, спасибо большое за интересные ответы! Думаю, наши читатели получили очень много полезной информации.
Н. М.: Спасибо, Вадим!
В. М.: Я сам сформулировал для себя много нового. Поэтому с радостью соглашаюсь на подобные интервью. Иногда тебе задают вопрос, а ты не понимаешь, почему раньше об этом не задумывался. Или думаешь, что ты об этом думаешь, и пробуешь сформулировать. Сегодня я сформулировал несколько хороших вещей, поэтому вам тоже спасибо.
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 18:20:32 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="YeRbw2cfaAgswY0T0wxl_z0Ag0fxFaPkoBNcFSQtja-ONZD0lWHFaJqCqYvfA5WI_Qmu7fkiXUYd88ZBdipqwQ";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым</title>
<meta name="description" content="Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков.">
<link rel="canonical" href="https://ru.hexlet.io/blog/posts/intervyu-s-vadimom-makeevym">
<meta property="og:title" content="Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым">
<meta property="og:description" content="Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. ">
<meta property="og:image" content="https://ru.hexlet.io/vite/assets/blog_post-7eTyeLLt.webp">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="o282x9eBdPcsNt-WWNCgUSMgutox_n3FWhTpo1yDI_RMvv3wJf_Zl5p1-w5U31Am4ymXcDnJg2fn9HP3DoTEmg" />
<script src="/vite/assets/inertia-BIn5nEMk.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<link rel="preload" as="image" href="/vite/assets/blog_post-7eTyeLLt.webp"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAzNCwicHVyIjoiYmxvYl9pZCJ9fQ==--ba516ea9573bdfcd1d21e2aa0fff8818561828f2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Typing-bro.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAwNCwicHVyIjoiYmxvYl9pZCJ9fQ==--43a2eb3595eeebb3357d478cbcb752d0026363de/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Website%20Creator-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--3b94875bb52777724a7b11b075b8891f331d8cdf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-amico.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MCwicHVyIjoiYmxvYl9pZCJ9fQ==--137ae65fe79f41b3d5270b8a3b65b38b1621c65b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-bro.png"/><link rel="preload" as="image" href="/vite/assets/development-BVihs_d5.png"/><div id="app" data-page="{"component":"web/blog/posts/show","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T18:20:32.696Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"M3ib8diUPUBUCaW8eNMAp5_VWE3w6fi4mgBAPDNeovfcqVDGKuqQIOJKgSR03PDQX9x15_jeBhon4NpoYVlFmQ","post":{"model_name":"BlogPost","category":{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},"creator":{"public_name":"Дмитрий Дементий","id":174372,"is_tutor":false},"tags":[{"id":1443,"slug":"frontend","name":"Фронтенд"},{"id":912,"slug":"veb-razrabotka","name":"Веб-разработка"}],"id":1293,"title":"Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым","slug":"intervyu-s-vadimom-makeevym","state":"published","summary":"Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. ","votes_count":33,"created_at":"2021-02-24T08:50:42.534Z","published_at":"2021-02-26T08:56:39.662Z","body":"Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. Результатами беседы делимся с вами. Со стороны Хекслета в разговоре участвовали преподаватель вёрстки Никита Михайлов и редактор Дмитрий Дементий.\n\n**Дмитрий Дементий: Вадим, расскажи пожалуйста о себе — кто ты, чем занимаешься.**\n\nВадим Макеев: Я фронтендер, энтузиаст разных стандартов и веб-платформы в целом, любитель всего открытого и свободного, но не слишком линуксоид. Мы тут посчитали, что[ сообществу «Веб-стандарты»](https://web-standards.ru/) в этом году будет 15 лет, и все эти 15 лет я его развиваю. Я много где работал и много чем занимался в течение этих 15 лет, но постоянно занимался сообществом.\n\n::programs\n\nЭто можно назвать сквозной деятельностью, «Веб-стандарты» проходят сквозь всё в качестве моего главного проекта. Хотя изначально не было таких планов, мы просто тусовались с друзьями.\n\nОколо четырёх лет я работал в[ HTML Академии](https://htmlacademy.ru/), в январе этого года закончил работать. До этого лет семь работал в браузере Opera, представлял его в России для сообщества разработчиков. Перед этим успел поработать в «Яндексе», LiveJournal и других компаниях.\n\nВот такой у меня путь: сначала разработчик, потом DevRel, сейчас занимаюсь и образованием, и технологиями, и другими вещами, о которых ещё поговорим.\n\n**Д. Д.:** **Недавно ты написал в соцсетях, что уходишь из HTML Академии. А для людей в теме ты ассоциируешься с Академией. Прямо как у Маяковского: «Мы говорим партия, подразумеваем Ленин». Можешь сказать пару слов, что дальше? Будешь заниматься обучением или хочешь погрузиться с головой в практическую разработку?**\n\nВ. М.: Я проработал в HTML Академии ровно четыре года, успел сделать много интересного и полезного: программы, проекты и так далее. Теперь я подумал, что хочу заниматься чем-то в более самостоятельном режиме. Практически всю жизнь у меня была работа фултайм, компания, в которой я работаю. Задачи этой компании были моими задачами.\n\nНо параллельно я занимался какими-то своими проектами, и их количество всё время росло. Приходилось отвлекаться, выбирать между задачами работодателя и своими проектами. Подумал, что есть вариант и возможности стать независимым специалистом.\n\nУ меня есть проекты, о которых я сейчас не говорю публично. Они кладут мне на стол хлеб с маслом в этом году. Я подумал, раз есть такая возможность, займусь этим, а по ходу дела буду выяснять, чем заниматься дальше.\n\nСейчас я скорее в переходном периоде, чем в состоянии «вылетел из одного гнезда, приземлился в другом». Чем буду заниматься дальше? Вряд ли займусь тем, чем занимался в HTML Академии. То есть я не буду создавать программу курса, читать лекции, разрабатывать учебные планы. Скорее всего, буду заниматься чем-то другим просто ради разнообразия.\n\nНе думаю, что буду занят рядовым фронтендерством. Кажется, я это уже перерос, но не в том смысле, что я уже круче этого, а в том смысле, что вырос в сторону. Мне ближе и интереснее деятельность DevRel, Event-менеджера, опенсорс-контрибьютора. Мне кажется, эти вещи у меня получаются. А может уйду в видео- и аудиопродакшен. Но пока я в переходном периоде.\n\n**Д. Д.: Вадим, а образование будет присутствовать в профессиональной деятельности?**\n\nВ. М.: Думаю, от этого никуда не уйти. Занимаюсь образованием примерно с 2006 или 2005 года, когда прочитал свои первые доклады, лекции. Вопрос в том, занимаюсь ли я образованием в рамках каких-то институтов или самостоятельно. Самостоятельно я продолжаю делать образовательный контент, например, снимаю видео. Вряд ли я буду писать книгу, но были мысли про подкасты, статьи. Буду помогать новичкам или тем, кто уже работает, узнавать какие-то вещи лучше.\n\nНо полноценные учебные программы, профессии, курсы — слишком большая вещь, чтобы заниматься этим самостоятельно. Я не готов делать какие-то компании, стартапы. Если кто-то позовёт меня автором, скорее всего откажусь. Мне бы хотелось пока заняться чем-то другим, а там посмотрим.\n\n**Никита Михайлов: А тебе интереснее обучать начинающих или продолжающих, которым интересны более глубокие вопросы?**\n\nВ. М.: Интереснее всего работать с начинающими, но проще работать с людьми среднего и высокого уровня. Тебе не нужно думать, как с ними разговаривать. Ты просто говоришь, как считаешь нужным.\n\nА интереснее с новичками, потому что тебе нужно сообразить, как отбросить груз своих знаний, и всех своих травм, я бы даже сказал. Не объяснять то, что уже неактуально, что помешает новичкам понять тему. Это не все умеют.\n\nЯ часто слышу такие высказывания: «Этой технологией я не пользовался, она конечно поддерживается во всех браузерах, но я ей не доверяю». Такие люди предпочитают делать по старинке. А это «по старинке» отбрасывает новичков назад, заставляет их изучать концепции, которые уже не нужны.\n\nКто-то говорит, что современному фронтендеру надо уметь голыми руками собирать какой-то там микроконтроллер. Этот кто-то считает это фундаментом, без которого никуда. Кто-то говорит, что надо разобраться, как верстать на флоутах. Мол, вы же обязательно будете почтовые рассылки верстать.\n\nА людям просто нужен современный ECMAScript, гриды и всё. Зачем усложнять, если кроссбраузерности достаточно.\n\nС другой стороны, при работе с новичками важно суметь объяснить человеку, как строятся интерфейсы, как работает CSS. Потому что люди, которые приходят куда-то учиться, ждут мгновенного старта. У них нет тех года или полутора лет, за которые я в спокойном ритме, обучаясь на журфаке, въезжал в веб-разработку. Мне не нужно было срочно устраиваться на работу. Я просто развлекался, получал удовольствие. Как люди себе находят хобби, так и я нашёл.\n\nНе у всех новичков сегодня есть такая возможность. Многие хотят за полгода найти работу. Безусловно, не у всех это получается. Обучение занимает чуть больше времени. И на рынке есть петля с условным названием «чтобы устроиться, нужен опыт работы, но где взять опыт, если без него на работу не берут».\n\n**Н. М.: А ты не следишь за выпускниками HTML Академии, которые прошли через тебя? Или ты просто вёл занятия?**\n\nВ. М.: Следить за выпускниками сложно. Когда ты заходишь в чат и видишь там 700 человек, сложно проследить за всеми. Я читал лекции, разрабатывал программы, отвечал на вопросы во время и после лайвов. А связью со студентами у нас всегда занимались наставники, кураторы и другие люди. У этих людей была возможность не просто ответить на вопрос студента, а разобраться в сути этого вопроса.\n\nАвторы в Академии занимаются другим. Но я отхожу от этого. До мая читаю лайвы в профессии, которая сейчас идёт, но как приходящий автор, который не разрабатывает программы. Просто помогаю ребятам доделать то, о чём я договорился. Академия идёт дальше и я иду дальше.\n\n> На позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать: об обучении новичков\n\n**Д. Д.: Хотелось бы поговорить об обучении новичков фронтенду, у тебя здесь большой опыт. Как ты думаешь, кем должен быть идеальный преподаватель вёрстки или фронтенд-разработки: практикующим разработчиком, «чистым» преподавателем, или он должен так или иначе сочетать практическую разработку и преподавание?**\n\nВ. М.: Допускаю, что можно организовать процесс обучения так, что преподаватель будет приходящим. Он будет читать лекции, участвовать в программе, а рядом с ним будет работать условный методист или соавтор, который будет заниматься основной частью работы.\n\nТо есть я допускаю модель, в которой практикующий разработчик работает не full time, а занимается курсом part time, тратит на обучение студентов треть рабочего времени. Сам я в такой схеме не участвовал. Я четыре года работал в Академии в режиме full time. Но модель с part time занятостью может существовать, это такой компромисс.\n\nКогда в Академию искали авторов, всегда требовали, чтобы у человека был хороший практический опыт. Это должен быть senior. Но этот человек должен быть заинтересован в том, чтобы рассказывать, показывать, развивать и продвигать других людей. Мне кажется, чтобы быть успешным преподавателем, разработчику скорее нужны качества тимлида.\n\nЧто касается практического опыта, я допускаю, что если разработчик уходит на фултайм в образование, он будет проседать. Вам никто не даст времени и возможностей разрабатывать, работать плотно с командой, вести серьёзные проекты, если у вас есть другая задача. Это тормозит развитие разработчика.\n\nЯ знаю, что многие люди приходят в образование и уходят именно поэтому. То есть они приходят, работают, потом вспоминают, что давно не разрабатывали и уходят. Или наоборот — senior устаёт от ежедневных галер и приходит в другое место. Я не могу назвать его более спокойным. Просто здесь другие вызовы, другие потоки.\n\nЕсли резюмировать, на позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать. Было бы классно, если бы школы практиковали ситуации, где фронтендер — part time автор. Это помогало бы такому автору не терять связь с реальностью. Если разработчик перестаёт практиковаться, он теряет связь с отраслью. И это негативно влияет на качество образования.\n\nЕсть образование, а есть практика. Как бы школы не рассказывали, что учат на практике, это не практика, а всё равно какая-то условность. Не вижу в этом ничего плохого, потому что в такой ситуации, в игре, обучение работает лучше всего.\n\nТо есть нужен гибрид преподавателя и практикующего разработчика. Вопрос в том, как его делать: разрешить разработчикам участвовать в обучении part time или смириться с тем, что люди будут заходить и выходить.\n\n**Н. М.: Вадим, а как ты в Академии четыре года поддерживал свои навыки? Пытался брать на себя дополнительные проекты, или может тебе помогали поддерживать профессиональный уровень твои подкасты?**\n\nВ. М.: Строго говоря, я пришёл в Академию уже не разработчиком. В Opera Software я занимался DevRel. То есть я уже не был fulltime-разработчиком, который каждый день пилит продукт.\n\nЧтобы не терять связь с реальностью, я постоянно занимаюсь какими-то собственными проектами, которые держат меня и мои навыки в тонусе. Я интересуюсь новыми технологиями, фреймворками, периодически прохожу курсы, которые меня интересуют.\n\nКстати, можно по-разному оставаться в курсе того, что происходит. Можно углубиться в какой-то стек и работать в компании 5 лет на этом стеке. Мой подход немного отличается. Я знаю поменьше, но про большее.\n\nЯ много читаю, пишу много новостей, поэтому у меня другой взгляд на вещи. Мне кажется, такой подход полезен в образовании, потому что здесь важно подсказать студенту не конкретный набор техник для конкретного проекта, а объяснить, как устроена вся платформа, как устроен рынок, какие есть требования, задачи.\n\nЯ был предрасположен к образовательной деятельности, потому что уже широко смотрел на отрасль. И я всегда был специалистом с широким взглядом, хотя иногда углублялся в какие-то вопросы, например, в доступность, производительность и так далее.\n\nВ целом продолжаю писать код каждый день, мне это дико интересно. Я всегда был скорее разработчиком интерфейсов, чем программистом. Мне это гораздо интереснее, поэтому продолжаю заниматься этим. Мне интересны дизайн, типографика, UX так же, как интересен фронтенд. Благодаря этому я актуален.\n\n**Д. Д.: Если перенестись в идеальный мир и попытаться построить лучшую систему обучения вёрстки, как она должна выглядеть? Как был бы организован процесс обучения в идеальной с твоей точки зрения школе, какой была бы среда обучения, программа? Вопрос глобальный, но по основным вехам можно пройтись.**\n\nВ. М.: Я не видел много школ изнутри. По сути, это только Академия и какие-то курсы, в которых я сам участвовал как студент из интереса. Всех моделей я не знаю. Но если попытаться придумать свою с нуля, это безусловно должна быть имитация рабочего процесса. В этот процесс должны быть включены все типичные инструменты взаимодействия: системы контроля версий, социальный кодинг, системы организации пакетов типа npm, условные доски Trello.\n\nТо есть нужно использовать процессы, которые приучают студента к тому, с чем он будет работать дальше. Важно, чтобы у студента не было ощущения, что ему показали тренажёр, в котором он слева пишет код, а справа видит интерфейс, цвета и текст. Важно, чтобы не было ни малейшего подозрения, что именно так всё и будет. Чтобы человек как можно раньше получал в руки профессиональные инструменты.\n\nДа, задачи будут упрощённые. Да, ты не слишком глубоко узнаешь инструменты. Но ты с самого начала будешь понимать, как всё устроено в реальной разработке. Задачи тоже должны быть близкими к реальности — не гипотетическими, а практическими. Чтобы ты с первых шагов делал какой-то интерфейс. Чтобы у тебя всегда были менторы, наставники, просто коллеги, с которыми можно обсуждать рабочие вопросы. Чтобы группа, с которой ты учишься, включала столько людей, сколько включает какая-то команда.\n\nМне кажется, такая схема повторяет то, к чему ты на самом деле готовишься. А дальше можно вводить нюансы. Я уже говорил, что нужно учить студентов ультрасовременным технологиям. Это как издают книги. Например, в ноябре 2020 года на всех книгах, которые печатаются в типографиях, уже стоит 2021 год. Потому что когда эти книги довезут до магазинов, люди не захотят покупать прошлогодние книги. То же самое со студентами. Их нужно учить ультрасовременным вещам, потому что когда они придут на рынок, ситуация уже поменяется.\n\nФронтенд очень быстро развивается. По крайней мере, вечнозелёным браузерам, сегодняшним и вчерашним, нужно учить. А это сложно, потому что где ты найдёшь на рынке столько преподавателей, которые разбираются в современных технологиях? Они умеют работать под IE 11 и поддерживать старые браузеры на старых технологиях. А студентам по-честному надо преподавать что-то новое и свежее. В разных типах компаний разный подход к созданию интерфейсов и разные задачи. Но нужно собирать по отрасли информацию и преподавать современные технологии.\n\nМне кажется, я впервые формулирую модель идеальной школы, поэтому спасибо за вопрос.\n\n**Д.Д.: Я правильно услышал, что практика должна идти впереди всего, что прежде всего надо ориентироваться на практику?**\n\nВ. М.: Да. Просто когда вы решаете какую-то практическую задачу, важно объяснять, почему так. В этом месте приходит теория, спецификация, какой-то фундамент, который люди запоминают, понимают, откуда берутся источники знаний. Что не просто кто-то сказал, что нужно делать так, а в документе написано об этом. Мотивация изначально должна быть глубоко практической, в этом я уверен.\n\n**Д. Д.: При желании верстать может научиться каждый, или верстальщику нужны какие-то способности, предрасположенность, черты характера? Если да, то какие?**\n\nВ. М.: Я бы не хотел никому ставить дополнительных барьеров. На пути к вёрстке, к разработке интерфейсов и так достаточно барьеров. Всё-таки это дело пока неестественное, всё-таки общество вокруг меня пока недостаточно цифровое, компьютерное, погружённое в IT, чтобы можно было легко переключиться во фронтенд. Общество всё ещё достаточно аналоговое и традиционное, поэтому барьеров очень много.\n\nЕсли говорить про какие-то личные качества, мне кажется, что скрупулёзность, интерес к мелочам, аккуратизм безусловно важны. Усидчивость, желание и умение разобраться тоже играют важную роль. Фронтендер — это в некотором роде часовщик, в некотором роде инженер, человек, который готов разбираться с особенностями, решать челленджи, обеспечивать совместимость, ограничения.\n\nВажно понимать, что инженеры-фронтендеры — это не физики-ядерщики, которые не думают о потребителях своей энергии, условно говоря, если они работают на атомной электростанции. Это скорее люди, которые делают машины, интерфейсы к ним. Поэтому огромную роль играет эмпатия. То есть с точки зрения технологии важны скрупулёзность, внимательность, инженерный склад ума. С другой стороны, очень важны эмпатия, интерес к человеку, способность понимать, что людям нужно и так далее. Без эмпатии вы можете стать программистом, но не разработчиком интерфейсов.\n\nЗавершая мысль, если вы не чувствуете в себе ничего из того, что я перечислил, забудьте, что я говорил, и всё равно пробуйте. Возможно, я сказал ерунду.\n\n\n> С интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем: о перспективах и развитии HTML и CSS\n\n**Н. М.: Вадим, я хочу немного отвлечься и пройтись по техническим вопросам. Вокруг нас становится больше новых интерфейсов, например, VR (виртуальная реальность) и AR (дополненная реальность). Это как-то повлияет на работу фронтендеров, верстальщиков в ближайшее время?**\n\nВ. М.: Вокруг меня не появляется ни дополненная, ни виртуальная реальность. Я не вижу этого. Все мы поиграли, у всех закружилась голова, и все сказали, что это классно. А зачем это, никто не понимает.\n\nЯ пока не вижу перспектив, связанных с интерфейсами, пока мы не разберёмся с проблемами на аппаратном уровне, пока не сделаем так, чтобы всё работало хорошо. Чтобы наши устройства стабильно выдавали 120 fps, тогда поговорим про массовые интерфейсы.\n\nСейчас даже технологий не так много, хотя некоторые компании вкладываются в их развитие. Они пытаются встраивать в очки виртуальной реальности бра��зеры, пытаются делать фреймворки, с помощью которых создаются интерфейсы для виртуального мира.\n\nЕсть попытки, но они в зачаточном состоянии. Скорее всего все эти спецификации перепишут ещё раза три-четыре, прежде чем они получат массовое распространение. Пока есть только идея и есть фантастические фильмы. Мы только нащупываем, зачем это нужно и как это создавать. До фронтенда, до нормального интерфейса ещё далеко. Рано сейчас говорить всем покупать очки виртуальной реальности и разрабатывать для них интерфейсы. Никто не знает, как.\n\nДа, хочется делать какие-то футуристические вещи. Но я не футурист, я больше о том, как сделать хорошо то, что есть сейчас. Это интереснее и практичнее.\n\n**Н. М.: У нас пользовательский опыт мало меняется, но меняются подходы, которые используют разработчики. Например, CSS всё расширяется. В черновиках уже появились слои (layers). Интересное решение для изоляции и грамотной каскадности. Уже давно ведётся речь о вложенности селекторов. Каких нововведений ждёшь ты и что бы ты хотел видеть в нативном CSS?**\n\nВ. М.: Мне очень понравилась идея Мириам Сюзанн — слои каскада. Более того, у этого специалиста есть ещё несколько интересных черновиков. В частности, там есть инструменты для изоляции стилей, организации модульности и так далее.\n\nЯ интересуюсь идеями, которые эволюционно развивают CSS. Потому что я жду от веба обратной совместимости, как и большинство разумных людей. Благодаря ей не нужно будет ничего переписывать с нуля. То есть я не хотел бы терять огромные объёмы информации и совместимость ради того, чтобы фронтендерам было удобно завтра что-то разрабатывать.\n\nТак что в CSS я жду решения задач, которые формировались последние лет 5. Это модульность как главный тренд. Она позволяет написать стили для конкретного компонента так, чтобы они не утекали наружу. Есть Shadow DOM, есть декларативный Shadow DOM, есть спецификации, которые предполагают, что стили не утекают за пределы какой-то директивы.\n\nЕщё одна спецификации, которую предлагает Мириам Сюзанн — возможность подключать разные библиотеки с разными указаниями и обозначать, какой код специфичнее. И, конечно же, это выражения от контейнеров, которые позволяют в тренде этой модульности менять стили, опираясь не на ширину окна, а на размеры конкретного элемента. Это предложение в работе, им занимаются ребята из Chrome и просто независимые специалисты.\n\nЕсли есть ощущение, что CSS никуда не движется и всё пропало, это не так. Там очень много всего варится. Если говорить о каких-то синтаксических вещах, например, о вложенности как в препроцессорах, удобных селекторах, кое-что из этого внедряется. Появляются not, has, is. Да, это здорово. Хотя я давно слез с Sass, у меня нет потребности в какой-то глубокой вложенности, в создании каких-то очень сложных деревьев.\n\nТо есть по синтаксическим вещам я не скучаю. А вот фундаментальные вещи жду: изоляцию стилей, выражения от контейнера, управление каскадом. Я с интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем, а не за теми, которые чуть-чуть подкрашивают опыт разработки. Для этого есть препроцессоры.\n\nНам надо помогать своим опытом и кейсами разрабатывать вещи, которые принципиально меняют разработку, потому что есть уже слишком много альтернатив — CSS-in-JS, атомарный CSS и так далее. Эти альтернативы просто выбрасывают существующий CSS в окно и говорят, что теперь мы пишем стили иначе. А мне бы не хотелось, чтобы что-то выбрасывали в окно. Мне бы хотелось, чтобы CSS развивался, и для этого есть все перспективы.\n\n**Н. М.: Не кажется ли тебе, что нативный CSS всё больше приближается к возможностям препроцессоров? Наступит ли ситуация, когда пре- пост-процессоры будут не нужны?**\n\nВ. М.: Здесь всё происходит так, как развивается веб в целом. Сначала в вебе не было видео, использовали Flash. Сначала не было Java-апплетов, потом они появились. Создатели веб-платформ смотрят по сторонам, видят у разработчиков новые задачи и находят новые способы решать эти задачи, стандартизируют их. То же самое происходит с CSS.\n\nНужно понимать процессы. Представьте, что вы работаете над проектом, у которого 6 млрд пользователей. Цена ошибки — вашей технологией никто не будет пользоваться. Она приведёт к каким-то проблемам, и ей никто не будет пользоваться.\n\nМы сталкиваемся с ситуациями, когда стандарты появляются, ими никто не пользуется, и приходится всё откатывать. Это потерянные время и деньги. Поэтому стандарты разрабатываются медленно, с оглядкой на существующие решения. Мне нравится схема, когда кто-то сделал полифил, кто-то препроцессор, кто-то транспилятор, а стандарты своей спокойной поступью, учитывая интересы всех сторон — браузеров, компаний, разработчиков, постепенно внедряются.\n\nТак же развивается CSS. Переменные из препроцессоров стали кастомными свойствами. Они стали глубже и круче. Разработчики сильно хотят вложенность? Есть спецификация. CSS развивается очень логично и правильно.\n\n**Н. М.: Мы в разговоре несколько раз затрагивали тему браузеров, ты начинал с того, что работал в Opera. И[ в Twitter у тебя](https://twitter.com/pepelsbey) написано, что ты эксперт Chrome. Ты входишь в это комьюнити? Можешь рассказать, что там происходит?**\n\nВ. М.: Есть инициатива, которая называется Google Developer Expert. По сути, это сообщество людей, которых Google считает экспертами. Внутри есть подразделения, например, эксперты по Android, вебу, Flutter и так далее.\n\nМне предложили стать экспертом по вебу. Я вошёл в группу людей, которые регулярно о чём-то публично рассказывают, ведут подкасты, пишут статьи. Эти люди чуть поближе к командам, которые внедряют новые возможности в Chrome.\n\nС ними периодически созваниваются, заранее рассказывают о технологиях, показывают, собирают фидбек. Это можно назвать ближним кругом разработчиков, с которым делятся инсайдами.\n\n**Н. М.: В последнее время инструменты разработчика различных браузеров обросли множеством возможностей для верстальщиков. Ты следишь за этим? Как это может изменить процесс обучения и разработки? Сообщество в разработке этих возможностей принимает участие?**\n\nВ. М.: Ребята, которые занимаются инструментами для разработчиков, внимательно следят за их актуальностью. Они смотрят, чтобы дефолтный браузер был максимально удобным для разработчиков. Несмотря на то, что все фронтендеры разрабатывают кроссбраузерно, тестируют вёрстку в разных браузерах, у тебя есть какой-то основной браузер, которым ты пользуешься каждый день.\n\nКонечно, разработчики браузеров хотят, чтобы их продукты был популярным не только среди обычных пользователей, но и среди разработчиков. Естественно, все хотят привлекать разработчиков возможностями DevTools. На самом деле, для этого не нужна помощь сообщества. Достаточно проводить опросы, внимательно следить за статьями и фидбеком от разработчиков. У Google Developer Experts ещё не было созвонов по поводу DevTools, но я думаю, эту тему когда-то будут обсуждать с экспертами.\n\nВ целом ребята делают всё правильно, я слежу за релизами инструментов для разработчиков. Должен сказать, что DevTools в Chrome, Firefox и Safari развиваются своими путями. Я вижу, что они конкурируют. Кто-то реализовал новую возможность первым, и разработчики видят, что этот браузер стал удобнее. Это очень интересный способ конкурировать за узкую прослойку аудитории, которая имеет мощные инструменты влияния.\n\nМне нравится, как Firefox выкатывает инструменты для тестирования шрифтов, гридов, доступности. А Chrome, у которого бюджеты больше, понимает, что забыл об этом. Но он начинает навёрстывать, и в ближайшие полгода или год появляются похожие реализации.\n\nТак же поступает и Firefox: смотрит на своего главного конкурента Chrome, видит интересные инструменты и решает внедрить свои интересные решения. С Safari совсем другая история. Они работают в стиле «мы себе на уме, мы сделаем красивый интерфейс, а если внутри не будет каких-то возможностей, ничего страшного».\n\nЗа этим интересно наблюдать, я вижу конкуренцию за умы разработчиков. Но всё-таки есть монополия в мире браузеров для пользователей и браузеров для разработчиков. Конечно же, основные тренды задаёт Chrome, а всем остальным приходится догонять. Поэтому нельзя говорить о полноценной конкуренции, в рамках которой браузеры обмениваются мощными репликами-решениями.\n\nПериодически Firefox и Safari позволяют себе интересные выпады, интересные эксперименты, но не так ярко и громко, как это делает Chrome. Но в целом за этой конкуренцией интересно наблюдать, и она работает на пользу вебу в целом и разработчикам в частности.\n\n**Н. М.: Недавно вышел стандарт WCAG 3.0. Это одно из важнейших событий 2021 года в области доступности. Что он привнёс и как это повлияет на разработку новых продуктов?**\n\nВ. М.: Всё не совсем так, стандарт не вышел. Это просто публичный анонс первого черновика гайдлайнов по доступности. Стандартом он станет года через три в лучшем случае. Это непростой документ, он используется как, например, международные стандарты ISO. Их используют в законодательных инициативах, когда какие-то сайты, интерфейсы должны быть доступными по закону, иначе... Тут можно получить штрафы и судебные иски.\n\nПоэтому такие документы, в частности, WCAG 2.1.1 (текущая версия), разрабатываются долго. И из-за этого обстоятельства он немного устарел. Это главное его отличие от WCAG 3.0, черновика, который никто не воспринимает как руководство к действию. Если вам интересна эта тема, можно почитать статью[ «Что нового в WCAG 3.0»](https://web-standards.ru/articles/wcag3-changes/).\n\nГлавное отличие в том, что область действия этого гайдлайна расширяется. Раньше он касался только веба, а теперь распространяется на все интерфейсы. Создатели гайдлайна хотят решить более сложную задачу: убедиться, что сайты, веб-приложения, нативные приложения и все интерфейсы в любой спинке кресла в самолёте доступны по параметрам, которые пытаются сформулировать в рамках этой спецификации.\n\nЭто очень сложная задача. Я уже видел недовольных людей в сообществе доступности. Естественно, это только начало пути, спецификация будет меняться. Но в целом задачи приятные и интересные. Там меняются критерии оценки: сейчас это A, AA, AAA, но будет бронзовый, серебряный уровень. По-моему, такие параметры. Меняется способ оценки интерфейса.\n\nНа мой взгляд, рядовому разработчику прямо сейчас не нужно бросаться и изучать WCAG 3.0. Скорее я бы рекомендовал узнать, что существует WCAG 2, почитать его. Потому что он сейчас применим, актуален и важен.\n\n\n> Новичкам всё ещё сложно стартовать: о рынке труда\n\n**Д. Д.: Вадим, теперь хотелось бы поговорить о рынке труда. Ждёт ли рынок труда начинающих верстальщиков? На что может рассчитывать новичок, который окончил курсы — позиция, зарплата, перспективы?**\n\nВ. М.: Я не эйчар, передо мной нет списка открытых вакансий, чтобы ловко рассуждать про цены, востребованность и необходимые навыки. Здесь лучше посмотреть на исследования крупных ресурсов, которые специализируются на поиске и предложениях работы.\n\nМогу сказать только то, что всё ещё есть сложности для новичков, им трудно стартовать. Мне регулярно пишут в личку и в чатах, что есть барьер между тем, что ты чему-то научился и начал работать.\n\nКрупные компании и школы пытаются решать этот вопрос. Например, я знаю, что в топовых компаниях, которые обучают фронтендеров, есть эйчары, которые работают с выпускниками, пытаются помочь им правильно составить резюме, правильно подавать себя и договариваться с компаниями.\n\nВ той же самой Академии есть Лига А, в которой всех выпускников после определённого уровня ставят в очередь, и они постепенно получают опыт коммерческой разработки. Я бы не сказал, что это массовое явление, которое может помочь всем.\n\nНам всё ещё нужна гибкость на уровне компаний, чтобы все они принимали стажёров, интернов, приглашали людей на летнюю практику. Это нужно, чтобы не разогревался рынок, чтобы не было кадрового голода, конкуренции между компаниями, переманивания сотрудников.\n\nКстати, компании тоже делают буткэмпы, школы, в которые набирают условно 50 человек, из которых 10 человек устраиваются на работу в этой компании, а 40 человек уходит с каким-то опытом, приближенным к реальной разработке. Но это делают единицы: «Яндекс», Mail.Ru, X5 что-то такое анонсировал. Частенько они целятся в разработчиков уровня middle и senior.\n\nВ общем, новичкам сложновато, и у меня нет магического решения. Могу только ещё раз напомнить компаниям: берите новичков, доверяйте им, растите тех людей, которые будут делать ваши интерфейсы. Вы немного вложитесь сейчас, и у вас появятся руки, головы, преданные хорошие сотрудники, которые знают, как вы устроены изнутри.\n\n**Д. Д.: Мы очень часто сталкиваемся с вопросами о возрасте — и наш эйчар, которые работает с выпускниками, и преподаватели, и наставники. В связи с этим к тебе сразу два вопроса. Первый: у тебя тоже часто спрашивают, в каком возрасте не поздно «войти в айти»? И второй: собственно, в каком возрасте не поздно изучать вёрстку с прицелом на трудоустройство? Есть ли вообще возрастной барьер для кандидатов на рынке труда?**\n\nВ. М.: Мне кажется, что физический возраст не сильно влияет на востребованность человека. Скорее влияет интеллектуальный и культурный возраст. Речь о том, насколько ты готов учиться новому, насколько ты гибок, есть ли у тебя свободное время. Потому что есть навыки обучения, адаптации к новым условиям работы, у которых есть начало и есть конец. Не в смысле жёсткого начала и конца, а в смысле подъёма и спада.\n\nЕсть чисто физиологические рамки, которые мешают людям в слишком раннем возрасте правильно организовывать своё время, правильно учиться. И в слишком позднем возрасте есть рамки, которые мешают осваивать новые технологии, тратить много времени, отвлекаясь от семьи, от решения каких-то проблем.\n\nНо мне кажется, это не должно становится барьером, если человек готов учиться, если у него гибкое время и он готов посвятить себя новой профессии, тут никаких особых рамок нет. Просто надо попробовать. Надо не сомневаться — а получится ли у меня, достаточно ли я взрослый или не слишком ли старый, а пробовать.\n\nПросто идти на какие-то курсы, пробовать, смотреть, читается ли, понимается ли. Есть ли базовая компьютерная грамотность, чтобы всё это понимать. Если есть, если получается, то какая разница, какого пола, цвета или возраста человек, который делает вам хорошие интерфейсы?\n\nДругое дело, что кому-то будет сложно взлететь в профессии с верстальщика до архитектора. Естественно, быстрые карьерные взлёты — это признаки молодости и горячности. А если вам нужно найти профессию, которая приносит деньги, какая разница, сколько вам лет?\n\n**Д. Д.: Вадим, ты говоришь, что в слишком раннем и слишком позднем возрасте тяжело. Будем какие-то границы обозначать? Нам, например, один человек писал, что ему 23 года и уже поздновато учиться. А другие люди учатся в 50 лет, успешно оканчивают и устраиваются на работу. Есть какие-то реальные границы?**\n\nВ. М.: Лично я начал заниматься IT поздновато. Мне было лет 18, когда начал заниматься какими-то компьютерными технологиями. До этого не было собственного компьютера. Вижу, как люди в 19 лет работают на пятой работе и знают всё, что я знаю сейчас.\n\nТо есть каких-либо границ я бы не проводил. Специально в начале подчеркнул, что есть интеллектуальный возраст. Если человек рано повзрослел, если у него был классный опыт, книги, возможность учиться IT рано, то возраст не будет помехой. То же самое с более поздним возрастом.\n\nОбстоятельства, в которых вы находитесь, гораздо важнее физического возраста. Если у вас есть свободное время, возможность этим заниматься, у вас получается, то есть нет чисто физиологических сложностей с восприятием новой информации, учёбой, способностью сосредотачиваться, какие могут быть границы?\n\nТолько психологические. А с этим надо заглянуть к психологу, и это не шутка. Если вы понимаете, что у вас какие-то проблемы, которые не дают вам сделать важные шаги, загляните к специалисту. Он убедит вас, что с вами всё в порядке.\n\n**Д. Д: Что должен знать и уметь новичок после курсов, чтобы устроиться на работу верстальщиком?**\n\nВ. М.: На самом деле, нужны очень разные верстальщики. Вижу компании, которым нужны специалисты, которые верстают под WordPress и подключают jQuery-плагины, или просто работают с Photoshop и верстают страницы. И вижу компании, которым нужно, чтобы специалист знал React, Redux и вообще был fullstack. И их называют новичками, это фантастика, конечно.\n\nТут сложно что-то рекомендовать кроме изучения фундаментальных вещей. Если вы знаете фундамент, то разберётесь с нюансами. Рекомендовал бы всем разобраться с уровнем абстракций ниже, чем пишут в вакансиях. Там никто не пишет, что вам нужно знать HTML и CSS, хотя без этого никуда.\n\nВсе требуют знания конкретного фреймворка, на котором компания разрабатывает, и конкретный препроцессор, на котором она пишет. Это всё надстройки над технологиями. Поэтому могу рекомендовать изучать фундаментальный технологии: HTML, CSS, JavaScript, графика, редакторы как основу, с которой можно двигаться дальше.\n\nНе рекомендовал бы углубляться в конкретный стек, потому что компании меняются, в связи с чем вам придётся снова и снова изучать что-то новое. Понять, чем отличается статическая страница у вас на компьютере от Single Page Application, которое развёрнуто на сервере — это важно и нужно. Потрогать современные фреймворки, посмотреть, как они работают — да. Но это скорее расширение кругозора, чем идеальные знания какого-то условного React.\n\nПредставьте, что приходите на работу, а там не React, а Angular или Vue. Можно сказать, что вы ничего не понимаете. А можно разобраться в JavaScript, понять, как всё работает и двигаться дальше. Технологии приходят и уходят, а фундамент остаётся.\n\nНаверное, здесь можно и работодателям рекомендовать смотреть на фундаментальные знания. Не пытайтесь искать идеального кандидата, лучше ищите людей, у которых есть основы и которые готовы учиться.\n\n**Д. Д.: Вадим, как ты считаешь, ребята из России, Украины, Беларуси, Казахстана и других стран постсоветского пространства востребованы на международном рынке труда? Может ли верстальщик со знанием английского языка найти работу в иностранной компании или брать заказы на Upwork и других биржах?**\n\nВ. М.: Не вижу никаких принципиальных несовместимостей с международным рынком труда, кроме знания языка. Есть культурные особенности, которым нужно обучиться. В русскоязычной культуре принято несколько иначе общаться, поэтому бывают сложности, я сам с этим сталкивался.\n\nВозможно, рабочие процессы могут отличаться. Но в целом с точки зрения стека технологий наше сообщество вполне конкурентоспособное. Регулярно вижу подтверждения этому. Многие друзья и знакомые уезжают или просто ездят поработать в другие страны. И они востребованы.\n\nВо-первых, это особенность отрасли. В мире не так много людей, которые хорошо разбираются в IT. Во-вторых, если ты начал заниматься IT, ты востребован. Не могу сказать, что в наших просторах какая-то супер крутая школа. Мы скорее пытаемся придумать что-то на ходу. У нас индустрия образования во фронтенде начала формироваться лет 5 назад. До этого фундаментальное образование было не очень качественным, все учились на практике.\n\nНе могу сказать, что у нас есть какая-то особая инженерная культура во фронтенде. Она есть в других отраслях. Тем не менее мы востребованы, я это вижу. Любой специалист уровня middle или senior может рассчитывать на позицию где-нибудь в Европе. С релокейтом и неплохими перспективами.\n\n**Д. Д.: А как ты относишься к фрилансу? Востребованы ли верстальщики-фрилансеры? И где лучше стартовать новичку: в компании или на бирже фриланса?**\n\nВ. М.: Я никогда всерьёз не фрилансил, но моё нынешнее состояние очень близко к фрилансу, хотя я не принимаю заказы, не состою на каких-то биржах.\n\nМне сложно что-то советовать новичкам, тут есть полярные точки зрения. Но всё-таки поделюсь своей: лучше начинать в команде, чем индивидуально, потому что в начале карьеры нужен плотный обмен опытом.\n\nДаже если это виртуальная команда, которая формируется для конкретного проекта на фриланс-бирже, всё равно это будет опосредованное общение, менее плотное и менее ценное для вас.\n\nЛучше начинать в команде, где вы будете смотреть за плечо человеку, он будет ревьюить ваш код и так далее. Другое дело, что это может быть виртуальная команда, но всё-таки команда, которая работает над своим продуктом, над общими заказами в течение какого-то времени.\n\nПотом, когда вы научитесь организовывать своё время, когда сумеете написать себе хорошее резюме, поработаете с каким-то количеством проектов, тогда сможете попробовать фриланс. Например, можно снизить нагрузку на работе и попробовать позаниматься фрилансом. Но всё-таки это не должен быть первый шаг в карьере.\n\nЭто лично мой взгляд, возможно, я не прав. Но всё-таки мне кажется, что в начале карьеры важно получить опыт от коллег — не только технический, но и командный, организационный.\n\n**Д. Д.: Что кроме вёрстки нужно прокачивать верстальщикам, чтобы оставаться востребованными специалистами и расти?**\n\nВ. М.: Мне кажется, в нашей отрасли есть определённые особенности. Это не просто список «было бы хорошо, если бы вы...». Здесь скорее речь идёт о списке «если вы не делаете этого, то быстро потеряете актуальность».\n\nВ веб-разработке всё быстро развивается. Недавно в подкасте «Веб-стандарты» мы обсуждали книги, которые опубликовало одно издательство. Мы смотрим на книги по фронтенду — читать их заголовки просто смешно. Смотрим на книги по бэкенду — нормальные и актуальные книги, хотя изданы в одно время с книгами по фронтенду. Это всё объясняет.\n\nТеперь советы. Нужно активно интересоваться тем, что происходит: новости, релизы браузеров, новые стандарты. Надо всё пробовать, щупать. То есть быть очень близко к краю развития, который всё-время растёт.\n\nНужно посвящать какое-то время на работе внедрению нового, посвящать какое-то личное время инновациям, чтобы оставаться актуальным. Я не говорю, что в профессии нечего делать без подобных навыков. Если вы хотите заниматься на работе работой, а дома отдыхать — вперёд, это нормально. Но чтобы повышать квалификацию, развиваться, нужно постоянно интересоваться новым.\n\nЧуть раньше я говорил про английский язык как международный язык общения. Это очень важно, без этого сложно читать первоисточники. А на русский язык их переводят поздно. Или, к сожалению, переводят ерунду. Или поздно и плохо переводят ерунду.\n\nЕсли мы говорим конкретно о вёрстке, разработке интерфейсов, здесь есть важная особенность — вы работаете на стыке дисциплин. Хотя это можно сказать про любую профессию.\n\nФронтендер играет интеграционную роль, поэтому для него важны т-образные навыки. Он должен крепко разбираться в программировании, понимать, как работает JavaScript, окружение, сборки, пайплайны доставки контента и так далее.\n\n::posts\n\nПлюс фронтендер должен разбираться в интерфейсах, чтобы пользователям его продукта было удобно, хорошо, доступно. Нужно разбираться в инструментах графики, в типографике. Поэтому поглядывайте на смежные области.\n\nНо это не единственное условие существования в профессии, а шаги, которые можно сделать, чтобы в ней расти. Если вы доросли и хотите сфокусироваться на семье, на своём маленьком бизнесе, на том, чтобы отдыхать и путешествовать, вперёд. А шаги, которые я раньше порекомендовал, помогут вам двигаться дальше на работе.\n\n**Д. Д.: Вадим, спасибо большое за интересные ответы! Думаю, наши читатели получили очень много полезной информации.**\n\n**Н. М.: Спасибо, Вадим!**\n\nВ. М.: Я сам сформулировал для себя много нового. Поэтому с радостью соглашаюсь на подобные интервью. Иногда тебе задают вопрос, а ты не понимаешь, почему раньше об этом не задумывался. Или думаешь, что ты об этом думаешь, и пробуешь сформулировать. Сегодня я сформулировал несколько хороших вещей, поэтому вам тоже спасибо.","reading_time":22,"url":"https://ru.hexlet.io/blog/posts/intervyu-s-vadimom-makeevym","cover_thumb_variant":null,"cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp","cover_main_variant":"/vite/assets/blog_post-7eTyeLLt.webp","related_stacks_count":5},"relatedPosts":[{"model_name":"BlogPost","id":1116,"title":"Лайв-кодинг, совместное решение задач, поддержка друг друга: как устроено групповое обучение программированию на Хекслете","slug":"group-training","summary":"На Хекслете существует несколько форматов обучения, один из них — «Групповой», в котором студенты учатся программированию не в одиночку, а с другими начинающими разработчиками под руководством опытного наставника. Подробно рассказываем, как устроено групповое обучение на Хекслете и что оно дает.","created_at":"2020-11-19T08:52:11.759Z","published_at":"2023-03-09T11:00:49.359Z","cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp"},{"model_name":"BlogPost","id":420,"title":"50 лучших фильмов и сериалов о технологиях","slug":"filmoteka-dlya-programmistov-25-filmov-o-programmirovanii-tehnologiyah-i-iskusstvennom-intellekte","summary":"Сделали подборку фильмов о технологиях, программировании, искусственном интеллекте и роботах.","created_at":"2019-07-30T13:04:28.309Z","published_at":"2022-12-30T12:14:16.059Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY5OSwicHVyIjoiYmxvYl9pZCJ9fQ==--ecd38e914c68debadef03c88a60804b37146e5b5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B%20IT-01.png"},{"model_name":"BlogPost","id":694,"title":"8 книг, которые помогут вам в жизни и в работе: советует комьюнити-менеджер Хекслета Наталья Мусина","slug":"marketolog-heksleta-natalya-musina-8-knig-kotorye-pomogut-vam-v-zhizni-i-v-rabote","summary":"Комьюнити-менеджер Хекслета Наталья Мусина делится подборкой своих любимых книг, которые помогают расширять кругозор.","created_at":"2020-02-12T14:19:01.136Z","published_at":"2022-12-29T12:48:31.067Z","cover_list_variant":"/vite/assets/blog_post-7eTyeLLt.webp"}],"category":{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},"mainStackCategory":{"id":2,"name":"Курсы по веб-разработке","slug":"web_development","short_name":"Веб-разработка","order":190,"state":"published","category_slug":"courses_web_development"},"categories":[{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},{"id":14,"name":"Дневник студента","slug":"student-diary","state":"published","created_at":"2019-02-25T13:27:09.471Z"},{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},{"id":12,"name":"Карьера","slug":"career","state":"published","created_at":"2017-07-21T15:42:21.481Z"}],"relatedLandings":[{"stack":{"id":19,"slug":"layout-designer","title":"Профессиональная верстка","audience":"for_beginners","start_type":"anytime","pricing_model":"purchase","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":1700,"duration_in_months":5},"id":26,"slug":"professional-layout","title":"Профессиональная верстка","subtitle":"Навык адаптивной вёрстки с современными подходами для корректного отображения сайтов на любых устройствах и разрешениях","subtitle_for_lists":"Адаптивная вёрстка для отображения на любых устройствах ","locale":"ru","current":true,"duration_in_months_text":"5 месяцев","stack_slug":"layout-designer","price_text":"от 3 900 ₽","duration_text":"5 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAzNCwicHVyIjoiYmxvYl9pZCJ9fQ==--ba516ea9573bdfcd1d21e2aa0fff8818561828f2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Typing-bro.png"},{"stack":{"id":12,"slug":"frontend","title":"Фронтенд-разработчик","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"finished","order":20,"duration_in_months":10},"id":17,"slug":"frontend","title":"Фронтенд-разработчик","subtitle":"Изучите HTML, CSS, JavaScript и React","subtitle_for_lists":"Изучите HTML, CSS, JavaScript и React","locale":"ru","current":true,"duration_in_months_text":"10 месяцев","stack_slug":"frontend","price_text":"от 6 792 ₽","duration_text":"10 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png"},{"stack":{"id":41,"slug":"layout-designer-positioning","title":"Позиционирование в CSS","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":4800,"duration_in_months":1},"id":70,"slug":"layout-designer-positioning","title":"Позиционирование в CSS","subtitle":"Навык разработки адаптивных интерфейсов, позволяющий создавать удобные и функциональные решения для различных устройств","subtitle_for_lists":"Получите навык работы с CSS и адаптивными интерфейсами","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"layout-designer-positioning","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAwNCwicHVyIjoiYmxvYl9pZCJ9fQ==--43a2eb3595eeebb3357d478cbcb752d0026363de/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Website%20Creator-cuate.png"},{"stack":{"id":114,"slug":"css-animation","title":"Анимация CSS","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":2900,"duration_in_months":1},"id":185,"slug":"css-animation","title":"Анимация CSS","subtitle":"Анимации в вебе: как использовать CSS и JavaScript для создания плавных эффектов","subtitle_for_lists":"Освоите CSS-анимации для улучшения UX","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"css-animation","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--3b94875bb52777724a7b11b075b8891f331d8cdf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-amico.png"},{"stack":{"id":42,"slug":"layout-designer-bootstrap","title":"Bootstrap","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":400,"duration_in_months":2},"id":72,"slug":"layout-designer-bootstrap","title":"Bootstrap","subtitle":"Навык работы с SASS, Bootstrap 5 и Gulp для ускорения, упрощения и оптимизации процесса вёрстки и разработки сайтов","subtitle_for_lists":"Изучите навык для работы с Bootstrap 5, SASS и Gulp для быстрой вёрстки","locale":"ru","current":true,"duration_in_months_text":"2 месяца","stack_slug":"layout-designer-bootstrap","price_text":"от 3 900 ₽","duration_text":"2 месяца","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MCwicHVyIjoiYmxvYl9pZCJ9fQ==--137ae65fe79f41b3d5270b8a3b65b38b1621c65b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-bro.png"}]},"url":"/blog/posts/intervyu-s-vadimom-makeevym","version":"143505ecd123087a8fdfa4acb7147980e9d23d76","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","author":"Дмитрий Дементий","name":"Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым","datePublished":"2021-02-26T08:56:39.662Z","headline":"Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. ","image":"/vite/assets/blog_post-7eTyeLLt.webp","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":33}]}</script><div style="--container-size:var(--container-size-lg);margin-top:var(--mantine-spacing-xl);height:100%" class="m_7485cace mantine-Container-root" data-size="lg" data-strategy="block"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"position":1,"@type":"ListItem","item":{"@id":"/blog","name":"Блог Хекслета"}},{"position":2,"@type":"ListItem","item":{"@id":"/blog/categories/motivation","name":"Мотивация"}},{"position":3,"@type":"ListItem","item":{"@id":"/blog/posts/intervyu-s-vadimom-makeevym","name":"Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым"}}]}</script><div style="margin-bottom:var(--mantine-spacing-xs)" class="m_8b3717df mantine-Breadcrumbs-root"><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/"><div style="color:inherit" class="m_4451eb3a mantine-Center-root"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home-link "><path d="M20.085 11.085l-8.085 -8.085l-9 9h2v7a2 2 0 0 0 2 2h4.5"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 1.807 1.143"></path><path d="M20 21a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M20 16a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M21 16l-5 3l5 2"></path></svg></div></a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog">Блог Хекслета</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog/categories/motivation">Мотивация</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><p style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:var(--mantine-color-dimmed)" class="mantine-focus-auto m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root" data-size="sm">Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым</p></div><style data-mantine-styles="inline">.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}@media(min-width: 36em){.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}}</style><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root __m__-_R_eub_"><style data-mantine-styles="inline">.__m__-_R_deub_{width:100%;}@media(min-width: 36em){.__m__-_R_deub_{width:70%;}}@media(min-width: 75em){.__m__-_R_deub_{width:75%;}}</style><div class="__m__-_R_deub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size)" class="m_8a5d1357 mantine-Title-root" data-order="1">Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым</h1></div></div></div><div style="position:absolute;top:calc(18.75rem * var(--mantine-scale))" class=""></div><style data-mantine-styles="inline">.__m__-_R_2iub_{--grid-gutter:var(--mantine-spacing-xl);}</style><div class="m_410352e9 mantine-Grid-root __m__-_R_2iub_"><div class="m_dee7bd2f mantine-Grid-inner"><style data-mantine-styles="inline">.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}@media(min-width: 62em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:66.66666666666667%;--col-max-width:66.66666666666667%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_dmiub_"><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;margin-bottom:var(--mantine-spacing-xl)" class="m_6d731127 mantine-Stack-root"><div class=""><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-xl)" class="m_4081bf90 mantine-Group-root"><button style="--badge-height:var(--badge-height-sm);--badge-padding-x:var(--badge-padding-x-sm);--badge-fz:var(--badge-fz-sm);--badge-bg:var(--mantine-color-default);--badge-color:var(--mantine-color-default-color);--badge-bd:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);cursor:pointer;color:inherit" class="m_347db0ec mantine-Badge-root" data-variant="default" data-size="sm" type="button" aria-label="Фронтенд"><span class="m_5add502a mantine-Badge-label">Фронтенд</span></button><button style="--badge-height:var(--badge-height-sm);--badge-padding-x:var(--badge-padding-x-sm);--badge-fz:var(--badge-fz-sm);--badge-bg:var(--mantine-color-default);--badge-color:var(--mantine-color-default-color);--badge-bd:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);cursor:pointer;color:inherit" class="m_347db0ec mantine-Badge-root" data-variant="default" data-size="sm" type="button" aria-label="Веб-разработка"><span class="m_5add502a mantine-Badge-label">Веб-разработка</span></button></div><div style="--group-gap:calc(0.625rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-sm);color:var(--mantine-color-gray-text)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-end:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root">26 февраля 2021 г.</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-clock "><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path><path d="M12 7v5l3 3"></path></svg></div>22 минуты</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div>33</div></div><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img style="--image-radius:var(--mantine-radius-md);--image-object-fit:cover;width:100%;height:100%" class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" alt="Общество всё ещё достаточно аналоговое и традиционное, поэтому на пути в IT много барьеров: интервью с Вадимом Макеевым"/></div></div><div role="link" tabindex="0" style="cursor:pointer"><button style="display:block;width:100%" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Присоединяйтесь к нашему Telegram-сообществу"><div style="background-color:light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6))" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:auto;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-telegram "><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4"></path></svg></div>Присоединяйтесь к нашему Telegram-сообществу</div></div></button></div><div style="margin-bottom:var(--mantine-spacing-xl)" class="m_d08caa0 mantine-Typography-root"><p>Когда мы решали, с кем публично поговорить о вёрстке, преподаватель Хекслета Никита Михайлов предложил позвать на интервью Вадима Макеева. Связались с Вадимом, он согласился и рассказал нам много интересного о вёрстке, рынке труда, развитии фронтендеров и обучении новичков. Результатами беседы делимся с вами. Со стороны Хекслета в разговоре участвовали преподаватель вёрстки Никита Михайлов и редактор Дмитрий Дементий.</p>
<p><strong>Дмитрий Дементий: Вадим, расскажи пожалуйста о себе — кто ты, чем занимаешься.</strong></p>
<p>Вадим Макеев: Я фронтендер, энтузиаст разных стандартов и веб-платформы в целом, любитель всего открытого и свободного, но не слишком линуксоид. Мы тут посчитали, что<a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://web-standards.ru/" rel="noopener noreferrer" target="_blank"> сообществу «Веб-стандарты»</a> в этом году будет 15 лет, и все эти 15 лет я его развиваю. Я много где работал и много чем занимался в течение этих 15 лет, но постоянно занимался сообществом.</p>
<style data-mantine-styles="inline">.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:70%;}@media(min-width: 36em){.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_7derddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/professional-layout?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">5 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Профессиональная верстка</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Адаптивная вёрстка для отображения на любых устройствах </p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAzNCwicHVyIjoiYmxvYl9pZCJ9fQ==--ba516ea9573bdfcd1d21e2aa0fff8818561828f2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Typing-bro.png" alt="Профессиональная верстка" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/frontend?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">10 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Фронтенд-разработчик</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите HTML, CSS, JavaScript и React</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzcyNywicHVyIjoiYmxvYl9pZCJ9fQ==--2d5cbbf5c3b4a73ae4b2c50632305d78f5872e4d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programmer-rafiki.png" alt="Фронтенд-разработчик" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/layout-designer-positioning?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Позиционирование в CSS</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Получите навык работы с CSS и адаптивными интерфейсами</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAwNCwicHVyIjoiYmxvYl9pZCJ9fQ==--43a2eb3595eeebb3357d478cbcb752d0026363de/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Website%20Creator-cuate.png" alt="Позиционирование в CSS" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/css-animation?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Анимация CSS</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Освоите CSS-анимации для улучшения UX</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDAyNSwicHVyIjoiYmxvYl9pZCJ9fQ==--3b94875bb52777724a7b11b075b8891f331d8cdf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Programming-amico.png" alt="Анимация CSS" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/layout-designer-bootstrap?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">2 месяца</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Bootstrap</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите навык для работы с Bootstrap 5, SASS и Gulp для быстрой вёрстки</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NDA0MCwicHVyIjoiYmxvYl9pZCJ9fQ==--137ae65fe79f41b3d5270b8a3b65b38b1621c65b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Code%20typing-bro.png" alt="Bootstrap" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md);font-size:var(--mantine-font-size-h3)" class="m_8a5d1357 mantine-Title-root" data-order="2" data-responsive="true">Каталог</h2><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полный список доступных курсов по разным направлениям</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="/vite/assets/development-BVihs_d5.png" alt="Orientation"/></div></div></div></a></div></div></div></div></div>
<p>Это можно назвать сквозной деятельностью, «Веб-стандарты» проходят сквозь всё в качестве моего главного проекта. Хотя изначально не было таких планов, мы просто тусовались с друзьями.</p>
<p>Около четырёх лет я работал в<a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://htmlacademy.ru/" rel="noopener noreferrer" target="_blank"> HTML Академии</a>, в январе этого года закончил работать. До этого лет семь работал в браузере Opera, представлял его в России для сообщества разработчиков. Перед этим успел поработать в «Яндексе», LiveJournal и других компаниях.</p>
<p>Вот такой у меня путь: сначала разработчик, потом DevRel, сейчас занимаюсь и образованием, и технологиями, и другими вещами, о которых ещё поговорим.</p>
<p><strong>Д. Д.:</strong> <strong>Недавно ты написал в соцсетях, что уходишь из HTML Академии. А для людей в теме ты ассоциируешься с Академией. Прямо как у Маяковского: «Мы говорим партия, подразумеваем Ленин». Можешь сказать пару слов, что дальше? Будешь заниматься обучением или хочешь погрузиться с головой в практическую разработку?</strong></p>
<p>В. М.: Я проработал в HTML Академии ровно четыре года, успел сделать много интересного и полезного: программы, проекты и так далее. Теперь я подумал, что хочу заниматься чем-то в более самостоятельном режиме. Практически всю жизнь у меня была работа фултайм, компания, в которой я работаю. Задачи этой компании были моими задачами.</p>
<p>Но параллельно я занимался какими-то своими проектами, и их количество всё время росло. Приходилось отвлекаться, выбирать между задачами работодателя и своими проектами. Подумал, что есть вариант и возможности стать независимым специалистом.</p>
<p>У меня есть проекты, о которых я сейчас не говорю публично. Они кладут мне на стол хлеб с маслом в этом году. Я подумал, раз есть такая возможность, займусь этим, а по ходу дела буду выяснять, чем заниматься дальше.</p>
<p>Сейчас я скорее в переходном периоде, чем в состоянии «вылетел из одного гнезда, приземлился в другом». Чем буду заниматься дальше? Вряд ли займусь тем, чем занимался в HTML Академии. То есть я не буду создавать программу курса, читать лекции, разрабатывать учебные планы. Скорее всего, буду заниматься чем-то другим просто ради разнообразия.</p>
<p>Не думаю, что буду занят рядовым фронтендерством. Кажется, я это уже перерос, но не в том смысле, что я уже круче этого, а в том смысле, что вырос в сторону. Мне ближе и интереснее деятельность DevRel, Event-менеджера, опенсорс-контрибьютора. Мне кажется, эти вещи у меня получаются. А может уйду в видео- и аудиопродакшен. Но пока я в переходном периоде.</p>
<p><strong>Д. Д.: Вадим, а образование будет присутствовать в профессиональной деятельности?</strong></p>
<p>В. М.: Думаю, от этого никуда не уйти. Занимаюсь образованием примерно с 2006 или 2005 года, когда прочитал свои первые доклады, лекции. Вопрос в том, занимаюсь ли я образованием в рамках каких-то институтов или самостоятельно. Самостоятельно я продолжаю делать образовательный контент, например, снимаю видео. Вряд ли я буду писать книгу, но были мысли про подкасты, статьи. Буду помогать новичкам или тем, кто уже работает, узнавать какие-то вещи лучше.</p>
<p>Но полноценные учебные программы, профессии, курсы — слишком большая вещь, чтобы заниматься этим самостоятельно. Я не готов делать какие-то компании, стартапы. Если кто-то позовёт меня автором, скорее всего откажусь. Мне бы хотелось пока заняться чем-то другим, а там посмотрим.</p>
<p><strong>Никита Михайлов: А тебе интереснее обучать начинающих или продолжающих, которым интересны более глубокие вопросы?</strong></p>
<p>В. М.: Интереснее всего работать с начинающими, но проще работать с людьми среднего и высокого уровня. Тебе не нужно думать, как с ними разговаривать. Ты просто говоришь, как считаешь нужным.</p>
<p>А интереснее с новичками, потому что тебе нужно сообразить, как отбросить груз своих знаний, и всех своих травм, я бы даже сказал. Не объяснять то, что уже неактуально, что помешает новичкам понять тему. Это не все умеют.</p>
<p>Я часто слышу такие высказывания: «Этой технологией я не пользовался, она конечно поддерживается во всех браузерах, но я ей не доверяю». Такие люди предпочитают делать по старинке. А это «по старинке» отбрасывает новичков назад, заставляет их изучать концепции, которые уже не нужны.</p>
<p>Кто-то говорит, что современному фронтендеру надо уметь голыми руками собирать какой-то там микроконтроллер. Этот кто-то считает это фундаментом, без которого никуда. Кто-то говорит, что надо разобраться, как верстать на флоутах. Мол, вы же обязательно будете почтовые рассылки верстать.</p>
<p>А людям просто нужен современный ECMAScript, гриды и всё. Зачем усложнять, если кроссбраузерности достаточно.</p>
<p>С другой стороны, при работе с новичками важно суметь объяснить человеку, как строятся интерфейсы, как работает CSS. Потому что люди, которые приходят куда-то учиться, ждут мгновенного старта. У них нет тех года или полутора лет, за которые я в спокойном ритме, обучаясь на журфаке, въезжал в веб-разработку. Мне не нужно было срочно устраиваться на работу. Я просто развлекался, получал удовольствие. Как люди себе находят хобби, так и я нашёл.</p>
<p>Не у всех новичков сегодня есть такая возможность. Многие хотят за полгода найти работу. Безусловно, не у всех это получается. Обучение занимает чуть больше времени. И на рынке есть петля с условным названием «чтобы устроиться, нужен опыт работы, но где взять опыт, если без него на работу не берут».</p>
<p><strong>Н. М.: А ты не следишь за выпускниками HTML Академии, которые прошли через тебя? Или ты просто вёл занятия?</strong></p>
<p>В. М.: Следить за выпускниками сложно. Когда ты заходишь в чат и видишь там 700 человек, сложно проследить за всеми. Я читал лекции, разрабатывал программы, отвечал на вопросы во время и после лайвов. А связью со студентами у нас всегда занимались наставники, кураторы и другие люди. У этих людей была возможность не просто ответить на вопрос студента, а разобраться в сути этого вопроса.</p>
<p>Авторы в Академии занимаются другим. Но я отхожу от этого. До мая читаю лайвы в профессии, которая сейчас идёт, но как приходящий автор, который не разрабатывает программы. Просто помогаю ребятам доделать то, о чём я договорился. Академия идёт дальше и я иду дальше.</p>
<blockquote>
<p>На позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать: об обучении новичков</p>
</blockquote>
<p><strong>Д. Д.: Хотелось бы поговорить об обучении новичков фронтенду, у тебя здесь большой опыт. Как ты думаешь, кем должен быть идеальный преподаватель вёрстки или фронтенд-разработки: практикующим разработчиком, «чистым» преподавателем, или он должен так или иначе сочетать практическую разработку и преподавание?</strong></p>
<p>В. М.: Допускаю, что можно организовать процесс обучения так, что преподаватель будет приходящим. Он будет читать лекции, участвовать в программе, а рядом с ним будет работать условный методист или соавтор, который будет заниматься основной частью работы.</p>
<p>То есть я допускаю модель, в которой практикующий разработчик работает не full time, а занимается курсом part time, тратит на обучение студентов треть рабочего времени. Сам я в такой схеме не участвовал. Я четыре года работал в Академии в режиме full time. Но модель с part time занятостью может существовать, это такой компромисс.</p>
<p>Когда в Академию искали авторов, всегда требовали, чтобы у человека был хороший практический опыт. Это должен быть senior. Но этот человек должен быть заинтересован в том, чтобы рассказывать, показывать, развивать и продвигать других людей. Мне кажется, чтобы быть успешным преподавателем, разработчику скорее нужны качества тимлида.</p>
<p>Что касается практического опыта, я допускаю, что если разработчик уходит на фултайм в образование, он будет проседать. Вам никто не даст времени и возможностей разрабатывать, работать плотно с командой, вести серьёзные проекты, если у вас есть другая задача. Это тормозит развитие разработчика.</p>
<p>Я знаю, что многие люди приходят в образование и уходят именно поэтому. То есть они приходят, работают, потом вспоминают, что давно не разрабатывали и уходят. Или наоборот — senior устаёт от ежедневных галер и приходит в другое место. Я не могу назвать его более спокойным. Просто здесь другие вызовы, другие потоки.</p>
<p>Если резюмировать, на позиции преподавателя нужен человек, который умеет и разрабатывать, и преподавать. Было бы классно, если бы школы практиковали ситуации, где фронтендер — part time автор. Это помогало бы такому автору не терять связь с реальностью. Если разработчик перестаёт практиковаться, он теряет связь с отраслью. И это негативно влияет на качество образования.</p>
<p>Есть образование, а есть практика. Как бы школы не рассказывали, что учат на практике, это не практика, а всё равно какая-то условность. Не вижу в этом ничего плохого, потому что в такой ситуации, в игре, обучение работает лучше всего.</p>
<p>То есть нужен гибрид преподавателя и практикующего разработчика. Вопрос в том, как его делать: разрешить разработчикам участвовать в обучении part time или смириться с тем, что люди будут заходить и выходить.</p>
<p><strong>Н. М.: Вадим, а как ты в Академии четыре года поддерживал свои навыки? Пытался брать на себя дополнительные проекты, или может тебе помогали поддерживать профессиональный уровень твои подкасты?</strong></p>
<p>В. М.: Строго говоря, я пришёл в Академию уже не разработчиком. В Opera Software я занимался DevRel. То есть я уже не был fulltime-разработчиком, который каждый день пилит продукт.</p>
<p>Чтобы не терять связь с реальностью, я постоянно занимаюсь какими-то собственными проектами, которые держат меня и мои навыки в тонусе. Я интересуюсь новыми технологиями, фреймворками, периодически прохожу курсы, которые меня интересуют.</p>
<p>Кстати, можно по-разному оставаться в курсе того, что происходит. Можно углубиться в какой-то стек и работать в компании 5 лет на этом стеке. Мой подход немного отличается. Я знаю поменьше, но про большее.</p>
<p>Я много читаю, пишу много новостей, поэтому у меня другой взгляд на вещи. Мне кажется, такой подход полезен в образовании, потому что здесь важно подсказать студенту не конкретный набор техник для конкретного проекта, а объяснить, как устроена вся платформа, как устроен рынок, какие есть требования, задачи.</p>
<p>Я был предрасположен к образовательной деятельности, потому что уже широко смотрел на отрасль. И я всегда был специалистом с широким взглядом, хотя иногда углублялся в какие-то вопросы, например, в доступность, производительность и так далее.</p>
<p>В целом продолжаю писать код каждый день, мне это дико интересно. Я всегда был скорее разработчиком интерфейсов, чем программистом. Мне это гораздо интереснее, поэтому продолжаю заниматься этим. Мне интересны дизайн, типографика, UX так же, как интересен фронтенд. Благодаря этому я актуален.</p>
<p><strong>Д. Д.: Если перенестись в идеальный мир и попытаться построить лучшую систему обучения вёрстки, как она должна выглядеть? Как был бы организован процесс обучения в идеальной с твоей точки зрения школе, какой была бы среда обучения, программа? Вопрос глобальный, но по основным вехам можно пройтись.</strong></p>
<p>В. М.: Я не видел много школ изнутри. По сути, это только Академия и какие-то курсы, в которых я сам участвовал как студент из интереса. Всех моделей я не знаю. Но если попытаться придумать свою с нуля, это безусловно должна быть имитация рабочего процесса. В этот процесс должны быть включены все типичные инструменты взаимодействия: системы контроля версий, социальный кодинг, системы организации пакетов типа npm, условные доски Trello.</p>
<p>То есть нужно использовать процессы, которые приучают студента к тому, с чем он будет работать дальше. Важно, чтобы у студента не было ощущения, что ему показали тренажёр, в котором он слева пишет код, а справа видит интерфейс, цвета и текст. Важно, чтобы не было ни малейшего подозрения, что именно так всё и будет. Чтобы человек как можно раньше получал в руки профессиональные инструменты.</p>
<p>Да, задачи будут упрощённые. Да, ты не слишком глубоко узнаешь инструменты. Но ты с самого начала будешь понимать, как всё устроено в реальной разработке. Задачи тоже должны быть близкими к реальности — не гипотетическими, а практическими. Чтобы ты с первых шагов делал какой-то интерфейс. Чтобы у тебя всегда были менторы, наставники, просто коллеги, с которыми можно обсуждать рабочие вопросы. Чтобы группа, с которой ты учишься, включала столько людей, сколько включает какая-то команда.</p>
<p>Мне кажется, такая схема повторяет то, к чему ты на самом деле готовишься. А дальше можно вводить нюансы. Я уже говорил, что нужно учить студентов ультрасовременным технологиям. Это как издают книги. Например, в ноябре 2020 года на всех книгах, которые печатаются в типографиях, уже стоит 2021 год. Потому что когда эти книги довезут до магазинов, люди не захотят покупать прошлогодние книги. То же самое со студентами. Их нужно учить ультрасовременным вещам, потому что когда они придут на рынок, ситуация уже поменяется.</p>
<p>Фронтенд очень быстро развивается. По крайней мере, вечнозелёным браузерам, сегодняшним и вчерашним, нужно учить. А это сложно, потому что где ты найдёшь на рынке столько преподавателей, которые разбираются в современных технологиях? Они умеют работать под IE 11 и поддерживать старые браузеры на старых технологиях. А студентам по-честному надо преподавать что-то новое и свежее. В разных типах компаний разный подход к созданию интерфейсов и разные задачи. Но нужно собирать по отрасли информацию и преподавать современные технологии.</p>
<p>Мне кажется, я впервые формулирую модель идеальной школы, поэтому спасибо за вопрос.</p>
<p><strong>Д.Д.: Я правильно услышал, что практика должна идти впереди всего, что прежде всего надо ориентироваться на практику?</strong></p>
<p>В. М.: Да. Просто когда вы решаете какую-то практическую задачу, важно объяснять, почему так. В этом месте приходит теория, спецификация, какой-то фундамент, который люди запоминают, понимают, откуда берутся источники знаний. Что не просто кто-то сказал, что нужно делать так, а в документе написано об этом. Мотивация изначально должна быть глубоко практической, в этом я уверен.</p>
<p><strong>Д. Д.: При желании верстать может научиться каждый, или верстальщику нужны какие-то способности, предрасположенность, черты характера? Если да, то какие?</strong></p>
<p>В. М.: Я бы не хотел никому ставить дополнительных барьеров. На пути к вёрстке, к разработке интерфейсов и так достаточно барьеров. Всё-таки это дело пока неестественное, всё-таки общество вокруг меня пока недостаточно цифровое, компьютерное, погружённое в IT, чтобы можно было легко переключиться во фронтенд. Общество всё ещё достаточно аналоговое и традиционное, поэтому барьеров очень много.</p>
<p>Если говорить про какие-то личные качества, мне кажется, что скрупулёзность, интерес к мелочам, аккуратизм безусловно важны. Усидчивость, желание и умение разобраться тоже играют важную роль. Фронтендер — это в некотором роде часовщик, в некотором роде инженер, человек, который готов разбираться с особенностями, решать челленджи, обеспечивать совместимость, ограничения.</p>
<p>Важно понимать, что инженеры-фронтендеры — это не физики-ядерщики, которые не думают о потребителях своей энергии, условно говоря, если они работают на атомной электростанции. Это скорее люди, которые делают машины, интерфейсы к ним. Поэтому огромную роль играет эмпатия. То есть с точки зрения технологии важны скрупулёзность, внимательность, инженерный склад ума. С другой стороны, очень важны эмпатия, интерес к человеку, способность понимать, что людям нужно и так далее. Без эмпатии вы можете стать программистом, но не разработчиком интерфейсов.</p>
<p>Завершая мысль, если вы не чувствуете в себе ничего из того, что я перечислил, забудьте, что я говорил, и всё равно пробуйте. Возможно, я сказал ерунду.</p>
<blockquote>
<p>С интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем: о перспективах и развитии HTML и CSS</p>
</blockquote>
<p><strong>Н. М.: Вадим, я хочу немного отвлечься и пройтись по техническим вопросам. Вокруг нас становится больше новых интерфейсов, например, VR (виртуальная реальность) и AR (дополненная реальность). Это как-то повлияет на работу фронтендеров, верстальщиков в ближайшее время?</strong></p>
<p>В. М.: Вокруг меня не появляется ни дополненная, ни виртуальная реальность. Я не вижу этого. Все мы поиграли, у всех закружилась голова, и все сказали, что это классно. А зачем это, никто не понимает.</p>
<p>Я пока не вижу перспектив, связанных с интерфейсами, пока мы не разберёмся с проблемами на аппаратном уровне, пока не сделаем так, чтобы всё работало хорошо. Чтобы наши устройства стабильно выдавали 120 fps, тогда поговорим про массовые интерфейсы.</p>
<p>Сейчас даже технологий не так много, хотя некоторые компании вкладываются в их развитие. Они пытаются встраивать в очки виртуальной реальности бра��зеры, пытаются делать фреймворки, с помощью которых создаются интерфейсы для виртуального мира.</p>
<p>Есть попытки, но они в зачаточном состоянии. Скорее всего все эти спецификации перепишут ещё раза три-четыре, прежде чем они получат массовое распространение. Пока есть только идея и есть фантастические фильмы. Мы только нащупываем, зачем это нужно и как это создавать. До фронтенда, до нормального интерфейса ещё далеко. Рано сейчас говорить всем покупать очки виртуальной реальности и разрабатывать для них интерфейсы. Никто не знает, как.</p>
<p>Да, хочется делать какие-то футуристические вещи. Но я не футурист, я больше о том, как сделать хорошо то, что есть сейчас. Это интереснее и практичнее.</p>
<p><strong>Н. М.: У нас пользовательский опыт мало меняется, но меняются подходы, которые используют разработчики. Например, CSS всё расширяется. В черновиках уже появились слои (layers). Интересное решение для изоляции и грамотной каскадности. Уже давно ведётся речь о вложенности селекторов. Каких нововведений ждёшь ты и что бы ты хотел видеть в нативном CSS?</strong></p>
<p>В. М.: Мне очень понравилась идея Мириам Сюзанн — слои каскада. Более того, у этого специалиста есть ещё несколько интересных черновиков. В частности, там есть инструменты для изоляции стилей, организации модульности и так далее.</p>
<p>Я интересуюсь идеями, которые эволюционно развивают CSS. Потому что я жду от веба обратной совместимости, как и большинство разумных людей. Благодаря ей не нужно будет ничего переписывать с нуля. То есть я не хотел бы терять огромные объёмы информации и совместимость ради того, чтобы фронтендерам было удобно завтра что-то разрабатывать.</p>
<p>Так что в CSS я жду решения задач, которые формировались последние лет 5. Это модульность как главный тренд. Она позволяет написать стили для конкретного компонента так, чтобы они не утекали наружу. Есть Shadow DOM, есть декларативный Shadow DOM, есть спецификации, которые предполагают, что стили не утекают за пределы какой-то директивы.</p>
<p>Ещё одна спецификации, которую предлагает Мириам Сюзанн — возможность подключать разные библиотеки с разными указаниями и обозначать, какой код специфичнее. И, конечно же, это выражения от контейнеров, которые позволяют в тренде этой модульности менять стили, опираясь не на ширину окна, а на размеры конкретного элемента. Это предложение в работе, им занимаются ребята из Chrome и просто независимые специалисты.</p>
<p>Если есть ощущение, что CSS никуда не движется и всё пропало, это не так. Там очень много всего варится. Если говорить о каких-то синтаксических вещах, например, о вложенности как в препроцессорах, удобных селекторах, кое-что из этого внедряется. Появляются not, has, is. Да, это здорово. Хотя я давно слез с Sass, у меня нет потребности в какой-то глубокой вложенности, в создании каких-то очень сложных деревьев.</p>
<p>То есть по синтаксическим вещам я не скучаю. А вот фундаментальные вещи жду: изоляцию стилей, выражения от контейнера, управление каскадом. Я с интересом слежу за вещами, которые принципиально меняют то, как мы разрабатываем, а не за теми, которые чуть-чуть подкрашивают опыт разработки. Для этого есть препроцессоры.</p>
<p>Нам надо помогать своим опытом и кейсами разрабатывать вещи, которые принципиально меняют разработку, потому что есть уже слишком много альтернатив — CSS-in-JS, атомарный CSS и так далее. Эти альтернативы просто выбрасывают существующий CSS в окно и говорят, что теперь мы пишем стили иначе. А мне бы не хотелось, чтобы что-то выбрасывали в окно. Мне бы хотелось, чтобы CSS развивался, и для этого есть все перспективы.</p>
<p><strong>Н. М.: Не кажется ли тебе, что нативный CSS всё больше приближается к возможностям препроцессоров? Наступит ли ситуация, когда пре- пост-процессоры будут не нужны?</strong></p>
<p>В. М.: Здесь всё происходит так, как развивается веб в целом. Сначала в вебе не было видео, использовали Flash. Сначала не было Java-апплетов, потом они появились. Создатели веб-платформ смотрят по сторонам, видят у разработчиков новые задачи и находят новые способы решать эти задачи, стандартизируют их. То же самое происходит с CSS.</p>
<p>Нужно понимать процессы. Представьте, что вы работаете над проектом, у которого 6 млрд пользователей. Цена ошибки — вашей технологией никто не будет пользоваться. Она приведёт к каким-то проблемам, и ей никто не будет пользоваться.</p>
<p>Мы сталкиваемся с ситуациями, когда стандарты появляются, ими никто не пользуется, и приходится всё откатывать. Это потерянные время и деньги. Поэтому стандарты разрабатываются медленно, с оглядкой на существующие решения. Мне нравится схема, когда кто-то сделал полифил, кто-то препроцессор, кто-то транспилятор, а стандарты своей спокойной поступью, учитывая интересы всех сторон — браузеров, компаний, разработчиков, постепенно внедряются.</p>
<p>Так же развивается CSS. Переменные из препроцессоров стали кастомными свойствами. Они стали глубже и круче. Разработчики сильно хотят вложенность? Есть спецификация. CSS развивается очень логично и правильно.</p>
<p><strong>Н. М.: Мы в разговоре несколько раз затрагивали тему браузеров, ты начинал с того, что работал в Opera. И<a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://twitter.com/pepelsbey" rel="noopener noreferrer" target="_blank"> в Twitter у тебя</a> написано, что ты эксперт Chrome. Ты входишь в это комьюнити? Можешь рассказать, что там происходит?</strong></p>
<p>В. М.: Есть инициатива, которая называется Google Developer Expert. По сути, это сообщество людей, которых Google считает экспертами. Внутри есть подразделения, например, эксперты по Android, вебу, Flutter и так далее.</p>
<p>Мне предложили стать экспертом по вебу. Я вошёл в группу людей, которые регулярно о чём-то публично рассказывают, ведут подкасты, пишут статьи. Эти люди чуть поближе к командам, которые внедряют новые возможности в Chrome.</p>
<p>С ними периодически созваниваются, заранее рассказывают о технологиях, показывают, собирают фидбек. Это можно назвать ближним кругом разработчиков, с которым делятся инсайдами.</p>
<p><strong>Н. М.: В последнее время инструменты разработчика различных браузеров обросли множеством возможностей для верстальщиков. Ты следишь за этим? Как это может изменить процесс обучения и разработки? Сообщество в разработке этих возможностей принимает участие?</strong></p>
<p>В. М.: Ребята, которые занимаются инструментами для разработчиков, внимательно следят за их актуальностью. Они смотрят, чтобы дефолтный браузер был максимально удобным для разработчиков. Несмотря на то, что все фронтендеры разрабатывают кроссбраузерно, тестируют вёрстку в разных браузерах, у тебя есть какой-то основной браузер, которым ты пользуешься каждый день.</p>
<p>Конечно, разработчики браузеров хотят, чтобы их продукты был популярным не только среди обычных пользователей, но и среди разработчиков. Естественно, все хотят привлекать разработчиков возможностями DevTools. На самом деле, для этого не нужна помощь сообщества. Достаточно проводить опросы, внимательно следить за статьями и фидбеком от разработчиков. У Google Developer Experts ещё не было созвонов по поводу DevTools, но я думаю, эту тему когда-то будут обсуждать с экспертами.</p>
<p>В целом ребята делают всё правильно, я слежу за релизами инструментов для разработчиков. Должен сказать, что DevTools в Chrome, Firefox и Safari развиваются своими путями. Я вижу, что они конкурируют. Кто-то реализовал новую возможность первым, и разработчики видят, что этот браузер стал удобнее. Это очень интересный способ конкурировать за узкую прослойку аудитории, которая имеет мощные инструменты влияния.</p>
<p>Мне нравится, как Firefox выкатывает инструменты для тестирования шрифтов, гридов, доступности. А Chrome, у которого бюджеты больше, понимает, что забыл об этом. Но он начинает навёрстывать, и в ближайшие полгода или год появляются похожие реализации.</p>
<p>Так же поступает и Firefox: смотрит на своего главного конкурента Chrome, видит интересные инструменты и решает внедрить свои интересные решения. С Safari совсем другая история. Они работают в стиле «мы себе на уме, мы сделаем красивый интерфейс, а если внутри не будет каких-то возможностей, ничего страшного».</p>
<p>За этим интересно наблюдать, я вижу конкуренцию за умы разработчиков. Но всё-таки есть монополия в мире браузеров для пользователей и браузеров для разработчиков. Конечно же, основные тренды задаёт Chrome, а всем остальным приходится догонять. Поэтому нельзя говорить о полноценной конкуренции, в рамках которой браузеры обмениваются мощными репликами-решениями.</p>
<p>Периодически Firefox и Safari позволяют себе интересные выпады, интересные эксперименты, но не так ярко и громко, как это делает Chrome. Но в целом за этой конкуренцией интересно наблюдать, и она работает на пользу вебу в целом и разработчикам в частности.</p>
<p><strong>Н. М.: Недавно вышел стандарт WCAG 3.0. Это одно из важнейших событий 2021 года в области доступности. Что он привнёс и как это повлияет на разработку новых продуктов?</strong></p>
<p>В. М.: Всё не совсем так, стандарт не вышел. Это просто публичный анонс первого черновика гайдлайнов по доступности. Стандартом он станет года через три в лучшем случае. Это непростой документ, он используется как, например, международные стандарты ISO. Их используют в законодательных инициативах, когда какие-то сайты, интерфейсы должны быть доступными по закону, иначе... Тут можно получить штрафы и судебные иски.</p>
<p>Поэтому такие документы, в частности, WCAG 2.1.1 (текущая версия), разрабатываются долго. И из-за этого обстоятельства он немного устарел. Это главное его отличие от WCAG 3.0, черновика, который никто не воспринимает как руководство к действию. Если вам интересна эта тема, можно почитать статью<a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://web-standards.ru/articles/wcag3-changes/" rel="noopener noreferrer" target="_blank"> «Что нового в WCAG 3.0»</a>.</p>
<p>Главное отличие в том, что область действия этого гайдлайна расширяется. Раньше он касался только веба, а теперь распространяется на все интерфейсы. Создатели гайдлайна хотят решить более сложную задачу: убедиться, что сайты, веб-приложения, нативные приложения и все интерфейсы в любой спинке кресла в самолёте доступны по параметрам, которые пытаются сформулировать в рамках этой спецификации.</p>
<p>Это очень сложная задача. Я уже видел недовольных людей в сообществе доступности. Естественно, это только начало пути, спецификация будет меняться. Но в целом задачи приятные и интересные. Там меняются критерии оценки: сейчас это A, AA, AAA, но будет бронзовый, серебряный уровень. По-моему, такие параметры. Меняется способ оценки интерфейса.</p>
<p>На мой взгляд, рядовому разработчику прямо сейчас не нужно бросаться и изучать WCAG 3.0. Скорее я бы рекомендовал узнать, что существует WCAG 2, почитать его. Потому что он сейчас применим, актуален и важен.</p>
<blockquote>
<p>Новичкам всё ещё сложно стартовать: о рынке труда</p>
</blockquote>
<p><strong>Д. Д.: Вадим, теперь хотелось бы поговорить о рынке труда. Ждёт ли рынок труда начинающих верстальщиков? На что может рассчитывать новичок, который окончил курсы — позиция, зарплата, перспективы?</strong></p>
<p>В. М.: Я не эйчар, передо мной нет списка открытых вакансий, чтобы ловко рассуждать про цены, востребованность и необходимые навыки. Здесь лучше посмотреть на исследования крупных ресурсов, которые специализируются на поиске и предложениях работы.</p>
<p>Могу сказать только то, что всё ещё есть сложности для новичков, им трудно стартовать. Мне регулярно пишут в личку и в чатах, что есть барьер между тем, что ты чему-то научился и начал работать.</p>
<p>Крупные компании и школы пытаются решать этот вопрос. Например, я знаю, что в топовых компаниях, которые обучают фронтендеров, есть эйчары, которые работают с выпускниками, пытаются помочь им правильно составить резюме, правильно подавать себя и договариваться с компаниями.</p>
<p>В той же самой Академии есть Лига А, в которой всех выпускников после определённого уровня ставят в очередь, и они постепенно получают опыт коммерческой разработки. Я бы не сказал, что это массовое явление, которое может помочь всем.</p>
<p>Нам всё ещё нужна гибкость на уровне компаний, чтобы все они принимали стажёров, интернов, приглашали людей на летнюю практику. Это нужно, чтобы не разогревался рынок, чтобы не было кадрового голода, конкуренции между компаниями, переманивания сотрудников.</p>
<p>Кстати, компании тоже делают буткэмпы, школы, в которые набирают условно 50 человек, из которых 10 человек устраиваются на работу в этой компании, а 40 человек уходит с каким-то опытом, приближенным к реальной разработке. Но это делают единицы: «Яндекс», Mail.Ru, X5 что-то такое анонсировал. Частенько они целятся в разработчиков уровня middle и senior.</p>
<p>В общем, новичкам сложновато, и у меня нет магического решения. Могу только ещё раз напомнить компаниям: берите новичков, доверяйте им, растите тех людей, которые будут делать ваши интерфейсы. Вы немного вложитесь сейчас, и у вас появятся руки, головы, преданные хорошие сотрудники, которые знают, как вы устроены изнутри.</p>
<p><strong>Д. Д.: Мы очень часто сталкиваемся с вопросами о возрасте — и наш эйчар, которые работает с выпускниками, и преподаватели, и наставники. В связи с этим к тебе сразу два вопроса. Первый: у тебя тоже часто спрашивают, в каком возрасте не поздно «войти в айти»? И второй: собственно, в каком возрасте не поздно изучать вёрстку с прицелом на трудоустройство? Есть ли вообще возрастной барьер для кандидатов на рынке труда?</strong></p>
<p>В. М.: Мне кажется, что физический возраст не сильно влияет на востребованность человека. Скорее влияет интеллектуальный и культурный возраст. Речь о том, насколько ты готов учиться новому, насколько ты гибок, есть ли у тебя свободное время. Потому что есть навыки обучения, адаптации к новым условиям работы, у которых есть начало и есть конец. Не в смысле жёсткого начала и конца, а в смысле подъёма и спада.</p>
<p>Есть чисто физиологические рамки, которые мешают людям в слишком раннем возрасте правильно организовывать своё время, правильно учиться. И в слишком позднем возрасте есть рамки, которые мешают осваивать новые технологии, тратить много времени, отвлекаясь от семьи, от решения каких-то проблем.</p>
<p>Но мне кажется, это не должно становится барьером, если человек готов учиться, если у него гибкое время и он готов посвятить себя новой профессии, тут никаких особых рамок нет. Просто надо попробовать. Надо не сомневаться — а получится ли у меня, достаточно ли я взрослый или не слишком ли старый, а пробовать.</p>
<p>Просто идти на какие-то курсы, пробовать, смотреть, читается ли, понимается ли. Есть ли базовая компьютерная грамотность, чтобы всё это понимать. Если есть, если получается, то какая разница, какого пола, цвета или возраста человек, который делает вам хорошие интерфейсы?</p>
<p>Другое дело, что кому-то будет сложно взлететь в профессии с верстальщика до архитектора. Естественно, быстрые карьерные взлёты — это признаки молодости и горячности. А если вам нужно найти профессию, которая приносит деньги, какая разница, сколько вам лет?</p>
<p><strong>Д. Д.: Вадим, ты говоришь, что в слишком раннем и слишком позднем возрасте тяжело. Будем какие-то границы обозначать? Нам, например, один человек писал, что ему 23 года и уже поздновато учиться. А другие люди учатся в 50 лет, успешно оканчивают и устраиваются на работу. Есть какие-то реальные границы?</strong></p>
<p>В. М.: Лично я начал заниматься IT поздновато. Мне было лет 18, когда начал заниматься какими-то компьютерными технологиями. До этого не было собственного компьютера. Вижу, как люди в 19 лет работают на пятой работе и знают всё, что я знаю сейчас.</p>
<p>То есть каких-либо границ я бы не проводил. Специально в начале подчеркнул, что есть интеллектуальный возраст. Если человек рано повзрослел, если у него был классный опыт, книги, возможность учиться IT рано, то возраст не будет помехой. То же самое с более поздним возрастом.</p>
<p>Обстоятельства, в которых вы находитесь, гораздо важнее физического возраста. Если у вас есть свободное время, возможность этим заниматься, у вас получается, то есть нет чисто физиологических сложностей с восприятием новой информации, учёбой, способностью сосредотачиваться, какие могут быть границы?</p>
<p>Только психологические. А с этим надо заглянуть к психологу, и это не шутка. Если вы понимаете, что у вас какие-то проблемы, которые не дают вам сделать важные шаги, загляните к специалисту. Он убедит вас, что с вами всё в порядке.</p>
<p><strong>Д. Д: Что должен знать и уметь новичок после курсов, чтобы устроиться на работу верстальщиком?</strong></p>
<p>В. М.: На самом деле, нужны очень разные верстальщики. Вижу компании, которым нужны специалисты, которые верстают под WordPress и подключают jQuery-плагины, или просто работают с Photoshop и верстают страницы. И вижу компании, которым нужно, чтобы специалист знал React, Redux и вообще был fullstack. И их называют новичками, это фантастика, конечно.</p>
<p>Тут сложно что-то рекомендовать кроме изучения фундаментальных вещей. Если вы знаете фундамент, то разберётесь с нюансами. Рекомендовал бы всем разобраться с уровнем абстракций ниже, чем пишут в вакансиях. Там никто не пишет, что вам нужно знать HTML и CSS, хотя без этого никуда.</p>
<p>Все требуют знания конкретного фреймворка, на котором компания разрабатывает, и конкретный препроцессор, на котором она пишет. Это всё надстройки над технологиями. Поэтому могу рекомендовать изучать фундаментальный технологии: HTML, CSS, JavaScript, графика, редакторы как основу, с которой можно двигаться дальше.</p>
<p>Не рекомендовал бы углубляться в конкретный стек, потому что компании меняются, в связи с чем вам придётся снова и снова изучать что-то новое. Понять, чем отличается статическая страница у вас на компьютере от Single Page Application, которое развёрнуто на сервере — это важно и нужно. Потрогать современные фреймворки, посмотреть, как они работают — да. Но это скорее расширение кругозора, чем идеальные знания какого-то условного React.</p>
<p>Представьте, что приходите на работу, а там не React, а Angular или Vue. Можно сказать, что вы ничего не понимаете. А можно разобраться в JavaScript, понять, как всё работает и двигаться дальше. Технологии приходят и уходят, а фундамент остаётся.</p>
<p>Наверное, здесь можно и работодателям рекомендовать смотреть на фундаментальные знания. Не пытайтесь искать идеального кандидата, лучше ищите людей, у которых есть основы и которые готовы учиться.</p>
<p><strong>Д. Д.: Вадим, как ты считаешь, ребята из России, Украины, Беларуси, Казахстана и других стран постсоветского пространства востребованы на международном рынке труда? Может ли верстальщик со знанием английского языка найти работу в иностранной компании или брать заказы на Upwork и других биржах?</strong></p>
<p>В. М.: Не вижу никаких принципиальных несовместимостей с международным рынком труда, кроме знания языка. Есть культурные особенности, которым нужно обучиться. В русскоязычной культуре принято несколько иначе общаться, поэтому бывают сложности, я сам с этим сталкивался.</p>
<p>Возможно, рабочие процессы могут отличаться. Но в целом с точки зрения стека технологий наше сообщество вполне конкурентоспособное. Регулярно вижу подтверждения этому. Многие друзья и знакомые уезжают или просто ездят поработать в другие страны. И они востребованы.</p>
<p>Во-первых, это особенность отрасли. В мире не так много людей, которые хорошо разбираются в IT. Во-вторых, если ты начал заниматься IT, ты востребован. Не могу сказать, что в наших просторах какая-то супер крутая школа. Мы скорее пытаемся придумать что-то на ходу. У нас индустрия образования во фронтенде начала формироваться лет 5 назад. До этого фундаментальное образование было не очень качественным, все учились на практике.</p>
<p>Не могу сказать, что у нас есть какая-то особая инженерная культура во фронтенде. Она есть в других отраслях. Тем не менее мы востребованы, я это вижу. Любой специалист уровня middle или senior может рассчитывать на позицию где-нибудь в Европе. С релокейтом и неплохими перспективами.</p>
<p><strong>Д. Д.: А как ты относишься к фрилансу? Востребованы ли верстальщики-фрилансеры? И где лучше стартовать новичку: в компании или на бирже фриланса?</strong></p>
<p>В. М.: Я никогда всерьёз не фрилансил, но моё нынешнее состояние очень близко к фрилансу, хотя я не принимаю заказы, не состою на каких-то биржах.</p>
<p>Мне сложно что-то советовать новичкам, тут есть полярные точки зрения. Но всё-таки поделюсь своей: лучше начинать в команде, чем индивидуально, потому что в начале карьеры нужен плотный обмен опытом.</p>
<p>Даже если это виртуальная команда, которая формируется для конкретного проекта на фриланс-бирже, всё равно это будет опосредованное общение, менее плотное и менее ценное для вас.</p>
<p>Лучше начинать в команде, где вы будете смотреть за плечо человеку, он будет ревьюить ваш код и так далее. Другое дело, что это может быть виртуальная команда, но всё-таки команда, которая работает над своим продуктом, над общими заказами в течение какого-то времени.</p>
<p>Потом, когда вы научитесь организовывать своё время, когда сумеете написать себе хорошее резюме, поработаете с каким-то количеством проектов, тогда сможете попробовать фриланс. Например, можно снизить нагрузку на работе и попробовать позаниматься фрилансом. Но всё-таки это не должен быть первый шаг в карьере.</p>
<p>Это лично мой взгляд, возможно, я не прав. Но всё-таки мне кажется, что в начале карьеры важно получить опыт от коллег — не только технический, но и командный, организационный.</p>
<p><strong>Д. Д.: Что кроме вёрстки нужно прокачивать верстальщикам, чтобы оставаться востребованными специалистами и расти?</strong></p>
<p>В. М.: Мне кажется, в нашей отрасли есть определённые особенности. Это не просто список «было бы хорошо, если бы вы...». Здесь скорее речь идёт о списке «если вы не делаете этого, то быстро потеряете актуальность».</p>
<p>В веб-разработке всё быстро развивается. Недавно в подкасте «Веб-стандарты» мы обсуждали книги, которые опубликовало одно издательство. Мы смотрим на книги по фронтенду — читать их заголовки просто смешно. Смотрим на книги по бэкенду — нормальные и актуальные книги, хотя изданы в одно время с книгами по фронтенду. Это всё объясняет.</p>
<p>Теперь советы. Нужно активно интересоваться тем, что происходит: новости, релизы браузеров, новые стандарты. Надо всё пробовать, щупать. То есть быть очень близко к краю развития, который всё-время растёт.</p>
<p>Нужно посвящать какое-то время на работе внедрению нового, посвящать какое-то личное время инновациям, чтобы оставаться актуальным. Я не говорю, что в профессии нечего делать без подобных навыков. Если вы хотите заниматься на работе работой, а дома отдыхать — вперёд, это нормально. Но чтобы повышать квалификацию, развиваться, нужно постоянно интересоваться новым.</p>
<p>Чуть раньше я говорил про английский язык как международный язык общения. Это очень важно, без этого сложно читать первоисточники. А на русский язык их переводят поздно. Или, к сожалению, переводят ерунду. Или поздно и плохо переводят ерунду.</p>
<p>Если мы говорим конкретно о вёрстке, разработке интерфейсов, здесь есть важная особенность — вы работаете на стыке дисциплин. Хотя это можно сказать про любую профессию.</p>
<p>Фронтендер играет интеграционную роль, поэтому для него важны т-образные навыки. Он должен крепко разбираться в программировании, понимать, как работает JavaScript, окружение, сборки, пайплайны доставки контента и так далее.</p>
<style data-mantine-styles="inline">.__m__-_R_8vderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:80%;}@media(min-width: 36em){.__m__-_R_8vderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_8vderddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/group-training"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" loading="lazy" alt="Лайв-кодинг, совместное решение задач, поддержка друг друга: как устроено групповое обучение программированию на Хекслете"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Лайв-кодинг, совместное решение задач, поддержка друг друга: как устроено групповое обучение программированию на Хекслете</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">На Хекслете существует несколько форматов обучения, один из них — «Групповой», в котором студенты...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">9 марта 2023 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/filmoteka-dlya-programmistov-25-filmov-o-programmirovanii-tehnologiyah-i-iskusstvennom-intellekte"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY5OSwicHVyIjoiYmxvYl9pZCJ9fQ==--ecd38e914c68debadef03c88a60804b37146e5b5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%D1%8B%20IT-01.png" loading="lazy" alt="50 лучших фильмов и сериалов о технологиях"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">50 лучших фильмов и сериалов о технологиях</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Сделали подборку фильмов о технологиях, программировании, искусственном интеллекте и роботах.</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">30 декабря 2022 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/marketolog-heksleta-natalya-musina-8-knig-kotorye-pomogut-vam-v-zhizni-i-v-rabote"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="/vite/assets/blog_post-7eTyeLLt.webp" loading="lazy" alt="8 книг, которые помогут вам в жизни и в работе: советует комьюнити-менеджер Хекслета Наталья Мусина"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">8 книг, которые помогут вам в жизни и в работе: советует комьюнити-менеджер Хекслета Наталья Мусина</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Комьюнити-менеджер Хекслета Наталья Мусина делится подборкой своих любимых книг, которые помогают...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">29 декабря 2022 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div></div></div></div>
<p>Плюс фронтендер должен разбираться в интерфейсах, чтобы пользователям его продукта было удобно, хорошо, доступно. Нужно разбираться в инструментах графики, в типографике. Поэтому поглядывайте на смежные области.</p>
<p>Но это не единственное условие существования в профессии, а шаги, которые можно сделать, чтобы в ней расти. Если вы доросли и хотите сфокусироваться на семье, на своём маленьком бизнесе, на том, чтобы отдыхать и путешествовать, вперёд. А шаги, которые я раньше порекомендовал, помогут вам двигаться дальше на работе.</p>
<p><strong>Д. Д.: Вадим, спасибо большое за интересные ответы! Думаю, наши читатели получили очень много полезной информации.</strong></p>
<p><strong>Н. М.: Спасибо, Вадим!</strong></p>
<p>В. М.: Я сам сформулировал для себя много нового. Поэтому с радостью соглашаюсь на подобные интервью. Иногда тебе задают вопрос, а ты не понимаешь, почему раньше об этом не задумывался. Или думаешь, что ты об этом думаешь, и пробуешь сформулировать. Сегодня я сформулировал несколько хороших вещей, поэтому вам тоже спасибо.</p></div><div class=""><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg></div><p style="margin-inline-end:var(--mantine-spacing-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Дмитрий Дементий</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">5 лет назад</p></div><div style="align-items:center" class="m_8bffd616 mantine-Flex-root __m__-_R_5dirddmiub_"><a style="display:inline-flex" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/intervyu-s-vadimom-makeevym/votes"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div></a><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">33</p></div></div></div><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding:var(--mantine-spacing-xl)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Читайте также:</p><ul style="margin-inline-start:var(--mantine-spacing-lg)" class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/group-training">Лайв-кодинг, совместное решение задач, поддержка друг друга: как устроено групповое обучение программированию на Хекслете</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/filmoteka-dlya-programmistov-25-filmov-o-programmirovanii-tehnologiyah-i-iskusstvennom-intellekte">50 лучших фильмов и сериалов о технологиях</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/marketolog-heksleta-natalya-musina-8-knig-kotorye-pomogut-vam-v-zhizni-i-v-rabote">8 книг, которые помогут вам в жизни и в работе: советует комьюнити-менеджер Хекслета Наталья Мусина</a></span></div></li></ul></div><div style="margin-block:var(--mantine-spacing-xl)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div></div><div></div></div><style data-mantine-styles="inline">.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}@media(min-width: 62em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:33.333333333333336%;--col-max-width:33.333333333333336%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_lmiub_ mantine-visible-from-md"><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-xl);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="margin-bottom:var(--mantine-spacing-md)" class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Категории</p></div><ul class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Мотивация">Мотивация</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Истории успеха">Истории успеха</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Дневник студента">Дневник студента</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Код">Код</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Карьера">Карьера</button></span></div></li></ul></div><div style="justify-content:end;margin-top:0rem;position:sticky;top:calc(5rem * var(--mantine-scale))" class="m_8bffd616 mantine-Flex-root __m__-_R_5dlmiub_"><div tabindex="0" style="cursor:pointer"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses_web_development?promo_name=program_category&promo_position=blog_post&promo_creative=card&promo_type=card"><div style="background-color:var(--mantine-color-default);border:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);padding-inline:var(--mantine-spacing-xl);padding-top:var(--mantine-spacing-xl);padding-bottom:var(--mantine-spacing-xs);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Курсы по веб-разработке</p></div><img class="m_9e117634 mantine-Image-root" src="/vite/assets/development-BVihs_d5.png"/><p style="margin-bottom:var(--mantine-spacing-xs);text-align:right" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></a></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-D8AK0-_C.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>