Как стать middle frontend-разработчиком бесплатно от Яндекс Практикум
С момента моей последней публикации не прошло и года, но мне уже есть чем поделиться. Эта статья будет продолжением и возможно не последней. Так уж получилось, что мне удалось бесплатно получить тикет на курс middle frontend-разработчик от Яндекс Практикума по программе Цифровые профессии 2022. Этим опытом я бы и хотел с Вами поделиться. Статья будет полезна тру верстальщикам, джунам фронтендерам и тем кто в поиске обучения
Кратко о моем стеке на начало курса: нативный JS, браузерные события, DOM API, AJAX, SCSS, GULP, адаптивная верстка, навыки работы с вектором и растровыми изображениями.
Чтобы попасть на курс, нужно было пройти предварительное тестирование и несколько этапов интервью. На сколько мне известно на курс попадают не все, критерии отбора мне не известны. Но будьте готовы к тому, что всё не просто так.
Мой поток начался в сентябре и закончился неделю назад. Всего было девять спринтов, которые были разделены на два модуля. Первый модуль самостоятельная работа, второй модуль командная разработка. Также была доступна всего одна отсрочка, которая давала возможность перехода в следующий поток без отчисления по цифровым профессиям. Я воспользовался отсрочкой уже на первом спринте, так как не ожидал подобного формата обучения. Из моего прошлого опыта обучения я ожидал более простых задач, меньше теории, меньше практики, большей сбалансированности и последовательности. Но всё пошло не по плану с самого начала. Так как я был знаком лишь поверхностно с классами в JS старт для меня оказался достаточно сложным, задачей для первого модуля было создание мессенджера на вебсокетах на самописном компоненте наподобие классового компонента React. Туда же сразу можно закинуть настройку express, parcel, webpack, docker, шаблонизатор handlebars, mocha, chai, typescript, MVC. Первый модуль состоял из четырех спринтов. Каждый спринт занимал примерно две-три недели. Неделя теории и тренажеров, неделя практики, два синка, один из которых вступительный, второй о наболевшем. Не ждите от скайпов готовых решений и не надейтесь на других студентов. Не озвучили свою проблему, наставник не предоставил решение. Скайпы скорее так, возможность быть в одном инфополе и для определения вектора. Общение со студентами и организаторами было в пачке и телеграмме. Времени на расслабиться практически не было, более того, на протяжении первого модуля я сгорал несколько раз. Моего опыта не хватало на то, чтобы быстро решать таски, и теория, и тренажеры, и практика давалась мне со скрипом. Помощь приходила от наставника, иногда от других студентов, но в целом как мне кажется миддл это про самостоятельность. И этот навык я достаточно сильно прокачал именно на первом модуле. Я думал, что сяду за школьную парту, а мне выдали инструмент и сказали идти работать.
Несколько советов:
расслабиться можно только в строго отведенное время при условии сданных задач;
ни в коем случае не сдаваться, будет сложно, но вполне выполнимо;
не молчать о проблемах, обязательно кто-то поможет, или куратор, или наставник, или ментор, или другие студенты;
не быть перфекционистом, что-то может работать не идеально, главное, чтобы работало. Доработать можно потом;
курс не о верстке, курс о технологиях и для мировозрения;
не все технологии получится понять сразу, понимание чего-то возможно придет только во втором модуле;
закладывать по 2-4 часа 4-5 раз в неделю на обучение.
Второй модуль про командную разработку. Основной задачей было создание 2D игры на canvas. Допом туда же форум, таблица лидеров, авторизация, лайки, темная тема. Из технологий добавились: React, Redux Toolkit, Postgres, GIT FLOW, Sequelize, Docker Compose, NGINX, react-testing-library, CI/CD, работа с Яндекс Облаком, таски ставились в linear. На данном модуле многое будет зависеть от софт скиллов и от Вашей командной солянки. Мне с командой очень повезло, лидером сделали на работающего инженера со стройки, также было пару ребят без коммерческого опыта, но со знанием react. Мы были разноплановыми и гибкими к постановке задач, никто не тянул одеяло на себя, все брали себе задачи по желаниям и возможностям. Я к примеру много внимания уделял самому react и его окружению и практически не касался бэка, кто-то взял на себя бэк и ci/cd. Второй модуль чуть менее интенсивный, но не менее интересный. Здесь пришло понимание того, зачем был первый модуль, здесь удалось закрыть пробелы по технологиям из первого модуля, здесь пришло понимание командной работы и целостности, и помимо всего прочего было относительно много полезной теории, как устроен сервер, кеширование, безопасность, https и многое другое. Более низкая интенсивность позволила закрыть долги по тренажерам. Для успешного прохождения курса требовалось закрыть темы алгоритмы и структуры данных. По времени на это уйдет не менее недели упорной каждодневной работы. Мне это далось достаточно тяжело, но я планирую вернуться к этому чуть позже.
Как итог наверное поделюсь следующими мыслями: от начала до конца курса ненависть к Практикума замещалась любовью, гнев замещался пониманием, тревога сменилась на удовлетворение. Не могу сказать что по окончанию курса я стал матёрым мидлом, но опыт и знания которые я получил бесценны. Ни на ютубе, ни по статьям такого однозначно не получишь. На уровне сокурсников с первого обучения и знакомых джунов я чувствую себя гораздо увереннее и просто не хочу себя гордо называть мидлом, да и вообще я работаю фулстак/тимлидом так то. Но душу греет, что скоро приедет мой сертификат и, чтобы его получить пришлось приложить достаточно много усилий. Отдельное спасибо Яндекс Практикуму и программе Цифровые профессии за такую возможность! Это были фантастически прогрессивные, интересные и бессонные восемь месяцев:) Всем удачи!