«Я рыдал над проектами, которые мне давали переверстать»

«Я рыдал над проектами, которые мне давали переверстать»

Сергей Ерёменко — о непростой работе на заводе, программе Free Frontend, двух стажировках в GeekBrains и правильных собеседованиях
11 минут13528

Привет! Меня зовут Сергей. Мне 30 лет, из них почти десять я интересуюсь веб-технологиями, но зарабатывать этим начал только два года назад. Расскажу, почему путь в профессию получился долгим, как его можно ускорить и что нужно знать, чтобы пройти собеседование на джуниор-фронтенд-разработчика. А ещё — что самое захватывающее в работе фронтендера.

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

В образе чёрта участвую в постановке «Ведение козы». У нас есть традиция щедрования на Рождество, и вслед за щедровальниками водят козу...

Веб-технологиями я увлёкся стихийно — решил взломать браузерную игру и узнать, как она устроена. Дальше начал писать скрипты для игрового бота AutoClicker, попробовал сделать сайт для игрового клана, по справочникам изучил HTML и CSS. 

Когда окончил вуз с дипломом специалиста по метрологии, решил получить второе высшее и освоить информационные технологии в Политехе. Увы, в тот раз не получилось: на выбранной специальности я оказался единственным заочником, лекций для меня не вели, а устаревшая учебная программа и лишние предметы не вдохновляли. Плюс мне поручили курсовую по ещё незнакомым мне тогда PHP и MySQL. Я забрал документы и пошёл работать инженером по качеству на завод. А сам потихоньку осваивал JavaScript и PHP ради интереса. Но дело шло медленно, ведь мне не с кем было посоветоваться, что и как учить дальше, некому показать свой код.

Почему я бросил ОТК

Инженер по качеству — специалист, который должен проверять каждого рабочего и находить, где тот накосячил. Пропустишь брак — штраф и пиши объяснительную. Видишь, что недоукомплектовка, нет запчастей — а вышестоящие договорились между собой, что и так сойдёт. Приносят бумажку «Всё хорошо» — принимай. К простым рабочим отношение лучше, чем к ОТК, потому что они делают продукт, а «контролёры просто ходят туда-сюда».

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

Второй завод производил конвекторы и водонагреватели. Целый день я стоял у конвейера. Нам давали полчаса на обед и перерывы: 10 минут в первой половине дня и 5 минут — во второй. Две недели нужно было работать в дневную смену и две — в ночную. График для тех, кто хочет убить здоровье. 

На третьем заводе — по изготовлению элеваторов — я подготовил для руководства и технических отделов доклад и презентацию «Как повысить качество на производстве». Мне предложили пару сотен надбавки (не долларов и не евро). Чтобы получать больше, нужно стать начальником, а для этого обязательно иметь стаж 10–15 лет или связи.

Начало перемен

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

Продолжил осваивать профессию сам — искал разные материалы, читал статьи и справочники. На тот момент в YouTube ещё не было такого изобилия уроков, да я их и не особо искал. Больше ориентировался на сайты о программировании, где можно было найти годные статьи и справочники. В итоге выбрал пару книг Николаса Закаса с понятными объяснениями и примерами кода: «JavaScript для профессиональных веб-разработчиков» и «ECMAScript 6 для разработчиков».

Позже я увидел в VK рекламу курсов GeekBrains и по описанию понял: вот этого мне и не хватало. Живой преподаватель, стажировка для опыта и студенты, с которыми можно обсудить учёбу. К моменту записи на курсы я уже знал, что мне нужно изучить. В программе были темы, из-за которых я до этого завалил первое собеседование на frontend-джуниора.

Раньше онлайн-курсы я всерьёз не воспринимал — считал, что полноценной может быть только очная учёба, когда приходишь в аудиторию и слушаешь. Кроме того, частные курсы не внушали мне доверия. Как-то раз я обратился в «подвальную» веб-студию, которая предлагала бесплатное обучение с дальнейшим трудоустройством к ним. Мне выдали два архива с видеоуроками по Bootstrap и всё. Больше я туда не пошёл — понял, что с таким же успехом сам могу учиться.

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

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

Как я выиграл курс Free Frontend

На бесплатный курс фронтенда я попал по итогам конкурса, который проходил в мае 2018 года. Претендентов было около шести тысяч. На первом этапе мы проходили тест по основам дискретной математики и логики. Тут были задачи типа «перевести число 98723948723 из 35-й степени в 13-ю». Были и сбивающие с толку вопросы на логику, например «Мышки живут в дереве, у дерева есть тапочки. Если мышки пойдут гулять в тапочках, будет ли верным утверждение, что дерево пошло гулять?». Тест я с трудом сдал с третьей попытки, набрав 10 из 15 баллов.

На втором этапе мы писали функции для решения задач в духе «вывести все простые числа». Решения нужно было загружать в Git-репозиторий.

На третьем этапе нужно было писать функции уже на портале GB. И ещё обязательно снять видео о себе.

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

Как изучить Frontend-разработку с нуля

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

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

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

Барьеры в обучении

Поначалу я с трудом понимал ООП в JavaScript (старый синтаксис). По-настоящему я научился его использовать, когда стал наставником и начал по несколько раз пересматривать лекции, чтобы пересказывать их студентам! 

