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