Какие технологии обязан знать любой frontend разработчик: Что должен знать FrontEnd разработчик в 2021 году

Содержание

Что должен уметь фронтенд-разработчик | Медиа Нетологии

Согласно ежегодному исследованию StackOverflow, самая популярная профессия среди пользователей сервиса в 2017 году — это Web developer. Именно в эту категорию входят все фронтенд-разработчики.

Данные StackOverflow

Если зайти на первый попавшийся сайт по поиску работы, например, на hh.ru, создастся впечатление, что фронтенд-разработчик — это специалист-хамелеон.

Начинается всё с путаницы в названиях вакансий: можно встретить и «front-end developer», и «front end разработчик», и «фронтендщик», и «фронтенд девелопер», и «web developer», и «фронтенд-разработчик». Иногда даже можно увидеть «веб-верстальщика» с требованиями под фулстак-разработчика. Реакция на это одна: WTF?!

Беда в том, что часть работодателей не отличают (или не хотят отличать) верстальщика от фронтенд-разработчика, — это понятно по описанию вакансий.

Разберёмся, какие умения отделяют фронтенд-разработчика от «верстака» (верстальщики, не обижайтесь, вы тоже хорошие).

Верстальщик — боец узкого фронта. Его задача — сверстать полученный от дизайнера макет, используя HTML+CSS. Он, возможно, немного умеет в JavaScript, но чаще ограничивается умением прикрутить какой-нибудь плагин jQuery.

Фронтенд-разработчик не просто верстает макеты.

Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках (и активно юзает часть из них), понимает, что находится «под капотом» на серверной стороне. Его не пугают препроцессоры и сборщики LESS, SASS, GRUNT, GULP, он умеет работать с DOM, API, SVG-объектами, AJAX и CORS, может составлять SQL-запросы и копаться в данных. Получается сборная солянка навыков, к которым добавляется понимание принципов UI/UX-проектирования, адаптивной и отзывчивой вёрстки, кросс-браузерности и кросс-платформенности, а иногда и навыков мобильной разработки.

Фронтендщик в обязательном порядке умеет работать с контролем версий (Git, GitHub, CVS и т. д.), использовать графические редакторы, «играть» с шаблонами различных CMS.

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

6 технологий, которые помогут стать востребованным фронтенд-разработчиком в 2021 | by Elena Andenko | NOP::Nuances of Programming

Вы хотите улучшить свои карьерные перспективы как разработчика в 2021 году? Возможно, вы хотите перейти на более высокооплачиваемую должность или устроиться в компанию, работающую с новейшими технологиями.

На мой взгляд, для разработчика всегда есть возможность улучшить свои условия труда. Для этого просто нужно получить соответствующие знания. Те, которые необходимы компаниям, за которые больше всего платят и которые постоянно мелькают в объявлениях на сайтах с вакансиями.

«Когда я начинал карьеру разработчика, я работал со множеством устаревших проектов, связанных с Java. Со временем у меня появился интерес к технологиям JavaScript, и я изучил Node.

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

Однако часть моей работы была по-прежнему связана со старым кодом AngularJS. Но я знал, чтобы снова вырасти и улучшить свои условия труда, мне придётся переключиться на более новую технологию. Поэтому я изучил основы React.

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

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

Чтобы ответить на эти вопросы, я составил список технологий, которые, как я убеждён, стоит изучить в 2021 году.

Вы не представляете, насколько важно досконально знать Vanilla JS. Это основа всех современных веб-структур и веб-технологий, которая позволяет освоить их быстрее. Вы перестанете тревожиться и легко справитесь с вопросами по программированию на собеседовании.

Знание Vanilla JS стало такой редкостью, поэтому люди удивляются, когда вы можете объяснить им, что такое «замыкание».

Для примера: мы сейчас ищем в команду старшего разработчика React. И все вопросы, задаваемые возможным кандидатам, основаны на Vanilla JS. Как вы можете объяснить нам «хуки в React», если вы не можете рассказать, что такое «замыкание»?

Изучите Vanilla JS в совершенстве в 2021 году и посмотрите, как он приведёт вас к тому, чего не смогут достичь другие разработчики.

В последние годы TypeScript становится всё более популярным среди разработчиков. Более 80% из них подтвердили, что хотели бы изучить или использовать TypeScript в своём следующем проекте.

Код на этом языке более надёжен и защищён от ошибок. Его поддерживает отличная команда разработчиков. А крутые компании ищут специалистов, которые могут его применять.

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

