Как найти первую работу frontend

Как научиться фронтенд-разработке, найти первую работу и не набить шишек

Время на прочтение
10 мин

Количество просмотров 40K

image

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

О том, как правильно учиться, как не набить шишек и двигаться по карьере, мы расспросили у Олега Шикова, декана факультета веб-разработки в GeekBrains и у Дарьи Дьячковой, начинающей веб-разработчицы.


В 2015 году Дарья Дьячкова поступила в НИУ ВШЭ на факультет Мировой экономики и мировой политики потому что в школе больше всего любила языки — учила английский и немецкий, постоянно выигрывала олимпиады. Ей нравилась эта сфера, но не до блеска в глазах, поэтому Дарья продолжала искать будущую профессию. В 2018 году она пришла на день карьеры в одно из HR-агентств, после которого сменила направление в неожиданном направлении.

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

Дома она начала гуглить, смотреть обзоры профессий. Раньше Дарья мастерила веб-странички на Tilda и Wix, вела свой блог-обзор международных новостей, поэтому подумала о фронтенде в первую очередь. Тем не менее она просмотрела все вводные вебинары профессий и языков программирования, попробовала написать маленький кусочек кода на нескольких языках программирования и выбрала JS, как самый близкий по духу.


Что делают фронтендеры

«Если вы открываете любую страницу в браузере, все, что вы видите перед собой на странице — это делают фронтендеры. Но на самом деле их работа намного сложнее одного внешнего вида», — рассказывает Олег Шиков, декан факультета веб-разработки в GeekBrains.

Олег писал код с детства. Первые эксперименты были на языке С, а в 2011 году он перешел на Javascript. Многое из того, что есть в технологии сейчас, тогда только зарождалось. HTML и CSS не имели больших возможностей, а в индустрии преобладал Flash. Профессия в целом была намного проще — всего лишь HTML-верстка и несложное оформление. Достаточно было писать теги и красиво их оформлять на CSS. Пользователи нажимали кнопку, и страница полностью обновлялась. Уходил запрос на сервер, сервер отдавал новую верстку. Но такой подход не позволял делать отзывчивый интерфейс.

«Задача фронтендера в наши дни — строить логику сайтов на стороне браузера», — говорит Олег, «Эта логика разрабатывается на языке программирования JavaScript. Современные сайты могут полностью работать на стороне клиента, делая запросы серверу лишь изредка, например, чтобы сохранить данные пользователя или загрузить необходимую информацию. То есть сейчас мы запрашиваем не полностью обновленную страницу, а только необходимую информацию, и грамотно ее отрисовываем в браузере. Благодаря такому поведению, сайты становятся отзывчивее и экономят часть трафика пользователя».


Учить фронтенд — это учить JavaScript?

Определившись с направлением, Дарья поступила на факультет веб-разработки в GeekBrains. В представлении многих обучение фронтенду слилось с изучением языка Javascript, но, как считает Олег Шиков — это не совсем верно.

«Первое с чего надо начать — это конечно HTML. Он предельно прост, с ним очень легко справиться, очень легко написать свой первый сайт. Конечно, он не будет отзывчивым, но он будет работать, и его уже можно будет выложить в интернет. Далее необходимо добавить этому сайту красивый внешний вид, чтобы это было не просто полотно текста, а удобная и красивая страница с визуальными элементами. В этом поможет CSS – каскадные таблицы стилей. Пары недель хватит, чтобы освоить и HTML, и CSS. А сразу после надо приступать к JavaScript, потому что он — основа основ для того, чтобы делать отзывчивый интерфейс».

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

«Несколько лет назад все дружно ругали PHP, сейчас все дружно ругают JavaScript, это такой мейнстрим. Конечно, JavaScript не без проблем, с этим никто не спорит. Но например, TypeScript (другой популярный язык от Microsoft, являющийся расширением возможностей JS) не выполняется в браузере сам — он переводится (компилируется) в JavaScript. Если мы что-то напишем на TypeScript, то все равно получим JavaScript, который уже выполнится в браузере. Чтобы грамотно отлаживать код необходимо знать JavaScript и уметь работать с браузером».

Но Дарья находит время, чтобы учить вещи, которые и не входят в программу.
«Я привыкла много учить и разбираться до конца, я из тех людей, кто читает все дополнительные материалы к статьям и делает доп.задания, потому что им просто интересно. Нахожу время осваивать, например, Nuxt.js, Typescript, Vue.js, Webpack и Stylus».


Что такое React, Vue и Angular и как их выбирать

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

Библиотека — это тоже JavaScript код, уже написанный другими разработчиками. Он предоставляет удобный набор решений, чтобы выполнять заготовленные действия, которые регулярно требуются в работе. В вебе есть большое разнообразие таких библиотек, которые упрощают написание отзывчивых интерфейсов для веб-сайтов. В их числе самые известные — это React, Vue и Angular.

«Выбор между ними — сложный вопрос. Можно выучить все три. Это не сверхсложная задача, потому что когда поймешь, как работать с одним, каждый последующий будет учить проще. Но по моим наблюдениям, они используются немного в разных сферах. Angular — один из самых старых. Он чаще используется в корпоративном сегменте, на больших проектах, с поддержкой легаси кода, который был написан несколько лет назад. React используется повсеместно. Он первый в списке, когда пишут новые интерфейсы и веб-сервисы. Про Vue можно сказать, что он простой, молодой, крутой и мейнстримный.

Я бы советовал попробовать написать простую логику на всех трех фреймворках — условно говоря todo лист — на основании своих ощущений понять, какой нравится больше, и учить его. Либо посмотреть вакансии в своем городе, и выбирать, например, React, потому что большинство вакансий на фронтенд-разработчиков требуют знания именно React. Но переучиваться потом будет не сложно».