На курсе React мне пришлось пять раз посмотреть урок по Redux и законспектировать его, прежде чем в моей голове выстроилось нужное решение. Почти всё новое воспринимается с трудом и только потом становится понятным.

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

Стажировки в GeekBrains

Я прошёл две стажировки: на курсах веб-разработки и Free Frontend. На первой мы делали приложение для велопутешественников: разрабатывали идеи для проекта, изучали API карт, реализовывали функцию построения маршрутов. На выходе получили рабочий прототип, разве что не оформленный, потому что дизайнеров среди нас не было.

На стажировке в рамках курса Free Frontend мы разбились на команды по шесть человек — каждая делала свой проект. Наша команда писала приложение учёта финансов на базе React и Ruby. Я взял на себя роль тимлида, изучил конкурентов и отзывы пользователей, составил список необходимых продукту функций и наиболее интересных фишек. 

По сравнению с другими командами мы успели не так много, зато приобрели очень востребованный — как я потом убедился — опыт работы с React. После того как я включил этот проект в портфолио, меня о нём обязательно спрашивал каждый HR, с которым я общался. Кроме того, на стажировке я разобрался с настройкой Webpack-сборщика, освоил новую библиотеку Material-UI с готовыми компонентами для React, потренировался в решении проблем, поиске информации, организации работы команды.

Тестовые задания, которые мне позже давали на собеседованиях, были проще, чем проект на стажировке! Но были и сложные — например, сверстать целую адаптивную страницу с использованием React. Мой совет: не ведитесь на такие объёмные задания и не позволяйте использовать свой кропотливый труд даром. Это может войти в привычку.

Вот, кстати, моё выполненное тестовое задание на React

Проекты: самое трудное и интересное

Главное, чему я научился в GeekBrains при попутной работе на фрилансе, — качественно делать свою работу. Например, меня спрашивали, как увеличить скорость загрузки страницы, и я делал оптимизацию.

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

Мне давали ужасные макеты без адаптива, и я делал из них красоту, как учили на курсах. Для меня бессонные ночи в погоне за дедлайном не сравнятся с офисной работой! Я посвятил много лет тому, чтобы стать фронтенд-разработчиком, а сейчас стремлюсь расти как специалист — изучить Node JS, работу с сервером (Linux) и веб-безопасность.

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

Выводы из собеседований

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

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

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

  • увлечь интервьюера дискуссией, в которой вы раскроете свои знания (если получится),
  • спросить, как вопрос связан с будущей работой. 

Считаю, ответ на второй вопрос не должен быть расплывчатым, в духе «Вам могут поставить такую задачу, а вы не справитесь». Если задача выходит за рамки ваших обязанностей, работодатель должен быть готов оплатить время на её изучение. А дальше — «Привет, братишка-гуглишка»!

Как я сам проводил собеседование

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

Я считаю, если вы хотите заниматься веб-вёрсткой, важно:

  • уметь работать в Figma и Photoshop — хотя бы на базовом уровне, чтобы сохранять картинки из макета;
  • знать чистый JavaScript;
  • знать CSS flex, сетки, препроцессоры, сборщики, БЭМ. 

На первом этапе — всё! Этого достаточно, чтобы верстать проекты и зарабатывать деньги. Всему этому учат на курсах GeekBrains, плюс по данным темам полно бесплатных вебинаров.

Когда вы получите больше опыта, то сможете расширять свои навыки — освоить React и разобраться, как посадить вёрстку на CMS (систему управления контентом сайта).

Впечатления от учёбы и наставничества

В учёбе каждый блок полезен, преподавателей много, и они классные! Отдельно отмечу Владимира Языкова (хоть он сейчас и не преподаёт): именно под его руководством я сделал первую вёрстку с оптимизацией под Google PageSpeed.

Спасибо преподавателям, на чьих курсах я был и остаюсь наставником — я очень доволен этим опытом! Вообще, «послы доброй воли» в GB — наставники — заслуживают отдельного рассказа. Студенты ждут от нас магии с перемещением википедии в личные сообщения или иногда даже работы преподавателя. Но мы обычные студенты, которые по личной инициативе и на безвозмездной основе стараются отвечать на вопросы других учащихся.

Я уже три года наставничаю на курсах фронтенда. Занимаюсь этим, потому что в начале пути сам прочувствовал, как важно вовремя получать ответы на вопросы. Заодно повторяю пройденный материал и упражняюсь в чтении чужого кода. Присоединяйтесь! :) Мы все общаемся в чате для наставников и любим читать отзывы своих студентов. У меня сейчас, например, есть ученица, которой я постоянно помогаю и стараюсь передать всё, что знаю.

Планы и перспективы

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

Зачем фронтенд-разработчику веб-безопасность

Перед пандемией в GeekBrains раздавали три бесплатных курса на выбор, и я был очень рад, когда увидел среди них один по веб-безопасности! Ещё два курса, которые я взял, — «Управление проектом» (пригодится для будущего роста в тимлида) и «Алгоритмы и структуры данных» (полезны для сложного кодинга). Первый курс уже прошёл, смотрю уроки по Linux, дальше планирую изучать серверную безопасность. Даже если не придётся плотно заниматься этим направлением, хочу хотя бы в общих чертах понимать эту сторону проекта. 

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

Хотите узнать истории других фронтенд-разработчиков, которые освоили профессию в GeekBrains?

программированиеfrontend_developerистории успеха
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!
Posts popup