Если вы, как и я, учились программированию в течение последних 5 лет, то вероятно, REST — единственный стандарт для API, который вы использовали. Но с каждым днём ​​приложения становятся всё сложнее, поэтому возрастает потребность в такой технологии, как GraphQL.

GraphQL — это язык запросов для API, который позволяет разработчикам передавать больше информации о данных, которые они отправляют и получают.

Эта технология вызывает большой интерес, но не так много разработчиков используют её. С учётом того, что всё больше компаний включают GraphQL в обязательное требование для соискателей, этот язык может стать для вас тузом в рукаве при прохождении следующего собеседования и получении работы мечты.

В 2020 году React по-прежнему остаётся наиболее часто используемым фреймворком для JavaScript. На данный момент его популярность может только расти. Изучите его в 2021 году, и он откроет вам путь к тысячам вакансий с предложением более высокой зарплаты.

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

Программных ошибок во всем мире так много, что они породили спрос на программы для их поиска (Jest, Mocha и т. д.). Современные приложения необходимо тщательно протестировать, прежде чем отправить конечным пользователям. Эти приложения также должны быть гибкими и быстро адаптироваться к изменениям. И единственный способ сделать это — обеспечить большое тестовое покрытие исходного кода.

Знание того, как построить набор тестов для приложения, больше не является недооцененным навыком. За такого специалиста компании готовы побороться.

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

Надеюсь, вы нашли что-то полезное в этом подходе и почувствовали мотивацию искать новые возможности в 2021 году.

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен

17 вопросов джуну: что должен знать Junior-разработчик

***

Что должен знать Junior-разработчик, чтобы получить должность или удержаться на уже «завоёванной» позиции?

Джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора.

Олег Власенко, заместитель генерального директора SimbirSoft

Кто-то говорит, что требования завышены, и в 2020 году младший программист должен знать то, что знал Middle в нулевых.

Кто-то парирует аргументами о росте конкуренции, сложности задач и, соответственно, требований.

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

Например, теперь на позицию начинающего front-end разработчика недостаточно просто знать JavaScript, HTML5/CSS3: нужны базовые знания одного из популярных фреймворков (React, Vue, Angular). Кажется, что со временем требования будут расти ещё сильнее.

Александр Норовяткин, PR&HR в FINCH

Мы разобрались, что должен знать Junior-программист в 2020 году, и собрали общие вопросы с собеседований, по которым работодатели определяют, дотягивает кандидат до нужной планки или нет.

Hard skills

1

Почему вы выбрали этот язык программирования?

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

2

Где проходили обучение, участвовали ли в реальных проектах?

В Galileosky мы всегда обращаем внимание на следующие моменты:

3

Назовите принципы ООП

Старо как мир, но всё так же актуально. Держите шпаргалку по принципам ООП: там всё разложено по полочкам. Если вы хорошо разбираетесь в ООП, можете рассказать о своём опыте их применения на практике. Идеально, если вы также расскажете, почему те или иные принципы не стоит применять в некоторых ситуациях.

4

Какие алгоритмы сортировки вы знаете? Напишите код с использованием быстрой сортировки.

Ох уж эти алгоритмы сортировки — понять бы, где они пригодятся в реальной жизни. А зачем вообще Junior-разработчику это знать? Тут всё просто: понимание принципов и гибкость мышления. Опять же, с помощью небольшого примера вы покажете, что владеете синтаксисом языка и умеете объяснять, что происходит в вашем коде.

5

Какие технологии вы знаете?

Для работы на реальном проекте мало знать сам язык программирования. Младшему разработчику необходим большой багаж знаний. Если мы рассматриваем разработчика на Java, кроме  самого языка, необходимо иметь хотя бы начальные знания о Spring, базах данных, SQL, системах контроля версий. Это не означает глубокое изучение всех аспектов, но представление о работе с этими технологиями быть должно, даже если нет реальной практики. Зачастую разница между Middle- и Junior-разработчиком — это реальный опыт.

Михаил Шушпанов, руководитель направления, компания Bell Integrator


Если говорить о знании конкретных технологий, от начинающего разработчика требуется опыт разработки на каком-то классическом языке программирования со строгой типизацией — подойдёт Java, C++, C#. При этом не так важно, на каком языке программирования придётся писать в будущем: синтаксис языка выучить легко, а вот понимание, что «можно» делать, а чего «нельзя» — нет.

Олег Лекшин, начальник отдела разработки прикладного ПО «ИВК»

6

Расскажите, с какими IDE вы работали

Достаточно назвать одну, но хорошо в ней разбираться: какие редакции есть, как подключить библиотеку к проекту, чем выбранная среда разработки лучше других, какие плагины вы использовали, etc.

 Это то, что должен знать Junior-разработчик.

