Поговорим о фронтенд-вакансиях
Привет, в этом материале я расскажу про текущую ситуацию на рынке фронтенд-вакансий (с точки зрения технологий, а не зарплат). Затрону темы портфолио и тестовых заданий.
В статье отсутствуют статистические данные, всё написанное — моё личное мнение. Чтобы слегка усилить «важность» моего мнения, скажу, что официально занимаюсь разработкой с 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 — это позиция, на которой в команде спрашивать вам будет некого, а отвечать за продукт придётся. К этому нужно прийти с хорошим багажом знаний, который можно сформировать только при большом интересе к профессии.
Что то про мидла вообще мало. Никаких советов по стеку. Чистый js это прекрасно, но как правило все это идет в связке с фреймворками сегодня. Или я не прав?
Да хрен найдешь хорошего Мидла. Ищем, можно без React, Vue и прочего. Переезд в Австрию оплачиваем. Не найти, наизучают фремворкки, а про чистый JS на половину вопросов ответить не могут, верстают как коровы и тест кейсы хрен знает как делают
Заграницу на копейки наши разрабы ехать не хотят. Если едут, то Senior-ы.
Ехать мидлом в Австрию, это просадка по зп сильная по сравнению с Москвой по уровню покупательской способности.
Middle js тут может зарабатывать от 120 до 140 в Мск, зачем ему забугор ехать за 4000-4500евро(минус налоги, жилье, все дороже и на выходе копейки)?
"а про чистый JS на половину вопросов"
Что Вы вкладываете в это понятие?
Я столько бредовых тестов видел по JS. Показывают тебе гавно-код и спрашивают, что будет на выходе.
P.S.:
Я с JS 12+ лет и последние 7 лет пишу коммерческие UI компоненты.
Современному рынку не нужны знания чистого JS, нужен практический опыт применения очередного через **** написанного фреймфорка. По барабану знаешь ты Vanilla JS или нет, есть 2 опыта с React, все зп 200,000+. Нет 2 лет с React, но есть 12+ с Vanilla JS даже на 70,000 фиг найдешь, даже в Мск.
Я бы уехал в Вену из Москвы, если бы мне предложили 4500 евро (2700 на руки) вместо 140к. По деньгам, нумбео говорит, что выходит один к одному, только в Австрии приятнее жить.
Я, правда, и там, и там только туристом был, но Москва что-то совсем не пришлась по душе.
Скандинавия подойдет?
5,000 евро Senior
5,500 евро Senior-Lead
6,000 евро Lead
Самая адекватное hr агенство, с которым я когда либо встречался.
Вакансии по любому IT профилю.
https://toughbyte.com/developers/
Ехать надо в ноябре-декабре: какая- то фишка с налоговыми вычетами, т.е. за следующий год налоги заплатите по минимуму.
Я тоже до 25-28 очень хотел уехать. Потом пришло пониманием, что такое дауншифтинг и релокацию рассматриваю как самый плохой вариант, но в то же время интересной работы в Мск нет.
Если зададитесь целью свалить вообще не проблема, но через пол года-год придет осознание что вы просто дешевая IT раб сила.
Если хороший английский, то можете попробовать в офис FaceBook в Лондоне зп от 80,000 до 100,000 фунтов. Но если возьмете с собой семью с двумя детьми, 70+к будет уходить просто на жизнь.
А вообще 2-3 года заграницей поработать полезно, но потом в наших фирмах работать не сможете - будет все выбешивать.
В том и дело, что английский intermediate. Но спасибо, сохраню ссылку до осени, планирую серьезно подтянуть язык в ближайшее время.
PS: мне и в Рязани огромной для местного рынка зарплаты хватает только на жизнь семьи из трех человек, по большому счету.
"В том и дело, что английский intermediate"
Он всегда будет на этом уровне пока не начнете работать с иностранцами.
Из-за английского не берут только в UK, в остальной Европе к этому лояльно относятся.
Можно поискать удаленку, но ее очень сложно найти...