YOUNG

Как получить оффер на frontend-разработчика за 4 месяца

YOUNG
Евгений Косицын
Евгений Косицын

Ведущий frontend-разработчик в #CloudMTS

Алина Алещенко

Карьерный путь Евгения Косицына, ведущего frontend-разработчика в #CloudMTS, с момента, когда он впервые написал «<div>Hello world!</div>», длится вот уже четыре года. До того, как прийти во Frontend, он перепробовал множество профессий: учился на юриста, вел сообщества в VK, работал в кол-центре банка. В этом материале он рассказал о том, как вошел в IT-индустрию без знаний и опыта, чтобы помочь тем, кто только начинает этот нелегкий путь. 

Как получить оффер на frontend-разработчика за 4 месяца

SMM-менеджер и кредитный инспектор из казачьего университета

Я окончил МГУТУ им. К. Г. Разумовского по специальности «Юриспруденция», но юристом никогда не работал. Уже на втором курсе пришло осознание, что я ошибся с выбором профессии. Чтобы не расстраивать родителей, просто плыл по течению: ходил на пары, сдавал экзамены, получил диплом. Единственное, на что сгодилось мое образование, это бесплатные юридические консультации для близких родственников.

Как и многие студенты, после пар я подрабатывал. Сначала работал грузчиком-комплектовщиком на складе в «Комусе»: собирал заказы и складывал их в коробки. Полдня пары, полдня работа, и к вечеру ты уже не способен воспринимать реальность. 

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

У них была казенная бас-гитара, но она совсем не годилась чтобы играть как Фли из Red Hot Chili Peppers. Чтобы заработать на новую, мне помогли устроиться в рекламный отдел университета, и я стал вести социальные сети МГУТУ. 

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

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

  • Пробовать разные профессии полезно еще и для того, чтобы понять, чем вы точно не хотите заниматься. Например, я точно не хотел быть кредитным инспектором и юристом.

 

Читатель, познакомимся? Заполни короткую анкету по ссылке

Первые шаги во Frontend

Для меня судьбоносным стал просмотр сериала «Кремниевая долина». Тогда я вообще ничего не знал про современную IT-индустрию, и после просмотра очередной серии решил погуглить, что к чему, и оценить свои шансы на «войти в айти». Моим опытом в разработке на тот момент был фан-сайт рок-группы Green Day, собранный на конструкторе, и скудные знания языка Pascal со школьных уроков информатики.

В интернетах есть много roadmap-ов, как стать разработчиком того или иного типа, что нужно выучить. Тогда я узнал, что есть Frontend, Backend, мобильная разработка, тестировщики, аналитики и еще много других специальностей.


Читайте по теме: Как стать frontend-разработчиком в 2022 году — пошаговый план


Я выбрал Frontend, так как считал, что это самый безболезненный и быстрый путь. По сути, надо изучить HTML, CSS и JavaScript. Если владеешь первыми двумя, уже можешь верстать сайты. Стартовая зарплата не сильно больше, чем в кол-центре, но зато открываются перспективы дальше развиваться в IT. 

Я начал с двух вводных видео на Youtube: «HTML за час» и «CSS за час», они дали общее представление и помогли сформировать представления о системе, которую нужно было наполнить знаниями. 

  • Очень важно найти видео или курс, в котором вам простым языком объяснят, как вообще работать: какие программы выбрать, как все настроить для комфортной разработки. Например, как сделать hot reload, чтобы страница обновлялась после каждой правки кода, где открывать файлы Photoshop, чтобы сразу видеть стили, которые нужно будет применить, и т. д. В идеале — чтобы там же рассказали, как вообще программировать :)
  • Если вы решитесь обучаться бесплатно, то наткнетесь на большое количество курсов разной степени полезности. Отнеситесь к выбору ответственно. Почитайте отзывы или комментарии, ознакомьтесь с планом обучения, посмотрите первые уроки, понятно ли объясняют. На начальном этапе вы строите каркас для будущих знаний, и, если каркас будет хрупким, вам придется учиться заново и избавляться от мусора в голове.

Для меня виртуальным наставником стал Артем Исламов и его «Академия верстки». Это курсы для фрилансеров, которые я нашел в свободном доступе. Изначальный план был такой: HTML, CSS, JS, поиск первых заказчиков на фриланс-биржах (до этого шага я, кстати, так и не дошел).

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

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

Я работал по графику два через два, и на работе мое обучение продолжалось. На рабочем компьютере из инструментария разработчика мне был доступен обычный блокнот и браузер, в котором можно читать разметку. Между разговорами с клиентами банка и во время «гудков» я переписывал верстку нашей CRM-системы в блокнот, пытаясь понять, как она работает, затем менял формат txt на html, и у меня получался свой сайт.

За два месяца я научился неплохо верстать, кроссбраузерно и адаптивно, а вот Javascript давался с трудом. На курсах для фрилансеров сразу показывали jQuery. Это сбило меня с толку: я думал, что учу JS, а по сути учился работать с фреймворком. Другие уроки, что я нашел, выгружали на меня тонну информации и создавали кашу в голове. Оставалось надеяться, что заполнить пробелы в знаниях удастся уже на реальной работе.

 

100 отказов и три оффера

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

Кажется, я откликнулся на 100 вакансий, написал около 20 писем напрямую на email компаний и зарегистрировался на всех фриланс-биржах. На тот момент я был согласен вообще на все, лишь бы моих знаний хватило для трудоустройства.

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