Дарья пишет приключенческие романы и разрабатывает на Nuxt.js справочник по вселенной своей книги. Еще она делает проекты и лендинги для своих друзей, поэтому выучила адаптивную верстку, медиа-запросы и прочее. «Я начала React.js, придумала проект на будущее, который хочу воплотить на React Native. Пока планирую архитектуру, рисую блок-схемами, и читаю про технологии, которые можно использовать».


Как проходит учеба

«Когда началось обучение, преподаватели все отлично объясняли – для меня важно выстроить полученные знания в систему. Домашние задания помогали закрепить навык, бонусом давали наводку где и что ещё поучить. Много читала и осваивала сама, смотрела руководства и мини уроки на YouTube. На GeekBrains всегда можно написать преподавателю или наставнику курса или своей группе в чат. Все помогут, объяснят. Если нашел интересную статью – тоже есть с кем поделиться и обсудить.

Думаю, ощущения, когда видишь свой первый Hello world, не забудет никто. Да и в целом, ощущения, когда сделал по макету красивый UI, а он ещё и работает – это драйв».

Учеба длится полтора года. Олег Шиков считает, что просто учить синтаксис — это скучно, поэтому учеба сразу строится вокруг проектов. «Мы даем базовые вещи, синтаксис, и сразу пытаемся применить их на практике, пишем простые веб-страницы. После этого мы даем PHP, тем самым обучая студентов бекенд (серверной) разработке. Некоторым начинающим разработчикам кажется, что достаточно выучить HTML с JavaScript, и этого хватит, чтобы стать востребованным на рынке. На деле не совсем так. Нужно знать архитектуру, алгоритмы, паттерны и фреймворки — и не просто знать. Необходима еще практика, надо написать свой продукт, поучаствовать в коллективной разработке».

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

