Код
#статьи

Как я выучил React и навсегда ушёл из фронтенда

Изучение первого языка похоже на лабиринт: никогда не знаешь, куда придёшь. Разработчик Влад Рыжов рассказал, как из React попал в бэкенд.

сайт LINGsCARS

Владислав Рыжов

об эксперте

Владислав Рыжов, в Twitter @_Vlod_. Работает в IT-компании Lad, пишет бэкенд на Node.js для «известной обувной сети». В свободное время изучает английский для путешествий.


В прошлом году я всё лето учил JavaScript и пообещал себе, что к 1 сентября закончу проходить все курсы, читать все книги и статьи по JS и наконец перейду к React. У меня получилось — даже осталась пара лишних дней.

Почему выбрал React? Причины прозаичны: он популярный, для него больше вакансий, и все вокруг советовали его учить.

В основе статьи — тред в Twitter.

С чего начал изучение

Наступило 1 сентября. Я приехал в общагу, включил видео «React за один час» на своём стареньком ноуте и начал создавать первое приложение с CRA.

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

Когда подготовил CRA, начал смотреть видос. Посмотрел, повторил за автором и… ничего не понял. Ну, почти ничего. Тогда решил пройти туториал на сайте React. Было интересно, но всё равно ничего не понятно.

Взялся за документацию. В течение 3–4 дней почитал базовую часть и начал пилить первый проект — игру-кликер с таблицей рейтинга, которая хранится в Firebase. Писал на классах, сторонние библиотеки не использовал, а с Firebase общался через обычный fetch. Закончил примерно за 1–2 недели.

Результат: я разобрался в основах и закрепил материал из документации.

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

Клон Twitter и первые успехи

Постепенно добрался до хуков. Там всё выглядело ещё страшнее и запутаннее. Видосы, документация и статьи не сильно помогали, но с основными хуками, кажется, разобрался.

Я стоял перед выбором: сделать свой проект или изучить ещё что-нибудь. Например, Redux, про который тоже все говорят. Документация к Redux — на английском, а с языком у меня проблемы, поэтому пока отложил его и решил запилить свою соцсеть. Почему бы и нет? У меня в Figma была пачка макетов Facebook*, Twitter и LinkedIn — я выбрал Twitter.

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

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

Когда я сделал основные опции, сразу же развернул проект на сервере, обновил резюме и кинул его в JavaScript Jobs. Позже зашёл на страницу проекта и увидел кучу критики и сообщений в стиле «ничего не работает», «хреновый проект» и так далее. Конечно, я немного расстроился, но продолжил допиливать фичи. Когда выложил новую версию, негативных отзывов уже не было — только тестовые («рыбные») сообщения в стиле «это мой пробный твит» и позитивный фидбэк.

Как я понял, что люблю бэкенд

Через пару недель меня позвали на собес в IT-компанию. В основном там задавали вопросы по списку, но всё же поинтересовались, писал ли я какие-то пет-проекты. Не знаю, насколько они помогли получить вакансию, — скорее всего, портфолио даже не смотрели, но попробовать для себя было круто.

После собеса я долго ждал ответа, но HR всегда была на связи. Пока ждал, начал смотреть курс на YouTube, где чувак тоже пилит Twitter, но на MERN-стеке. Тогда у меня внутри что-то щёлкнуло. Я понял, что мне больше нравится пилить бэкенд (да, кто-то скажет что бэк на Node — не бэк).

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

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

Я с головой погрузился в бэк, и меня взяли разрабатывать CI/CD-систему. Проект огромный, поэтому фронтом там занимается отдельная команда, а мы пишем только на Node.js и C#. Всего один раз мне пришлось поправить вызов функции в React. Больше к фронту я не прикасался.

Я очень рад, что у меня получилось перейти из одной области в другую и при этом ничего не потерять. С другой стороны, если бы я год назад начал изучать бэк, а не React, то, возможно, достиг бы большего и получил удовольствие от программирования. Вместо этого я учил то, что советовали, и не пробовал другие области, боялся не успеть стать разработчиком. Логика была такая: я уже почти освоил фронт, поэтому меняться поздно. Не зря же я всё это учил.

Сейчас у меня нет ни малейшего желания возвращаться к фронту. Не потому, что он плохой, — просто душа не лежит. И всё же React сделал своё дело: через него я вкатился в IT, а значит, сделал правильный выбор год назад.

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

* Решением суда запрещена «деятельность компании Meta Platforms Inc. по реализации продуктов — социальных сетей Facebook* и Instagram* на территории Российской Федерации по основаниям осуществления экстремистской деятельности».

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована