{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

Поговорим о фронтенд-вакансиях

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

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

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

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

Зачем?

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

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

Junior

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

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

По запросу «Верстальщик HTML» — 143 вакансии.

Всего по запросу «Верстальщик» — 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 — это позиция, на которой в команде спрашивать вам будет некого, а отвечать за продукт придётся. К этому нужно прийти с хорошим багажом знаний, который можно сформировать только при большом интересе к профессии.

0
88 комментариев
Написать комментарий...
Evgeny Morozov

Много букав идите нахуй я скажу тем кто требует много от веб-разработчика, стаж им подавай в какой-то компании, а сами они не обучают на рабочем месте... Ещё какие-то тесты проходить, откуда черпать опыт - если его нету по некоторым пунктам? Я читаю требования ага это я знаю знаю JS понимаю немного, и в самом низу знания английского на уровне разговорного - я блть вам англичанин чтоле или переводчик с русского на английский... Я пользуюсь переводом в Гугл Транслите.
А верстать эти страницы, адаптивность, SVG, что-то в JS понимать, владеть этим изи - я думаю почти все умеют даже без знаний английского.

Соискатели которые составляют эти анкеты по поиску разработсчиков, идите вы заднее место со своим ЧАЕМ И ПЕЧЕНЬКАМИ И ВКУСНЯШКАМИ,
Ещё какие-то сверх ебанутые тесты нужно решить, задачи, готовься к дедлайну, вы только на мозг капаете... А объяснить простым языком не можете кто вам нужен и для каких задач.
АНГЛИЧАНИНА ИМ ПОДАВАЙ - всё умеющего... Только из-за этого я не рассматриваю ваши вакансии потому-что я не знаю разговорный английский. ВАШ КРУГ ПОИСКА ПРОГРАММИСТОВ СУЖАЕТСЯ КОГДА вы требуете знания английского, понимать 5-10% английских слов я понимаю но я не разговариваю на английском.

Так-же как и Англичанин не шарит за русский БАЗАР.

Ответить
Развернуть ветку
LegoR

Моя твоя не понимать, хоть и на русском, вроде, пишешь.

Ответить
Развернуть ветку
1 комментарий
Александр Лазарев

Многие компании. Работают на аутсорсинг, и ты на прямую общаешься с заказчиками на английском. У нас в РБ все так it- компании работают.

Ответить
Развернуть ветку
5 комментариев
Dmitry Esin

Разошлю-ка я hr'ам из списка контактов твой месседж с просьбой включить в чёрный список, в следующий раз будет понимание вещать на всеобщее обозрение свои токсичные мысли :)

Ответить
Развернуть ветку
Anton Chukanov

Что-то у меня пригорело от фразы "для роста с джуна до синьора нужно 3 года".
При том, что синьоров во всех вакансиях, что я видел, ищут с опытом хотя бы 6+ лет, а иногда и 8+

Ответить
Развернуть ветку
Anton Izmaylov

8 лет опыта работы с React & Vue

Ответить
Развернуть ветку
Max Patsitansky
Автор

У самого горит, от того как некоторые молодые ребята вжаривают :) Но на самом деле это опечатка, я думал о "минимум 3 года". Исправил, спасибо.

В целом ,по вакансиям, согласен про 6-8 лет. Году этак в 2015м, кстати, спрашивали про 3+ лет опыта, если я ничего не путаю.

Ответить
Развернуть ветку
Юрин Иван
Ответить
Развернуть ветку
Юрин Иван

Ну слушайте, давно же карты есть по вакансиям
к примеру
https://github.com/kamranahmedse/developer-roadmap

Ответить
Развернуть ветку
Dima Kotobotov

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

Ответить
Развернуть ветку
22 комментария
Александр Александрович

у меня есть классная вакансия, могу скинуть в личку)

Ответить
Развернуть ветку
Max Patsitansky
Автор

Вы лучше скиньте ее здесь, коллективный разум разберет - классная она или нет (хм).

Ответить
Развернуть ветку
Anton Chukanov

Часто слышу про классные вакансии, а скидывают вакансии Яндекса.

Ответить
Развернуть ветку
Ilya Konovalov

Что то про мидла вообще мало. Никаких советов по стеку. Чистый js это прекрасно, но как правило все это идет в связке с фреймворками сегодня. Или я не прав?

Ответить
Развернуть ветку
Max Patsitansky
Автор

На данный момент есть три кита: React, Angular, Vue. Не важно какой из них вы выбрали (выберете), вы будете работать с неким стандартным набором библиотек. Все это обычно изучается в процессе первой адекватной работы, где есть кого спросить. Далее при переходе в другую команду, если фреймворк такой же, то обсуждают нативный js + фреймворк, а если другой то смотрят насколько человек подкован в основах, чтобы прикинуть как быстро его можно прокачать.

Ответить
Развернуть ветку
1 комментарий
Anton Usov

Да хрен найдешь хорошего Мидла. Ищем, можно без React, Vue и прочего. Переезд в Австрию оплачиваем. Не найти, наизучают фремворкки, а про чистый JS на половину вопросов ответить не могут, верстают как коровы и тест кейсы хрен знает как делают

Ответить
Развернуть ветку
42 комментария
Рустам Фатов

все это скучно бро, хочется просто легких денег)

Ответить
Развернуть ветку
85 комментариев
Раскрывать всегда