7

Есть ли опыт работы с базами данных? Сколько нормальных форм вы знаете и чем они отличаются?

Знать, как обращаться к БД, нужно, а вот что касается нормальных форм — это, скорее, плюс, чем необходимость. Будет хорошо, если вы назовёте СУБД, с которыми работали, обозначите их ключевые особенности.

Также к навыкам стоит добавить SQL. Да, на SQL сейчас никто не пишет, но без SQL невозможно понимание логики работы СУБД.

Олег Лекшин, начальник отдела разработки прикладного ПО «ИВК»

8

У вас был свой проект? В чём заключалась задача и как вы её решали?

Чтобы стать Junior-разработчиком, нужно знать теорию и применять её на практике. Разумеется, вы как джун уже должны были что-то писать, будь то на курсах или для себя. Перед собеседованием стоит разобрать один из самых сложных проектов, вспомнить, какие проблемы возникали в процессе работы над ним, и как вы их решали.

9

Какие методологии создания продукта вы знаете? Назовите несколько принципов Agile

Да, вам стоит почитать об Agile. Даже если вы твёрдо уверены, что никогда не столкнётесь с командной разработкой, поверьте — столкнётесь. Это не то, что обязательно знать Junior-разработчику, но будет плюсом, если вы разбираетесь.

10

Есть ли опыт работы с Git? Какой веб-сервис для хостинга проектов вы используете?

Неважно, GitHub это, GitLab или BitBucket. Интервьюера интересует главное — разбираетесь ли вы в системе контроля версий.

11

Также вас могут попросить решить несколько несложных задач

Минимальный испытательный набор состоит из трёх тестов.

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

Во-вторых, смотрят, как кандидат усваивает информацию, как работает его внимание и память. Обычно перед разработчиком ставится задача из 5–6 вводных пунктов, после чего идёт обсуждение её решения. Кандидат должен резюмировать задачу, описать своё решение, а затем сделать выводы.

В-третьих, по косвенным признакам, оценивается коммуникабельность кандидата — развитие его речевых навыков и способность работать в команде. Часто от соискателей на Junior-позицию требуется проактивность (её оценят, предложив несколько «поведенческих» задач) и скорость мышления.

Дмитрий Макаров, директор департамента Digital “Техносерв Консалтинг”

Soft skills

12

Вы командный игрок?

Коммуникативные навыки — одни из важнейших, и даже если вы разработчик-одиночка, акцентируйте внимание на том, что вы с удовольствием приобщитесь к командной работе.

Даже опытные разработчики могут ошибиться с оценкой сроков, но они знают, как с этим быть — сразу сообщают менеджеру, обращаются за помощью к коллегам. Джуниор с неразвитыми soft skills промолчит и будет пытаться решить вопрос самостоятельно, в результате ничего толком не сделает и только потратит время.

Степан Ермилов, руководитель мобильной разработки в MediaSoft


В удалённой работе гораздо большую роль начинают играть soft skills. Гибкие навыки — это не только умение общаться с коллегами, но и банальное уважение к коллегам, к примеру, в чатах — когда ты отмечаешь коллегу, дублируешь сообщение, которое могло потеряться, и закрепляешь важные ссылки на самом верху.

Салават Ханов, основатель сервиса блокировки рекламы и защиты данных 1Blocker

13

IT-сфера изменчива, постоянно появляются новые технологии. Готовы ли вы всё время учиться?

Все понимают, что у младшего разработчика нет большого опыта и, скорее всего, нет глубоких знаний фреймворков. Поэтому на собеседовании больше внимания уделяется его soft skills: насколько разработчик мотивирован, готов ли он обучаться.

Алексей Харюков, руководитель тренинг-центра EPAM в Санкт-Петербурге

14

Каков ваш уровень английского языка?

Для нас, в EPAM, важным фактором является также уровень английского языка — не ниже Intermediate, поскольку после обучения можно попасть на проект с распределённой командой, с разработчиками из других стран.

Алексей Харюков, руководитель тренинг-центра EPAM в Санкт-Петербурге

Кроме того, аутсорсинговые компании зачастую работают с иностранными заказчиками, организовывают с ними встречи и созвоны. И вообще, читать и писать документацию стоит на английском, да и на Stack Overflow лежит всё, что нужно знать Junior-разработчику. Поэтому перед собеседованием обязательно подтяните английский язык.

15

Умеете ли вы справляться со стрессом?

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

Иван Катков, фронтед-разработчик ИТ-компании ОТР

16

