Как найти работу frontend разработчик

Выпускники курсов по 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 правил онлайн-собеседований

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

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

Как мы нанимаем
фронтенд-разработчиков

Цикл собеседований состоит из этапов: технические секции и финал. Технические секции можно пройти за один или несколько дней. Код вы будете писать в онлайн-редакторе.

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

длительность всех
собеседований

Для встречи вам понадобится включенная веб-камера

длительность каждого интервью

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

В зависимости от вашего опыта вы можете пройти этапы:

  • Собеседование с кодом (JS)
  • Алгоритмы
  • Финал
  • Алгоритмы
  • Архитектура
  • Финал

Что вас ждет

Интервьюер даст от 3 до 6 задач по JS, для которых нужно будет написать работающий код.

Команды, которым нужна оценка навыков верстки, проводят секцию в гибридном формате (JavaScript 30 мин. и CSS 30 мин.)

Вас попросят решить от 2 до 4 задач по JS самым оптимальным способом. Для подготовки не будет лишним потренироваться в решении задач на leetcode.com/problemset/algorithms или других подобных сервисах.

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

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

Здесь мы подробнее узнаем о вас и расскажем о себе. После финальной встречи кандидат может выбрать, приступит ли он сразу к работе в выбранной команде или пройдёт через Буткемп.

Как повысить шанс на успех

Пишите читаемый код без ошибок. Не переусложняйте его.

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

Помните о краевых случаях. Напишите тест‑кейсы и проверьте их.

Формулируйте решение вслух.

Готовьтесь к собеседованиям: результат напрямую зависит от подготовки.

О Буткемпе

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

© 2004-2023 ООО “ЯНДЕКС”

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

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

Добавить комментарий