По иронии судьбы, первое собеседование у меня было в МТС. Уже с первых вопросов я понял, что не потяну: надо было писать на React, а я не знал даже Javascript. И хотя мне предложили сделать тестовое задание, я быстро понял, что до этой работы мне еще надо «дорасти».

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

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

Наконец, третьей компанией стал «Техпорт» — онлайн-магазин электроники. На собеседовании я писал верстку на бумаге, отвечал на вопросы по CSS-свойствам и рассказывал про семантические теги, в итоге я был принят на работу верстальщиком.

 

От теории к практике

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

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

Я даже писал миграции (часть верстки лежала в базе данных) и правил PHP-код. Самый главный скилл, которому меня обучили — читать код, как обычный текст, это очень полезный навык в IT, помогает быстрее ориентироваться в незнакомом проекте.

Обучение в «полевых условиях» не сравнится с чтением документации и просмотром роликов.

Скрипты мы тогда писали на jQuery. Один из фронтендеров рассказал мне, что нужно от него отказываться и писать нативный JavaScript-код, а еще показал мне, что такое Vue. Я прочитал документацию по Vue и проходил бесплатные курсы на их сайте.

На следующем рабочем месте, в страховой компании «Согласие», я применил теоретические знания на практике: они как раз переписывали основной сайт с Bitrix на Vue + REST api. Чтобы быстрее освоить новый стек, я читал уже готовый код на Vue и имел возможность задавать вопросы его автору.

 

 

От разработки сайтов — к разработке биллинга в облачном провайдере

Шел 2020 год. Облачный бизнес МТС искал разработчика, чтобы начать писать CRM-систему для работы с клиентами. Собеседование проходило в два этапа, затем было тестовое задание. Нужно было сверстать интерфейс на Vue, который бы отрисовывал данные из api, и выложить его куда-нибудь, чтобы можно было покликать, в общем, типичная задача для фронтенда.

Но в задании была проблема с бэкендом. Оказалось, что я был единственным, кто справился с запретом кросс-доменных запросов (CORS). Меня попросили рассказать, как я это сделал, чтобы помочь остальным соискателям. Так я понял, что меня, скорее всего, возьмут. На собеседовании рассказывал, как реализовать аутентификацию, отвечал на вопросы JS и Vue.

 

Юрий Трухин, директор центра разработки #CloudMTS

Помню, как мы решили найти первого frontend-разработчика в проект CRM и биллинга облака. Ключевое требование — проактивность и готовность доставлять качественный и протестированный результат быстро. Это был один из наших первых проектов в центре разработки, и важно было принести пользу компании как можно раньше.

На вакансию откликнулось полсотни кандидатов, по соответствию скиллов осталось 20. Мы отправили тестовое задание, максимально приближенное к рабочим задачам. Его сделали 8 кандидатов. Женя отличился от всех тем, что не просто его сделал, а уделил внимание деталям — решение не просто работало, но и были продуманы многие вещи, существенно облегчающие пользовательский путь.

Женя поинтересовался не только тем, что нужно сделать, но и «зачем», «как это планируют использовать юзеры». И тогда мы решили, что нам по пути. После собеседования мы убедились в этом. Спустя почти два года могу сказать, что это был правильный выбор. 

 

Сейчас я решаю задачи облачного биллинга. Моя команда занимается разработкой всего, что касается оплаты наших продуктов: пополнением счёта, слежением за расходами и потреблением ресурсов. Наши сервисы занимаются потоковой обработкой и анализом данных с высоким RPS.

Рабочий день начинается с daily-стендапа, на котором мы обсуждаем что сделали и что планируем делать. Большую часть моей команды составляют бэкендеры. Еще у нас два тестировщика, технический писатель, аналитик и product owner, без него никак. Задач много, иногда рук не хватает, поэтому сейчас мы активно расширяем команду. 

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


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

Попасть в IT не-айтишнику: как сделать это в 2022 году?

Реально ли уйти в IT гуманитарию?


Здесь важно уметь менять контекст, без потери качества и скорости, этому мне еще предстоит научиться.

За два года работы в компании я опробовал на практике обширный стек технологий: Vue 3, pinia, TypeScript, работал со Storybook, Vite и многое другое. Наша облачная платформа имеет микросервисную архитектуру, поэтому мы используем фреймворк singleSPA, отвечающий за монтирование нескольких микроприложений на одной странице.

Программирование плотно вошло в мою жизнь: помимо работы в облачном провайдере, я веду pet-проекты: бот для предсказания результатов матчей по Dota 2, и совместный с коллегой проект — робот для торговли на бирже.

 

Что помогло мне войти в ИТ

ИТ, конечно же, не для всех. Не стоит тратить время, если единственная мотивация — это деньги. Нужно тренировать усидчивость, быть готовым досконально разобраться, как работают технологии. Это не поверхностное чтение документации и просмотр курсов, нужно постоянно писать код, совершать тысячи ошибок и переделывать.

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

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

 

HTML и CSS

 

JavaScript

Фото на обложке: Shutterstock / Trismegist san

Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Как компания хотела автоматизировать процесс, но запустила новый продукт: история роста и масштабирования
  2. 2 Выявить ценности вместе с сотрудниками: опыт компании
  3. 3 Как «СберМаркет» трансформировался в Retail media: кейс
  4. 4 Нанимать или взращивать? Разбираемся, откуда брать руководителей
  5. 5 Как использовать новые правила рекламы VK и увеличить прибыль бизнеса: инструкция