В прошлой статье мы разбирали Vue.js, как специализацию, без которой немыслима современная фронтенд-инженерия. Сегодня, очередь React js - еще одного инструмента, без которого сложно представить работу современного JavaScript-разработчика, а также прямого конкурента Vue.js.
Зачем нужен React, какие у него плюсы, как он помогает в работе и самое главное, как стать хорошим react-разработчиком, чтобы иметь все шансы найти высокооплачиваемую работу сразу после окончания обучения? Обо всем этом, мы расскажем вам в этой статье.
Кстати, прежде чем начать, интересная статистика:
React.js является вторым по популярности веб-фреймворком в 2023-2024 годах, уступая лишь популярнейшему Node.js. Он смог обогнать даже "старичка" jQuery, который не особо любят многие разработчики, но массово продолжают им пользоваться.
Что такое react js и чем он хорош?
Если верить статистике, то более 40 % разработчиков используют в своей работе React. Так чем же он так хорош?
React - это библиотека JavaScript с открытым кодом, предназначенная для создания внешних пользовательских интерфейсов.
Говоря простыми словами, это готовое решение (можно сравнить с каркасом) для JS-разработчика. Оно позволяет ему сильно упростить и ускорить свою работу, используя написанные ранее решения других разработчиков, собранных в одном месте - библиотеке React.
Как мы уже говорили, React - библиотека с открытым исходным кодом. Это значит, что любой желающий разработчик может предлагать свои изменения и способствовать ее улучшению.
Чем же так хороша эта библиотека и почему ее так любят разработчики во всем мире? Давайте пробежимся по основным плюсам:
- Популярность! Почти 50 процентов разработчиков во всем мире используют в своей работе React. Откройте любой сайт вакансий и вы сами убедитесь, что React-разработчики нужны повсюду.
- Универсальность! Учитывая, что React - это JavaScript-библиотека, а JS — один из самых популярных языков программирования, который используется всюду, ни одна другая библиотека не работает на таком количестве устройств и в таком количестве окружений!
- Гибкость в работе! Это важно и React действительно очень гибкий, потому что позволяет делать много разных вещей. Например: менять инструменты разработки, разрабатывать приложение полностью на React или использовать его мощности для какой-то одной фишки и т.д.
- Скорость загрузки! Благодаря виртуальному DOM, приложения на React загружаться гораздо быстрее аналогов. Они буквально летают.
- Быстрота разработки! Благодаря тому, что все приложения на React состоят из готовых компонентов, их легко и быстро можно создавать не выходя из рамок этой экосистемы.
- Одно из самых больших комьюнити! Тысячи опытных разработчиков готовы всегда прийти вам на помощь. Ну и наличие самой подробной документации, доступ к которой открыт для каждого - тоже не последний фактор.
Есть ли у React минусы? Мы видим всего один:
- Он достаточно сложен для изучения, особенно если его начинать изучать без базы, с полного нуля. Именно поэтому так важна программа курсов и последовательность в изучении. Знания должны накладываться друг на друга, как кирпичики. От малого к большему. Далее мы еще поговорим об этом.
Что должен уметь react-разработчик
Если в общих чертах, то:
- Уметь создавать приложения с нуля.
- Уметь работать с публичными API.
- Уметь работать с Flux, Redux, Mobx.
- Уметь профилировать свое приложение.
- Уметь тестировать свое приложение.
- Уметь создавать SPA и RIA приложения с нуля.
Но! В каждой кампании могут быть свои требования к react-разработчикам, поэтому самый лучший вариант узнать, каких знаний и навыков от вас будут ожидать, это проанализировать несколько объявлений.
Например, мы сделали это все на том-же hh.ru и видим следующее.
Вакансия - разработчик React (middle) с зарплатой от 200 тысяч в месяц.
Вам предстоит:
- Разработка и поддержка программных продуктов компании;
- Знакомиться и внедрять новейшие технологии;
- Code review;
- Оценка трудоемкости задач;
Мы ожидаем от Вас:
- Опыт работы в области Frontend developer (React) от 4 лет;
- Отличное знание языков JavaScript,Typescript;
- Практический опыт использования react, React (hooks) , Redux-Saga, Scss;
- Хорошее знание HTML/CSS;
- Хорошее знание методологий проектирования ПО и командной разработки;
- Умение оценивать объем и сроки работ;
- Навыки уверенной работы с GIT(TFS), системами bug tracking, плюсом будет владение TFS;
- Опыт написания unit тестов.
Вакансия Senior React developer с зарплатой от 300 тысяч в месяц.
Типичные задачи которые предстоит решать:
- Разработка и верстка компонентов для приложений на React ( это База );
- Написании бизнес-логики фичей ( иногда очень интересной );
- Исправление багов ( тоже База, стараемся их уменьшать доступными способами );
- Код-ревью коллег ( костыли иногда допустимы, но лучше без них );
- Участие в дейли, груммингах, оценках, ретро и планировании ( это Ритуалы, некоторые очень полезные );
- Декомпозиция крупных задач ( будем долго слушать почему задачу в 80 часов нельзя разбить хотя бы на 2 по 40 — нет );
- Рефакторинг существующей кодовой базы ( кто-то писал велосипеды, теперь мы делаем красиво — карма );
- Проведение релизов на прод ( у нас даже методичка и регламент есть ).
Ждем, что ты:
- Уверенно знаешь JavaScript, его основные концепции и актуальный синтаксис;
- Оперируешь асинхронщиной: event loop, таймеры, Promise, async/await;
- Владеешь версткой на достаточном уровне, чтобы собрать по Figmа и компонент, и страницу, знаешь препроцессоры ( SCSS, Less, Stylus ), умеешь в адаптив;
- Свободно пишешь клиентскую логику на фреймворке React, знаешь особенности его рендеринга и думаешь об оптимизациях;
- Понимаешь что такое код-ревью и в чем его ценность.
По такому-же принципу можно взять любое заинтересовавшее вас объявление и узнать, какие навыки вам понадобятся на новом месте работы.
Разработчик на react - где лучше всего учиться?
Если вы всерьез планируете освоить react, то обязательно обратите внимание на учебную программу того курса или онлайн-школы, которую вы выберете. Очень важна последовательность!
Сначала нужно изучить базу — HTML, CSS и JavaScript, а уже только потом переходить к изучению React. Учиться в другой последовательности нелогично. Это примерно как изучать технический английский без языковой базы. Даваться язык будет мучительно и с большим трудом.
Именно таким подходом к обучению может похвастаться онлайн-школа otus (это к вопросу к тому, где лучше всего изучать React). У них есть замечательный курс/профессия - React.js Developer.
Посмотреть учебную программу курса и записаться на него, можно здесь!
Есть также еще несколько отличных курсов повышения квалификации, например: "React. Разработка сложных клиентских приложений", который длится всего 2 месяца и на котором тоже есть возможность заниматься с наставником один на один.
Если же говорить об основном курсе React.js Developer, то длится он 4 месяца.
Для кого этот курс?
- JavaScript-разработчиков с навыками HTML/CSS.
- Backend-разработчиков, желающих стать Fullstack.
- начинающих React-разработчиков.
Необходимые знания
- HTML/CSS.
- опыт работы с JavaScript.
Будет большим плюсом
- знание основ работы браузера и браузерного API.
- базовые навыки работы с Git.
Оплачиваемая стажировка
О стажировке стоит сказать отдельно. Это тот самый момент, когда вам будут платить реальные деньги за то, что вы будете по сути учиться на практике. Очень мало где такое практикуется среди онлайн-школ.
На стажировке вы встретитесь с реальными заказами, дедлайнами и первыми заработанными деньгами по новой профессии, научитесь точно оценивать сроки и прокачаете по максимуму навыки командного взаимодействия.
Ну и конечно, получите тот самый опыт коммерческой разработки и заветную строчку в резюме, которые так важны для работодателей.
Еще несколько важных моментов, которые относятся к стажировке:
- Первый проект подберут под ваш уровень знаний и вашу скорость разработки. Поэтому не волнуйтесь, что вы не справитесь.
- Зарплата во время стажировки у вас будет такая же, как у младшего разработчика в российской it-компании.
- У вас будет свободный график работы. Ваш менеджер поможет распределить нагрузку, даже если у вас мало свободного времени и вы уже где-то работаете.
- Работать вы будет в команде с разработчиками, тестировщиком, менеджером и тимлидом. Все как в реальной жизни!
Ну и в заключение еще один нюанс именно этого курса по React от HTML academy.
Есть возможность стажировки с персональным обучением! Это самый эффективный способ начать карьеру react-разработчика и с самого первого дня учёбы набирать опыт работы в реальной IT‑компании. К завершению учёбы вы станете востребованным разработчиком уже с годом коммерческого опыта.
Как проходит собеседование на позицию React-разработчика
Безусловно, везде по разному, но есть ряд вопросов, которые задают практически везде. Подразумевается, что хороший react-разработчик должен знать ответы на них.
В крупных онлайн-школах обычно готовят своих студентов к собеседованию и всячески способствуют их трудоустройству, но лучше подстраховаться и проявить инициативу. Особенно, если вы будете изучать react где-то еще, там где помощь студентам в трудоустройстве не практикуется.
Вот эти вопросы, которые могут быть на собеседовании:
- Какие хуки вы знаете?
- Что такое виртуальный DOM?
- Как выполнить рендеринг элементов массива?
- Чем управляемые компоненты отличаются от неуправляемых?
- В чем разница между классовыми и функциональными компонентами?
- Что такое методы жизненного цикла компонента?
- В чем заключаются особенности использования useState?
- В чем заключаются особенности использования useEffect?
- Как отследить размонтирование функционального компонента?
- Что такое реквизиты в React?
- Что такое менеджер состояний и с какими из них вы работали?
- В каких случаях можно использовать локальное состояние, а когда следует использовать глобальное состояние?
- Что такое reducer в Redux и какие параметры он принимает?
- Что такое действие и как можно изменить состояние в Redux?
- Какой паттерн реализует Redux?
- Какой паттерн реализует Mobx?
- В чем заключаются особенности работы с Mobx?
- Как получить доступ к переменной в состоянии Mobx?
- В чем разница между Redux и Mobx?
- Что такое JSX?
Это только часть вопросов которые могут вам задать на собеседовании. Полный их список, а также ответы на них, вы можете изучить здесь. Очень крутая статья-шпаргалка! Рекомендуем добавить ее в закладки, она вам обязательно поможет.
Перспектива и зарплата react-разработчиков
React-разработчики уровня middle-senior зарабатывают очень хорошо, причем даже в РФ! И к тому же, на них есть устойчивый спрос на рынке труда! Чем не перспектива и что может мотивировать начинающего разработчика больше, чем возможность быстро сделать карьеру и выйти на абсолютно другой уровень по доходам?
По традиции, идем на самый крупный сайт вакансий и смотрим вилку по зарплате разработчиков со знанием React.
К сожалению, очень много вакансий без указания з/п и ее вы узнаете только когда откликнитесь на объявление, но даже проанализировав те что есть, уже можно сделать кое-какие выводы. Итак, смотрим.
React-разработчику с опытом 1-3 года уже готовы платить 150-200 тысяч рублей чистыми!
Если будете учиться, то после хороших курсов, начав с позиции junior, наработать необходимый опыт и стаж не так сложно. Можно начать, например, вот с такой вакансии. Берут вообще без опыта! Можно на удаленку.
Сколько зарабатывает Senior Frontend React-разработчик? Вакансий до 300 тысяч в месяц очень много. Есть даже еще интересней, но нужен реально уровень и опыт от 6 лет. Смотрим и видим следующее.
5.5 тысяч долларов, по сегодняшнему курсу (2024 г.) это полмиллиона в месяц! Много вы знаете профессий, где за 6 лет можно выйти на такую зарплату?
В общем подытоживая, хотим сказать следующее - если вам нравится фронтенд и вы выбрали javaScript, то для того, чтобы сделать карьеру нужно обязательно знать самые популярные и востребованные библиотеки и фреймворки. На сегодня это хотя-бы React, Vue, Node.js.
Если вы проанализируете любой сайт вакансий, то сами увидите, что это именно те навыки, которые работодатели сейчас хотят видеть в разработчиках.
Подписывайтесь на наш телеграмм, в котором мы публикуем анонсы новых курсов, новости, акции и скидки на обучении более чем 50 российских онлайн-школ и вы всегда будете в курсе того, что происходит на российском рынке онлайн-образования! Также будем признательны за лайк!
Реклама. Информация о рекламодателе доступна по ссылке в этой статье.