Если возникла проблема, как вы будете её решать?

Это больше вопрос на самостоятельность, нежели на способы решения.

Хочется поделиться советом: прежде чем идти к более опытным коллегам с вопросом, постарайтесь сами разобраться в проблеме. Во всех командах очень ценится, когда человек подходит не просто с вопросом «А как это сделать?», а уже обладает какой-то информацией, прикинул варианты решения и обращается за советом, как решить проблему правильнее.

Тимур Гайфулин, руководитель группы разработки IT-компании DD Planet

17

Можете ли вы оценить время выполнения задачи?

Да, это то, что должен уметь Junior-разработчик уже с кое-каким опытом, но на стадии обучения вы должны были получить хотя бы базовый навык оценки сроков.

У нас сотрудники работают удалённо. Поэтому важно грамотно распределять время для решения задач, уметь сосредотачиваться, оценивать сроки и соблюдать их.

Руслан Львов, основатель диджитал-агентства ADDEO

Что должен знать Junior-разработчик? Отвечают эксперты

Олег Власенко

заместитель генерального директора SimbirSoft

Говоря о необходимых навыках, сразу важно прочертить границу между джуном и стажёром, поскольку эти роли достаточно часто путают.

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

Тем временем джун — это уже пусть и младший, но специалист. Подразумевается, что он самостоятельно умеет писать код, может справиться с простыми задачами сам, а со средними по сложности задачами — под присмотром ментора. Соответственно, такой специалист обязан обладать уверенными знаниями как минимум одного языка и фреймворка. Да, его знания, скорее всего, не будут глубокими, но он должен знать основы. Значительная часть сил джуна уходит на освоение нового. Ведь чтобы стать мидлом и выйти на новый уровень оплаты своего труда, джуну придётся освоить несколько фреймворков пусть и поверхностно, глубоко изучить как минимум один фреймворк, возможно, подготовиться и сдать экзамен по сертификации, получить опыт в разных проектах. Соответственно, важнейшими soft skills для джуна (да и для любого ИТ-специалиста вообще) будут навыки самообучения, навыки и опыт решения любых проблем, самодисциплина и мотивация к обучению.

Если рассматривать hard skills, то, наверное, нужно упомянуть такие профессиональные навыки, как умение искать информацию в поисковых системах, знание средств коллективной разработки (Git и другие), знание IDE, языка и фреймворка.

Завышены ли требования к джунам? Уверен, нет. Всё проясняется, если разделить понятия стажёр и джун и рассматривать джунов, как младших специалистов, а не просто тех, кто начал учиться.

София Техажева

руководитель программ «Python-разработчик» и «Алгоритмы для разработчиков» в Яндекс.

Практикуме

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

Требования к hard skills будут зависеть от направления. Например, мы уже подробно рассказывали, что работодатели ждут от Junior-Python-разработчика. Для таких специалистов это чаще всего знание языка программирования Python, алгоритмов и структур данных, опыт работы с базами данных и фреймворками.

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

В технических навыках обычно требуется наличие какого-то (хотя бы учебного) опыта программирования, знакомство с основными инструментами, умение решать типовые задачи. Для получения даже этих навыков придётся постараться. Разработка имеет относительно высокий порог входа по сравнению с другими ИТ-профессиями, но планка по найму в последние годы, скорее, снижалась, чем наоборот.

Александр Махновский

руководитель отдела разработки Аванпост

По нашему опыту в последние годы требования к Junior-разработчикам у нетоповых компаний снизились. Связано это с кадровым голодом, вызванным, с одной стороны, ростом рынка, с другой, демографическим провалом девяностых–начала 2000-х.

В целом для джуна, планирующего работать в прикладной разработке, требования можно определить следующим образом:

Основные хард-скиллы:

  • Знать синтаксис языка, на котором предстоит работать.
  • Знать основу стандартной библиотеки языка и представлять её структуру в целом.
  • Понимать принципы работы технологической платформы и среды исполнения (например jvm).

Дополнительные хард-скиллы:

  • Понимать принципы работы реляционных СУБД, иметь навыки работы с ними.
  • Знать основы веб-разработки.
  • Понимать, как в целом устроен мир: как работает сетевое взаимодействие, какая инфраструктура существует в интернет- и корпоративных сетях, понимать отличия парадигм программирования, скриптовых языков от компилируемых и т. д.

Практические навыки:

  • Уметь решать простые прикладные задачи, т. е. применять знания, перечисленные выше, с пользой.