Помимо учебы Дарья любит заниматься на платформе Kodiri.com, где проходят международные соревнования по JS. «Там можно тренироваться и одному, решать задания на время, точность и красоту кода. Я познакомилась с основателем платформы Рикардо — он классный парень. Теперь пишу для них задачки. К каждому заданию я прикладываю эталонное решение и тесты (так я, кстати, начала писать юнит тесты). Мне забавно соревноваться с другими игроками, когда вероятность, что хотя бы одно из пяти заданий будет твоего авторства ≈0.94. Да, я посчитала, мне было любопытно, почему я так часто их встречаю. Свои честно решаю и в ответы не смотрю. Захватывает элемент геймификации, я уже получила высшие погоны (Императорское Величество), теперь осталось подвинуть Юраша как лучшего игрока месяца. Этого элемента игры и духа соревнования в обучении мне недоставало, в целом, думаю, стоит добавлять подобные возможности в образовательные платформы. Несколько дней задачек Kodiri на скорость, и я во сне напишу arr.map(e =>».


Поиски первой работы

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

«Я знаю студентов, которые получали первые заказы или устраивались в фирмы на третей четверти. Они продолжали обучение, совмещая его уже с работой. Все зависит от человека и его способности учиться. Начинающему разработчику проще устроиться в маленькую компанию, чем в большую. В компаниях вроде Mail.ru или «Яндекс» строгий отбор. Далеко не каждый опытный разработчик сможет туда устроиться. Но попытать счастья, конечно, может каждый».

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

«На первом собеседовании было страшно. Я откликнулась на вакансию фронтенд разработчик Vue. Готовилась тщательно, повторила весь материал JS и Vue, и все что выучила за полгода GeekUniversity, разобрала tricky questions и всякие мелочи, где JS ведёт себя непредсказуемо. Собеседование проходило по Skype. Небольшая компания, сразу техническое интервью, минуя HR. Я бодро отвечала на вопросы, мы говорили целый час… а потом оказалось, что они всё-таки искали фулстек разработчика. Бывает».

image
На Хабр Карьере вы можете посмотреть свежие вакансии для фронтендеров и подписаться на рассылку новых.

«Джуниор-разработчикам задают простые вопросы, чтобы убедиться, что они знают основы», считает Олег, — «Я бы спросил про адаптивную и семантическую верстку, про то, как работать с чистым JavaScript. Сейчас тренд на фреймворки и библиотеки, те же React, Vue и Angular, а «ванильный» JavaScript без дополнительных библиотек — его не все знают. Я бы хотел убедиться, что разработчик знает, как с ним работать, а не сразу кинулся в лагерь условного React.

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

«Спустя ещё два собеседования мне порекомендовали продолжить обучение и попробовать снова позже. Нужны были и общие знания — протоколы, архитектурные решения и прочее. Я и сама понимала, устраиваться было рано. Поэтому нашла классную смежную работу с ИТ — устроилась инженером технической поддержки в Букмейт. В обязанностях отвечать читателям на вопросы по работе приложения и сайта, что-то мелкое советовать как чинить, на проблемы покрупнее оформлять баги в JIRA и Confluence. Плюс, теперь отлично представляю, как обычные пользователи юзают UI/UX нашего приложения. Подсказка, «это не баг, это фича». Или когда разработчики хотели как лучше, а пользователи не поняли, как это и зачем.

Хороший шанс посмотреть на обе стороны — как пользователи юзают приложение, и как разработчики его развивают и чинят».


Как развиваться в профессии

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

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

В чистом JavaScript такого нет, там переменная может иметь любой тип, и это иногда приводит к ошибкам. Вы ожидаете число в переменной, а получаете, например, строку или объект, и у вас из-за этого ломается логика работы программы. TypeScript помогает избежать такой ошибки.

Сейчас многие смотрят в сторону PWA. Дело в том, что, как я уже говорил, рынок смартфонов огромный. Большинство пользователей, которые заходят к вам на сайт, с большой вероятностью делают это с телефона.

PWA (Progressive Web Applications) — это сайты, которые имеют дополнительные возможности, позволяющие удобно работать с ними в том числе со смартфона. Например, на андроиде PWA-сайт можно добавить себе на на стартовый экран и запускать, просто нажимая иконку. Есть возможности, которые позволяют улучшить сайт так, что он будет работать, даже когда на смартфоне нет интернета. То есть, это практически нативное приложение. Недавно Google выпустил обновление Google Play, благодаря которому вы можете добавить свой PWA-сайт в магазин, и пользователи смогут его скачивать и обновлять как обычное нативное приложение, которое почти неотличимо от обычного, написанного, например, на Java. А на самом деле оно написано на JavaScript и сверстано с помощью HTML.


Зарплаты

Медиана зарплаты фронтендера-стажёра находится на уровне 35 тысяч рублей. Специалист младшего уровня может рассчитывать на 50 тыс., миддл — уже на 97 тыс. Синьор и лид получают в среднем 170-190 тысяч рублей.


По данным калькулятора зарплат Хабр Карьеры средняя зарплата фронтенд-разработчика составляет чуть менее 110 000 рублей (диаграмма кликабельна).


Что почитать и посмотреть для самостоятельного изучения

Онлайн:

  • Сайт по изучению JS learn.javascript.ru
  • Сайт по изучению паттернов refactoring.guru/ru
  • Очень удобная песочница JS и HTML/CSS прямо в браузере с возможностью делиться результатами своей работы — jsfiddle.net

Книги непосредственно про JS и HTML/CSS:

  • You Don’t Know JS (есть перевод на русский „Вы не знаете JS“)
  • »HTML5. Недостающее руководство». Мэтью Макдональд
  • «Большая книга CSS3». Дэвид Сойер Макфарланд
  • «JavaScript. Подробное руководство». Флэнаган Дэвид
  • «JavaScript. Шаблоны». Стефанов Стоян
  • «JavaScript. Оптимизация производительности». Закас Николас.

Книги по программированию:

  • «Объектно-ориентированное мышление». Мэтт Вайсфельд
  • «Совершенный код». Стив Макконнелл
  • «Изучаем SQL. Линн Бейли или MySQL 5». Игорь Симдянов, Максим Кузнецов
  • «Регулярные выражения». Фридл Джеффри
  • «Приемы объектно-ориентированного проектирования. Паттерны проектирования». Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес
  • «Чистый код». Роберт Мартин
  • «Компьютерные сети». Эндрю Таненбаум, Дэвид Уэзеролл
  • «Современные операционные системы». Эндрю Таненбаум, Херберт Бос
  • «Алгоритмы. Построение и анализ». Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн.

Вот я и закончил профессию «Фронтенд-разработчик» на Хекслете. На руках заветный сертификат, но это только начало.

  • Знакомство с вёрсткой
  • Интенсивы
  • Про Хекслет
  • Про резюме и трудности при смене профессии
  • Про собеседования
  • Про проекты на Хекслете
  • Про Open Source
  • Заветная работа
  • Благодарности

Меня зовут Евгений. По образованию я инженер КИПиА. Моя основная работа связана с обслуживанием различных систем автоматики. В основном, это инженерные системы. Автоматизация вентиляции, отопления, обслуживание измерительных датчиков. Но в мою работу входило также и программирование промышленных контроллеров. Для меня это всегда была самая сложная и интересная работа. Но так вышло, что со временем на работе таких задач стало все меньше, и я больше занимался техническим обслуживанием инженерных систем и поддержанием их рабочего состояния. Мне стало скучно. И я решил, что хочу больше заниматься именно программированием.

Свой путь в «большое» программирование я начал в 2015 году, когда вдруг осознал, что действительно хочу стать разработчиком. Тогда я начал активно читать «Хабрахабр», при этом большую часть статей я не особо понимал, но все равно было очень интересно. Нужно было выбрать первый язык. Я пошерстил интернет на эту тему, перечитал уйму разных статей — и выбрал Python. В качестве курсов я выбрал Codecademy и начал читать Марка Лутца «Изучаем Python». Даже поставил себе цель на SmartProgress и каждый день описывал свой прогресс. Вот ссылка. Курсы на Codecademy оказались довольно поверхностными, а книга Лутца очень объемной.

Тогда я начал искать какие-то дополнительные ресурсы для изучения программирования, наткнулся на Хекслет и даже зарегистрировался на нем. Но учиться на нем тогда не начал, потому что на тот момент меня больше привлек сервис Checkio.org. У него был очень клёвый дизайн и много интересных задачек по Python.

Чтение Лутца, курсы на Codecademy и решение задач на Checkio, отписка на SmartProgress — в таком вялотекущем режиме прошел мой 2015-й год. Прогресса особого не было, нужно было писать какой-то свой pet-project, чтобы применять полученные знания. Но я не знал как. И забросил это дело.

Знакомство с вёрсткой

В 2016 году я озадачился тем, что хочу сделать собственный сайт, но не знаю как. Тогда я хотел запустить свой бизнес — конечно же в интернете. Собирал сайт на конструкторе, пробовал установить WordPress и сделать что-то на нём. Я хотел, чтобы всё было красиво, а получалось либо коряво, либо результат меня совсем не устраивал. Тогда я понял, что мне нужно изучить вёрстку. Я нашел Html-Academy и её интерактивные курсы — и меня затянуло. Я прошел все бесплатные курсы и даже на месяц купил подписку. Всё это обучение шло параллельно с основной работой. Тогда я начал верстать свои первые макеты, стало что-то получаться. Так прошел весь 2016 и половина 2017 года. Когда HTML и CSS я более или менее освоил, то понял, что совсем не знаю JavaScript. Я выбрал его как основной язык и начал активное изучение. Начал с книги «Eloquent JavaScript», тогда же я стал больше смотреть тематических видео на YouTube.

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

Интенсивы

Мое обучение шло довольно медленно. И я решил, что мне не хватает практики и командной работы. В начале 2018 года я принял решение пройти базовый курс по вёрстке от Html-Academy. Даже не смотря на то, что вёрстку на тот момент я более или менее знал, выбрал именно базовый курс — но самый сложный макет. Курс оказался очень интересным и насыщенным. На выходе я получил свёрстанный интернет-магазин, который не стыдно было положить в портфолио. Но так как на тот момент я уже больше изучал JS, а на втором курсе академии была продвинутая вёрстка, я купил интенсив от Loftschool. Потому что в нём, судя по описанию, было больше JavaScript и еще давали Vue.js. Летом я закончил этот курс, где сделал за все время собственный сайт-портфолио и немного изучил Vue. Но всё равно чего-то не хватало. Было много практических заданий, но как будто не было прочных фундаментальных знаний. В тот момент я начал активно читать Slack Хекслета и смотреть лекции на YouTube. И меня очень сильно зацепило. Я понял — вон оно, это именно то, что мне нужно! И с 1 сентября, я, как прилежный ученик, начал проходить курсы на Хекслет.

Про Хекслет

Я выбрал профессию «Фронтенд-JavaScript» и поставил себе цель — полностью пройти профессию и завершить все проекты. Что больше всего меня поразило, так это то, что на самом базовом курсе «Введение в программирование» даются очень глубокие фундаментальные знания. Особенно мне понравился сам формат обучения. Небольшая лекция и сразу практическая задача. Это позволяло учиться в комфортном режиме. Что было, как бальзам на душу, по сравнению с 2-х часовыми вебинарами на других курсах. Уровень практических задач заставлял мой мозг сильно напрягаться. Это не было похоже на Codecademy, плюс много непонятных терминов — СИКП, пары cons, car, cdr, рекурсия, каррирование. Что это вообще такое? Курс «Введение в программирование» пролетел незаметно. Я, не раздумывая, оплатил подписку и продолжил свой путь.

Мне очень понравилось, что если ты не можешь долго решить задачу, к каждой есть топики. В них можно задать свой вопрос, либо найти чей то ответ, который подтолкнёт тебя к верному решению. Также у Хекслета очень дружелюбное комьюнити в Slack — можно задать свой вопрос там. Спасибо всем ребятам, кто не раз помогал мне, когда я упирался в проблему.  Единственное, чего мне не хватило для более качественного обучения — личного наставника, к которому всегда можно обратиться за советом. Но насколько я знаю, у Хекслета уже есть такая возможность.

Про резюме и трудности при смене профессии

Работу программистом я начал искать в середине 2018 после окончания курса на Loftschool. Для начала нужно было составить резюме, и я решил оформить его на «Мой круг». В резюме я указал все свои учебные проекты и желаемую должность — frontend-разработчик. Но одного сервиса «Мой круг» было недостаточно, так как основная площадка для поиска работы — это HH. Вот тут начались проблемы — у меня уже было резюме на HH по основной специальности, я решил создать новое. Но с новым резюме я никак не мог пройти модерацию, потому что постоянно прилетал отказ.

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

Используя эти две площадки, я начал мониторить рынок и откликаться на вакансии. Я принял решение сразу позиционировать себя как frontend-разработчик — без приставок junior. На основной работе у меня был хороший доход, поэтому при смене профессии я решил, что буду искать примерно такой же уровень. Но тогда я еще был готов к просадке в 20% на начальном этапе.

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

Про собеседования

Первое приглашение на собеседование я получил в какую-то аутсорсинговую компанию. Они занимались разработкой софта для банковского сектора и даже игр. Но это было не техническое собеседование, а скорее общее с HR и директором компании. В целом оно прошло гладко — из вопросов я больше всего запомнил часть про методологию scrum, agile (про них я ничего не знал). А также у меня спросили почему Vue, а не React? Мне не перезвонили, и я продолжил свои поиски.

Второе собеседование было в компанию, которая разрабатывала софт для государственных заказчиков. На этот раз это было чисто техническое собеседование. Собеседовал меня один на один тимлид компании. Гонял по всем вопросам — HTML, СSS, Git, performance, как работает браузер, сети, HTTP, JavaScript, Vue.js. На первую половину вопросов я ответил довольно бодро и уверенно. А когда пошли более глубокие вопросы по JS и Vue — начал немного плавать. В целом я оказался крайне доволен этим собеседованием, так как прошёл его достойно. Тимлид дал мне положительный фидбек и готов был взять на работу — нужно было согласование с hr и бизнесом. Но у них оказались другие планы. Через два дня на созвоне с HR она мне отказала, по причине того, что у меня нет коммерческого опыта разработки. И за такую сумму они не готовы меня нанять, так как им легче найти на рынке студента с меньшими амбициями. Я не сильно расстроился и продолжил искать дальше.

Летом 2019 на меня выходит HR крупной туристической компании и предлагает работу. Я соглашаюсь на скайп-интервью. Беседа с техническими специалистами показала, что они не очень уверены в моих знаниях и предложили выполнить тестовое задание. Я согласился. Нужно было реализовать небольшое SPA-приложение на Vue — корзину покупок. Две недели я активно делал это задание и старался сделать его максимально качественно. Я по максимуму прилизал приложение и задеплоил его на Github pages. Не успел только написать тесты, и отправил на проверку.

Неделю я ждал от компании ответа. Первично они оценили его положительно, но взяли время для окончательного принятия решения. И вот, спустя неделю, я получаю от них на почту свой первый оффер! Я был немного ошарашен. В оффере говорилось, что они по достоинству оценили мое тестовое и выбрали в качестве финального кандидата меня. Зарплату мне предложили такую же как на моей основной работе. Всё выглядело просто шикарно, но меня накрыл страх. Мне вдруг резко стало страшно. Страшно уходить с текущей работы, здесь я всё знаю, все стабильно. Что ждёт меня там? Я же ничего не знаю. Ничего не умею. А вдруг я не справлюсь? А вдруг меня уволят? Как я буду платить за ипотеку? Все эти вопросы роем кружились в моей голове и я, как будто находился в оцепенении. Я не знал что мне делать. Я созвонился с HR и начал более подробно расспрашивать про компанию и про работу.

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

Поиски работы продолжились. После этого было еще несколько собеседований, всех уже не вспомнить. Но больше всего я запомнил своё самое провальное собеседование. Это была небольшая компания, которая занималась логистикой. Я нашел их на HH и откликнулся, даже не смотря на странный стек. На клиенте они использовали Backbone, Marionette, MVC-архитектуру. Меня позвали на собеседование. Не то чтобы я прям хотел работать в этой компании, скорее наоборот. Я согласился только ради опыта собеседования. Все пошло не по плану с самого начала — меня завели в переговорку и попросили подождать. Собес проводили сразу три разработчика, должности их я не знал. Они начали сразу немного в агрессивной форме. После вопросов обо мне, начали указывать мне на баги, которые нашли в моих учебных работах. И говорили об этом в ироничном ключе. Я сразу стал жутко переживать, и чувствовать себя неловко. Отвечая на один вопрос, меня могли перебить и тут же задать другой. Сложилось впечатление, что разработчики тешили своё ЧСВ. Потом мне дали самую простую задачку. Написать на листочке функцию анаграмму. Я конечно же знал, как перевернуть строку, но так как изначально я сильно растерялся, захотел почему то решить её именно через рекурсию. Но шестерёнки в моем мозгу, как будто заклинило, и я даже не смог выдать рабочее решение. Я попросил другую задачу, но опять же не смог её решить. В итоге интервьюер сказал, что собеседование на этом закончено. И поглумился над тем, что я джун, а прошу такую большую зарплату. Вот такой был факап. Но я не расстроился. Этот случай наоборот придал мне уверенности, и я продолжил свои поиски.

Про проекты на Хекслете

Параллельно с поиском работы я продолжал активно учиться на Хекслете и проходить проекты. Первый проект оказался не таким сложным — самое трудное было настроить окружение, CI/CD, разобраться, как работает npm, как опубликовать пакет и записать asciinemу. Проект который взорвал мой мозг — вычислитель отличий, вот где по-настоящему пришлось попотеть. Помню, были моменты, когда ты открываешь шаг и просто не понимаешь, как к нему подступиться. Это было больно — но через эту боль я чувствовал, что расту.

Самый интересный момент произошёл со мной в начале 2020 года. В начале января я оплатил четвертый проект. В то же время в Slack-канале job я увидел интересное объявление, которое меня заинтриговало, где пользователь Михаил запрашивал помощь в разработке Open Source проекта конференции IT Global Meetup. Стек: React, Storeon, Parcel. Опыта в опенсорсе у меня не было. Единственный PR, который я сделал — были примеры тестовых для hexlet/ru-test-assignments. Я тогда только закончил курсы по React/Redux, но не писал на этих технологиях. Я написал Михаилу, что так мол и так. Такой то опыт — готов помочь. И оказался в деле. Также со мной в команде оказались ребята из Slack-комьюнити Хекслета.

Про Open Source

Проект я тогда отложил и погрузился в этот Open Source. Мы работали с ребятами в команде, проводили совместные созвоны, распределяли задачи через issues на GitHub. Постоянно обсуждали какие-то решения в нашем телеграм-чате. В общем — это была настоящая командная работа. Не все фичи, которые мы разрабатывали, попали в итоге в продакшен, но с горем пополам этот проект был запущен. Конечно, пандемия коронавируса внесла свои коррективы в работу конференции IT Global Meetup, но это уже другая история. Этот проект очень сильно мне помог. Я почти сразу добавил его первым пунктом в своё резюме. И на всех последующих собеседованиях выглядел уже более привлекательно для работодателей.

Мой совет всем новичкам — не бойтесь опенсорса. Хотите получить реальный опыт работы, но не знаете как? Open Source —  ваш лучший выбор! Даже сейчас я стараюсь находить свободное время и контрибьютить в опенсорс. Например, в проекты Хекслета.

Заветная работа

В марте этого года мне неожиданно прилетает письмо на почту, примерно такого содержания. «Евгений, ваше резюме на HH еще актуально? Ищем сейчас фронтендера. Требования — такие…, задачи…, условия…. Смотрю на лейбл отправителя — компания «Газпромнефть». Я был заинтригован и тут же дал ответ — мол да, актуально. Списываемся в телеге, созвон, мне рассказывают более подробно про проект и стек. Звучит интересно, я договариваюсь на этот же день на собеседование. Приезжаю к ним уже через полтора часа. Беседую с руководителем и бекенд-разработчиком. По технологиям расспрашивает фронтендер. Всё проходит очень гладко. Мне задают вопрос, в случае успешного рассмотрения, через какой срок я готов выйти на работу ? Я говорю, что минимум через две недели. Прощаемся. На следующий день звонок. Евгений — твою кандидатуру утвердили. Радуюсь в душе. Ура! Меня готовы взять. Но вида не подаю. Говорю, что готов к ним выйти, но чтобы запустить процедуру увольнения, хочу получить от них официальный оффер. Мне говорят, что контора крупная и всё идёт через бюрократию долго. Я понимаю, что возможно ничего мне не светит в данной ситуации и тупо забиваю. Тем более в самом разгаре началась пандемия коронавируса и карантин. Продолжаю дальше ходить на свою работу и параллельно откликаться на вакансии. Каково же было моё удивления, когда спустя почти месяц, мне прилетает на почту официальный оффер. С требованием принять решение до конца дня. Снова всё тот же страх накатывает на меня. Сердце бешено колотится в груди, и я судорожно решаю, что же мне делать. Трезво оценив ситуацию и посовещавшись с женой, я понимаю — что это мой шанс и его нельзя упускать. Я же так давно его ждал. Я подписываю оффер и в этот же день пишу заявление на увольнение. Я прыгнул в омут с головой и ничуть об этом не жалею.

Читайте и другие истории успеха:
Решить первый проект во сне и стать программистом, или Как Хекслет подарил мне состояние потока

В итоге я работаю фронтенд-разработчиком в крупной компании, которая занимается цифровыми решениями. У меня интересный проект, связанный с большим объемом данных и их визуализацией. Мой стек на текущей работе: Vue.js, Vuex, Vue-router. Выучил я его, потому что активно использовал для выполнения тестовых заданий. Но данный стек — не приговор, в свободное время я пишу на React.

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

Благодарности

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

Хекслет помог мне посмотреть на мир программирования под другим углом, я стал глубже разбираться в фундаментальных основах и по-другому анализировать и решать инженерные задачи. Также хотел сказать огромное спасибо наставникам и всем участникам комьюнити в Slack. Ребята — вы супер! Мои планы на будущее не ограничиваются фронтендом. Я собираюсь пройти профессию по бекенду и поглубже изучить Node.js. В свободное время продолжу контрибьютить в Open Source проекты.

Мой совет всем, кто только в начале пути. Ребята, верьте в себя! Ставьте себе цель и потихоньку идите к ней. Старайтесь выделять на обучение хотя бы 30 минут в день. Как можно раньше ходите на собеседования. Слушайте подкасты и посещайте конференции. Не зацикливайтесь на технологиях и расширяйте кругозор.
Таков мой путь. Он был не быстрым, но его надо было пройти.

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

Содержание:

  • Где и как учиться? 
  • Когда начинать искать работу, но не заканчивать обучение?
  • Как подготовиться к собеседованию и не терять мотивацию при отказах
  • Компании, в которые стоит и не стоит идти начинающему разработчику
  • Мой первый оффер: как вести себя на новом месте работы
  • Советы по дальнейшему продвижению по карьерной лестнице

Тому, чтобы войти в IT, сейчас есть несколько причин: 

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

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

Если вбить поисковой запрос «frontend developer» на самом популярном сайте поиска работы, то на апрель 2022 только в Москве найдется свыше 2300 вакансий с разным необходимым опытом и зарплатной вилкой. А если точно такой же запрос ввести уже по всей России, то это более 5300 вакансий. Дефицит кадров налицо!

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

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

Где и как учиться?

Если вы твердо решили пойти по пути обучения frontend-разработке, то перед вами встанет вопрос: «Где начать свое обучение?» Для себя я выделяю 3 основных варианта:

  • Курсы;
  • Менторинг — этакий гибридный вариант, что-то среднее между самообучением и курсами;
  • Самообучение.

Остановимся на этих трех пунктах подробнее и разберем каждый из них.

Курсы

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

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

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

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

Кроме того, есть некоторые компании, которые предлагают учиться бесплатно, а оплатить обучение уже после трудоустройства. Тут также есть нюанс: после обучения они могут склонить ученика придумать историю о том, что он уже давно работает, и будут настаивать трудоустраиваться на senior-позиции.

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

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

Я лично знаю курсы, где преподавал мой коллега, который стал программистом менее полугода назад.

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

Менторинг

Менторинг — гибридный вариант между курсами и самообучением. Ментор должен быть профессионалом с большим опытом работы в той области, куда стремится попасть ученик.

Ментор направляет ученика на пути обучения. Встреч с ним будет намного меньше, чем на курсах с преподавателями. Преимущество такого варианта — вы занимаетесь с ментором один на один, и все время на ваших встречах будет направлено на обучение. Кроме того, плюс такого подхода — то, что ментора выбираете вы сами, а не создатель какого-либо платного курса.

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

Сам в свое время занимался именно с ментором, что ускорило обучение.

Самообучение

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

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

Если же вы все-таки выбрали этот вариант, рекомендую присмотреться к сайту https://learn.javascript.ru/ (его считаю энциклопедией frontend’a на русском языке) и недавно созданному https://doka.guide/.

Когда начинать искать работу, но не заканчивать обучение?

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

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

Могу сказать, что хорошо бы к моменту начала трудоустройства как минимум прочитать первые два раздела с сайта https://learn.javascript.ru/, т. к. без этих основ будет тяжело проходить какое-либо собеседование.

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

Как подготовиться к собеседованию и не терять мотивацию при отказах

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

Я бы рекомендовал порешать задачки на codewars либо leetcode, поскольку велик шанс, что вас попросят решить какую-либо задачу на собеседовании.

Возможно, после первых собеседований вы не получите офферов, это нормально. Важно понимать, что прохождение собеседований — это навык, и его необходимо развивать.

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

Компании, в которые стоит и не стоит идти начинающему разработчику

Разумеется, это личное субъективное мнение.

Разработчик без опыта работы может претендовать на зарплату от 70 до 120 тысяч рублей. Однако лично знаю девушку, которая вышла на свою первую работу frontend-разработчиком на 160 тысяч, но это скорее исключение из правил. Важно понимать, что уже через год ваша зарплата может быть больше в два раза.

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

Продуктовые разрабатывают свой продукт(интернет-магазин/онлайн-кинотеатр/etc) и им важно его качество. Аутсорсинговые же компании не разрабатывают свой продукт, а предоставляют своих разработчиков другим компаниям на различные проекты.

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

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

Мой первый оффер: как вести себя на новом месте работы

Поздравляю! Вы получили свой первый оффер и думаете выходить на новое место работы. Дам несколько советов перед стартом:

  • Принимайте задачи с максимально четким техническим заданием, если что-то непонятно, просите больше деталей. Хорошо поставленная задача — это основа хорошо сделанной задачи! Иначе без четкого ТЗ возможен вариант, что вы будете несколько раз переделывать, и первоначальные требования в итоге поменяются.
  • Старайтесь больше общаться с коллегами, задавайте вопросы. Так вы продолжаете учиться с еще большей скоростью. Если вы устроились на удаленную работу, но есть возможность иногда приходить в офис, советую это делать, т. к. процесс погружения в работу пойдет быстрее.
  • Не бойтесь сложных задач. В первое время, возможно, будет попадаться много таких, но их легко сделать простыми. Воспользуйтесь правилом декомпозиции. Всегда легче сделать несколько небольших задач, чем одну большую.

Советы по дальнейшему продвижению по карьерной лестнице

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

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

Старайтесь, и у вас все получится!


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

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

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

В статье отсутствуют статистические данные, всё написанное — моё личное мнение. Чтобы слегка усилить «важность» моего мнения, скажу, что официально занимаюсь разработкой с 2012 года, это помогает мне выжить.

Для написания статьи я посмотрел:

  • вакансии работы в офисе в Москве (уровень Junior);
  • вакансии работы в офис в Москве (уровень Middle и выше);
  • вакансии удалённой работы на Stack Overflow jobs (уровень Middle и выше);
  • пообщался с коллегами.

Зачем?

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

Дата просмотра вакансий — 4 марта 2019 года, раннее утро (GMT+3).

Junior

Всего на HeadHunter по запросу «Frontend» найдено 1255 вакансий (не все из них про фронтенд).

По запросу «Junior frontend» — 63 вакансии (и не все из них Junior-разработчики).

Всего по запросу «Верстальщик» — 341 вакансия.

Вывод 0: с вёрсткой заскочить в горящий поезд фронтенд-зарплат легче. Горящий, потому что со всех сторон давит реклама о том, как у нас весело (у нас и правда весело, но усилий приложить нужно порядком, как и везде).

Про вёрстку

Про вёрстку интересный расклад. Все просмотренные вакансии с фильтром оклада от 200 тысяч рублей (дабы нагулять аппетит) требуют знание HTML, CSS (что логично) и умение адаптивно верстать красивые интерфейсы (что нелогично, так как я не люблю вёрстку).

Вывод 1: вёрстку можно не любить, но лучше освежить свои знания и сверстать на досуге макет по последнему слову техники (Flex, Grid).

При устройстве на работу в качестве Middle-разработчика и старше у вас гораздо больше шансов делать то, что нравится. Речь не только про вёрстку. Например, при желании и возможности такого разделения в команде вы будете заниматься преимущественно автоматическим e2e-тестированием.

P.S. Cитуация с Remote-предложениями на SO ещё больше намекает на необходимость актуального навыка верстки. Кстати, на данный момент вакансий всего 46.

P.P.S. Я опросил знакомых русских middle-разработчиков и старше. Большинство не верстает (выборка крайне маленькая — восемь человек, но близка к моему опыту, я тоже очень давно не верстал). Зарубежные коллеги с моего последнего контракта верстают на 100% (опрошено четыре человека).

Middle

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

Я уверен, вас не испугает большое количество библиотек и инструментов в описании вакансии, так как в процессе работы на позиции Junior вы уже с ними познакомились. Однако вам придется усердно налечь на основы Javascript, чтобы быть готовым решать задачи на собеседовании на чистом Javascript.

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

Вывод 2: для выхода в средний дивизион вам строго необходимы знания нативного (Vanilla) Javascript.

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

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

Senior, Team lead

Вкусная позиция, большая ответственность.

Добавляйте в список того, что вам потребуется:

  • CI/CD, Docker, Kubernetes — как будете «поставлять свой продукт». Здесь вам на помощь придет коллега из цеха «админов», но это не точно.
  • Типизация (Flow или Typescript). Вы этому, скорее всего, научитесь на Middle-позиции.
  • Вёрстка и всё, что вокруг: SVG, Canvas, WebGL… (зависит от специфики компании).
  • Backend на любом из языков (в том числе подойдёт и Node.js), а также навыки работы с базами данных.
  • Практический опыт и понимание, как построить большое приложение.
  • Умение проводить code review.
  • Английский язык на уровне прохождения собеседований (не совсем актуально для русскоговорящих компаний, однако такие игроки на нашем рынке есть).

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

Для позиции Team lead вам потребуется опыт руководства командой.

Вывод 5: не отказывайтесь стать руководителем команды будучи на любом уровне развития. В опыт «руководства» зачтётся даже то, что вы руководили email-рассылкой и парой верстальщиков, когда сами были верстальщиком.

Портфолио

Для устройства на позицию Junior — строго обязательно. В портфолио можно положить вёрстку макетов из интернета и прикрепить профиль на GitHub, где вы будете коллекционировать тестовые задания и ваши поделки.

Дальше до уровня Middle всё просто — у вас будет что показать, так как вы должны были что-то делать, пока работали на позиции Junior.

Senior-уровень потребует от вас крепкого проекта, над которым вы работали, в который внесли значимый вклад. Либо потребуется ваш хобби-проект. Я специально не пишу «вклад в opensource», потому что «вкладывать туда» обычно некогда.

Вывод 6: регулярно прокачивайте свой уровень. Берите ответственность на работе за какие-то фичи. Коллекционируйте заслуги и минимум раз в год обсуждайте повышение.

Позиция Team lead потребует внушительный проект за спиной или вы станете Team lead на текущей работе.

Вывод 7: на уровне Middle постарайтесь попасть в сильную команду. Смотрите и впитывайте: как проходят code review, как релизится проект, как происходят «планёрки».

Тестовые задания

Выполнение ТЗ для позиций Junior, Middle — строго обязательно. Если вам не дали ТЗ, задумайтесь, а не «шарашкина» ли это контора. Все сомнения должно развеять собеседование.

На позиции выше Middle тестовые задания чаще не дают, чем дают. На собеседовании вы решаете задачи, рассказываете о том, что умеете, знакомитесь с членами команды, задаёте вопросы. Такое собеседование может быть достаточно длинным по времени.

Итого

Технологии

Учим (актуализируем) вёрстку, разбираемся в типизации, читаем на английском.

Лирика

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

Я считаю, рост из Junior в Middle (как в знаниях, так и в зарплате) — самый простой. Также на этом шаге вы наверняка сможете закрывать свои рядовые потребности.

Senior frontend developer — на сайтах с вакансиями выглядит красиво, особенно рядом с указанной зарплатой. Думаю, что потребуется три года минимум, начиная с того дня, когда вы начали работу на позиции Junior.

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

Выпускники курсов по JavaScript часто спрашивают, что делать после обучения. Где искать работу? Какую область разработки выбрать?

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

Некоторыми рекомендациями очень просто воспользоваться, некоторыми сложнее. Они отсортированы по субъективной степени сложности реализации, но как на самом деле — станет понятно только на практике.

Сложность 0/10. Ничего не делать

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

Для остальных есть целый ряд идей, как повысить шансы устроиться на работу в интересную компанию.

Сложность 1/10. Используйте бесплатные онлайн-конференции

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

Например, посмотрите расписание митапов на сайте Dev.Events. Среди запланированных событий вы найдете немало бесплатных в любом разделе разработки.

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

Сложность 2/10. Учите английский язык

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

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

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

Сложность 3/10. Общайтесь не только напрямую с работодателями, но и с рекрутерами

Возможно, прямо сейчас у рекрутера заказали специалиста именно с вашей компетенцией. Возможно, закажут в будущем. Оставляйте сведения о себе, обновляйте их регулярно. Хорошие места для виртуальных контактов с рекрутерами в IT — LinkedIn, Хабр Карьера, ваши профили в StackOverflow и на GitHub. Проявляйте желание, будьте активными, и вас обязательно заметят.

Сложность 4/10. Рассказывайте о своих идеях и находках в социальных сетях

Думаете, что знаете слишком мало? Скорее всего, это не так. Оглянитесь в недалёкое прошлое — как много вы узнали за последние полгода? Кто-то ещё только начинает движение по вашим стопам, а вы уже умеете и верстать, и программировать.

После того, как вы побываете на виртуальных конференциях и послушаете презентации, у вас наверняка появится собственный взгляд по изложенным темам. На конференциях участники задают вопросы, и часто эти вопросы вы бы сформулировали по-другому. Сделайте это. Расскажите о своей идее единомышленникам Вконтакте, на Фейсбуке или в Телеграме — в социальных сетях вы без труда найдёте группу по интересам. К примеру, есть форум по JavaScript в VK и в группе академии, а ещё чат сообщества Академии.

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

Сложность 5/10. Обсуждайте ответы на вопросы на StackOverflow

Работает так — вы находите вопрос, который вам интересен, изучаете его и комментируете. Если пока учите английский, используйте русский (но для тренировки можете пробовать составлять ответы по-английски). Участвуйте в обсуждениях на StackOverflow. Пробуйте рекомендованные ответы, отмечайте хорошие. Задавайте свои вопросы.

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

Сложность 6/10. Ходите на онлайн и офлайн-собеседования.

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

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

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

Сложность 7/10. Делайте проекты публично, под запись, например, на Ютубе

Любые проекты, которые придут в голову. Даже если вы повторяете React-redux counter, вы всегда привнесёте что-то от себя. Если комментирование в микрофон собственных действий не ваш конёк, делайте задачки и выкладывайте их на гитхаб.

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

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

Сложность 9/10. Предлагайте вклад в Open Source проекты.

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

Это и самая сложная, и одновременно самая простая рекомендация. Начните с инструкции по первому вкладу в проект, и дальше всё получится. Может оказаться, что не вы будете искать работу, а компании будут стоять в очереди за вашей экспертизой.

Сложность 11/10! Наймите себя на работу сами

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

Да и HTML Academy всё равно гарантирует трудоустройство выпускникам профессии — так что оставьте этот сложный вариант на крайний случай

Ещё по теме

  • Как провалить собеседование
  • 17 ошибок, которые испортят любое резюме
  • 10 правил онлайн-собеседований

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

ТелеграмПодкастБесплатные учебники

Понравилась статья? Поделить с друзьями:
  • Как найти количество теплоты конденсатора
  • Как найти объем вытесненной жидкости равен
  • Как найти тангенциальное ускорение по закону
  • Как составить план реализации по во времени
  • Как найти маму утку