{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

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

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

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

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

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

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

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

А можно подробнее?

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

Да, прошу:
https://jobs.lever.co/tourradar/b8264bd3-d987-4273-a91c-f2d56912f074
Присылайте резюме.

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

Прочел текст вакансии еще раз: зачем вам Zepto? У вас там backbone/knockout или просто jquery/zepto кодовая база? Легаси много? Может это отпугивает людей...

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

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

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

По поводу zepto.
Крайне не рекомендую выбирать.
3 года назад стоял выбор пилить свою js либу или выбрать что-то готовое.
Поскольку до этого имели опыт долбежки со своей либой для дом событий, анимации и прочим, решили взять что-то готовое.
zepto единственное серьезное решение на рынке, но... оно не поддерживается.
Автор проекта откровенно забил на него и даже за деньги не готов ничего в нем менять.
1 - Код в стиле выноса мозга для производительности меньшего размера. Ничего изменить/исправить невозможно.
2 - Навалом мелких багов по определению размеров элементов, нет multi анимации и прочее.

P.S.:
Вот теперь не знаем, что делать.
То ли переписывать самим zepto, то ли пилить опять свою либо(но по опыту - жуткий гемор). А это критически важный модуль в продукте.

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

Поздно советовать :) Оно уже очень давно, со времен когда оно еще жило.
И на самом деле кучу вещей в нем исправили, добавили сами, так что это уже далеко не чистый zepto, а можно сказать частично доработанный.

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

И это прямо критически важный для вакансии скилл - опыт с Зепто? Думаю, вам его стоит перенести в стэк, а в требованиях пометить как good to have.

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

я думаю поменяем с " jQuery, Zepto" на " jQuery/Zepto"

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

Zepto то же самое что jQuery, только урезанный.
Вообще не парься.
Там и знать то нечего.

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

На дворе 2019 год, а альтернативы ему до сих пор нет :( для ряда проектов.
Нам нужна легкая, vanilla js либа для сложного UI продукта.
Все другие решения - поделки студентов, которые на полном серьезе считают что их костыльные решения подходят для Enterprise.

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

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

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

вы бы еще добавили тут для тех, кто читает комментарии: сколько готовы платить. Не в плане цифры, а в плане того - сколько останется (для накоплений), если жить одному/вдвоем в однушке + нормально питаться, заниматься спортом... в общем, обычные запросы рядового поселенца.

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

Тут сорри. Не в моей компетенции обсужать зарплаты. Но люди переезжают (кто один, кто с женой и детьми). Вроде хватает всем.
Как-нибудь напишу пост про переезд в Астрию, если соберусь.

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

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

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