Софт-скиллы:

  • Умение слушать, воспринимать постановку задач и пояснения, не упускать детали, но и не зацикливаться на них.
  • Способность и желание обучаться в процессе работы.
  • Умение задавать вопросы и в целом формулировать мысли.
  • Любознательность и стремление к развитию.
  • Ответственность.

Как правило, у всех ребят, приходящих к нам на собеседование, всё в порядке с основными хард-скиллами, учитывая, что они предварительно проверяются простейшим тестовым заданием.

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

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

Выводы

Мнения насчёт того, завышены требования к джунам или нет, очень разнятся. Но практически все эксперты сходятся в том, что Junior-разработчик должен знать о преимуществах и сферах применения выбранного языка или технологии, уметь работать с Git, знать основные алгоритмы, библиотеки и фреймворки в своей сфере, быть в курсе возможностей хотя бы одной IDE, знать английский не ниже уровня Intermediate и уметь работать в команде.

А вот что должен знать Middle-разработчик.

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

Перейти к регистрации

27

Как стать фронтенд-разработчиком в 2021 году: дорожная карта

Как стать фронтенд-разработчиком и что изучать в 2021 году? В этом поможет разобраться дорожная карта по фронтенду:

Профессиональные навыки

Как и прежде, фронтенд-разработка стоит на трёх китах — HTML, CSS и JavaScript.

HTML

Без понимания разметки дальше не продвинуться, ведь это каркас сайта. Вы должны изучить базовые теги и атрибуты, понимать анатомию HTML-разметки, а также быть в курсе доступности и основ SEO. Не забывайте и об HTML5 — пятой версии, которая встречается в требованиях каждой первой вакансии. Развитие HTML нельзя назвать быстрым, поэтому у вас будет большое преимущество, если вы уже знаете язык разметки.

Материалы для изучения HTML:

CSS

Также важно научиться стилизовать элементы с помощью CSS и делать это правильно, например повторно используя стили для одинаковых элементов. Сперва освойте блочную модель и позиционирование содержимого — компоновку, выравнивание и центрирование элементов, а также их видимость. Почитайте об адаптивном и отзывчивом дизайне. Далее переходите к медиа-запросам, чтобы учитывать технические параметры различных устройств. Неплохим бонусом станет навык работы с CSS Grid и Flexbox. После углубляйте знания, изучая архитектуру и препроцессоры.

Материалы для изучения CSS:

Чтобы получить первые практические навыки в работе с HTML и CSS, следует сверстать несколько страниц: это можно сделать как по шаблонам из приведённых статей, так и написать полностью самостоятельный проект.

JavaScript

Ну и как же стать фронтенд-разработчиком, не зная в 2021 году JavaScript? На «плечи» этого языка ложится функциональность сайта: действия по нажатию кнопок, заполнение форм, прослушивание событий, запуск триггеров и многое другое. Не стоит пренебрегать основами и сразу переходить к изучению «модного» фреймворка — изучайте язык постепенно.

Так, вам потребуется освоить синтаксис и базовые конструкции. Обратите внимание, что JavaScript — язык со слабой типизацией, то есть выполняет неявное преобразование типов автоматически. Это значит, что вы можете написать что-то вроде 10+"1" и не получить никакой ошибки. Напротив, результат будет строкой — 101. Вы можете почитать об этом подробнее в большом исследовании под названием WTF JavaScript.

Ну а мы вернёмся к дорожной карте по фронтенд-разработке. Важно освоить DOM, интерфейс для работы с HTTP-запросами и ответами Fetch API, технологию AJAX и XMLHttpRequest, ECMAScript 6+, модульный подход и веб-компоненты. Также пробегитесь по перечисленным концепциям вроде строгого режима и теневого DOM.

Материалы для изучения JavaScript:

Веб-безопасность

Знаете, что такое OWASP? Это открытый проект, собирающий статистику и направленный на обеспечение безопасности веб-приложений. Чтобы стать фронтенд-разработчиком в 2021 году, нужно уделять особое внимание безопасности. Хоть способов обезопасить себя и становится больше, но злоумышленники тоже не стоят на месте.

Итак, вам нужно понимать преимущества HTTPS перед HTTP, принцип работы CORS, политику защиты контента (CSP), а также регулярно следить за обновлениями на сайте OWASP.

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

Инструменты

Здесь всё просто:

  • Освойте работу с системой контроля версий Git и выберите удобный сервис для хостинга проектов.
  • Пользуйтесь линтерами и форматерами для улучшения качества кода.
  • Для сборки используйте таскраннеры и бандлеры.
  • Возьмите в привычку работать с менеджерами пакетов npm и yarn.

Подробнее о таскреннерах и бандлерах можно узнать из данного видео: