Опыт поиска работы frontend разработчика
Работа по найму - взаимовыгодное сотрудничество. Знания/опыт в обмен на услуги.
Мне почти 30 лет. Начиная с третьего курса и на протяжении почти 10 лет (9 лет 7 месяцев) я работал на одном официальном месте работы и периодически на нескольких работах по совместительству. Основная организация - Институт динамики систем и теории управления, занимается научными исследованиями по математике и информатике. Стоить отметить, что за время работы исследователем около 8 лет я занимался разрабокой ПО, из них около 4 лет относятся к web разработке (full stack). Плюс 4 последних года я преподавал студентам в университете.
Около года назад я серьезно задумался о смене работы. Так сложились обстоятельства, что я не видел больших высот, которые я могу достигнуть на текущем месте работы, поэтому возникло желание найти место, где перспективы более радужные.
Тезисно ожидания от новой работы выглядели следующим образом:
- Продуктовая команда
- Современная методология разработки
- Frontend разработка на фреймворке Angular или Vue
- Компания занимает уверенное положение на рынке
- Перспектива карьерного роста и заработка
Обратив внимание на сервис зарплат от моего круга, возникло желание найти удалённую работу. Для сравнения:
- 256 зарплат, 135 154 руб. в месяц (удаленно, Москва), при этом:
- 15 зарплат, 124 433 руб. в месяц (удаленно, Иркутск)
- 28 зарплат, 106 414 руб. в месяц (удаленно, Красноярск)
- 36 зарплат, 162 850 руб. в месяц (удаленно, Новосибирск)
- 11 зарплат, 103 636 руб. в месяц (удаленно, Томск)
В целом, работая удалённо люди в глубинке зарабатывают как московские разработчики. В апреле 2018 я решил проверить рынок труда: разместил резюме на headhunter'е с прицелом на удалённую работу frontend разработчиком и стал неспешно ждать предложений.
Одновременно разместил второе резюме на системного администратора, чтобы получить хоть какой-то опыт в переговорах на реальном собеседовании. Однако его пришлось убрать уже через 3 дня. Достал сетевой маркетинг с предложениями вида:
Здравствуйте !
Благодарим Вас за Ваше резюме . Руководству компании показалось оно очень интересным. Мы хотели бы пригласить Вас на собеседование. Перезвоните, пожалуйста, в рабочее время по телефону +7 (914) ******77 (******** Ирина).
И таких штук по 20 в день. Но на одно собеседования на сетевой маркетинг я всё-таки сходил, попрактиковался. Чисто проговорить незнакомому человеку о своём опыте, жизненном пути и целях.
О резюме и предложениях
Так как я никогда не менял работу, то написание резюме, как оказалось, «хромало». В основном резюме я перечислил всё разнообразие задач, с которыми я сталкивался и успешно решил. Это ошибка, не делайте так. Откликов было категорически мало. Резюме пишется под вакансию. Выкидывайте всё, что не относится к вакансии. Также не стоит указывать должности по трудовой книжке. У меня была должность младшего научного сотрудника, но занимался программированием. Смело меняем название на «Разработчик ПО». Название должности должно отражать суть работы. Резюме это рекламный буклет, где вы себя продаёте. Продаёте свои услуги на рынке труда работодателям. Резюме смотрят специалисты по подбору персонала, секунд за 10-20 ваше резюме должно их заинтересовать. Поэтому название желаемой должности должно коррелировать с названием вакансий, а самые главные вещи (навыки, умения, опыт, технологии), почему именно Вас должны нанять, следует размещать в первом абзаце резюме. Совокупность этих рекомендаций даёт хороший эффект.
// Из интересного. Периодически поступали предложения, где в требованиях указаны серьёзные запросы, которым я однозначно не подхожу, например:
Опыт работы на позиции старшего (либо ведущего) разработчика в одной из сильных IT-компаний (Яндекс, Mail.ru Group, Лаборатория Касперского, Вконтакте, JetBrains и т.д.) не менее двух лет обязателен.
Но предлагали попробовать всё-равно)) Еще было интересное предложение открыть свой офис разработки в городе, компания оплатит этот офис, если найду и возглавлю 5 местных программистов.
В процессе общения с потенциальными работодателями я пришёл к выводу, что знаний у меня достаточно, но для максимально быстрого роста не хватает хотя бы 1-2 лет коммерческой разработки, поэтому лучше поднабраться опыта разрабоки в офисе, так будет эффективнее проходить обучение. Поэтому даже для удалённой работы я предлагал работадателю первые 3 месяца поработать у него в офисе, а потом продолжить чисто удалённую работу. Никто не был против.
Об удалённой работе
Достаточно много компаний указывают возможность IT сотрудникам работать удалённо. Несмотря на всеобщее восхищение удалённой работой, мне она не нравится. Я всё-таки за работу непосредственно в коллективе людей, где можно общаться. Тем более у меня нет возможности работать дома, надо снимать офис или идти в коворгинг. Опять же в реальности готовы на полностью удалённую работу сравнительно немного компаний. Часто требуется присутствие в рабочие часы в часовом поясе работодателя, например ответ от Ольги, рекрутера SkyEng:
Хочу сразу сказать что у нас все команды должны быть на связи с 11 до 16 мск, т.е. до 21.00 по Иркутскому времени. Если вам это подходит - необходимо выполнить тестовое задание https://***, после успешного выполнения - интервью с руководителем.
Соответсвенно, такие требования серьезно ограничивают круг вакансий, находясь в +5 от Москвы, так как львиная доля всего рынка продуктовой разработки находится в Питере и Москве. С другой стороны, конечно, имело смысл поискать работу где-нибудь в Австралии, но как тогда быстро погрузиться в работу?
Вакансии
За 3 месяца я рассмотрел примерно 15 вакансий, из них оказались интересными 5 (для них я выполнил тестовое задание). Компании обычно дают ответ на отклик день в день или на следующий рабочий день. Первой компанией с которой я завязался была Atlant.io. Это было предложение. Началось с собеседование с HR, потом тестовое задание, техническое собеседование и компания перестала отвечать. Я нашёл в телеграме еще 2 человек, которые также проходили собеседование в эту компанию, написал им в телеграм. Оба ответили, что с ними прервали общение аналогичным образом. Проехали. После этого я выбирал компании самостоятельно. Сделал 4 отклика (3 на front и 1 fullstack). На все 3 отклика на вакансию front-end разработчика я получил офферы, а отклик на вакаснию full-stack (PHP + Angular) был пробой сил, так как там была высокая зарплата, но не прошёл по тестовому заданию: нужны были хорошие знания Symfony (PHP фреймворк). Отсюда вывод: хорошие места следует искать самостоятельно.
Время от отклика до предложения о работе: 1) Точка-Банк (удалённая работа): 34 дня: собеседование с HR, тестовое задание, техническое собеседование, собеседование-знакомство с командой, проверка службы безопасности. 2) DIS-Group: 14 дней: тестовое задание, техническое собеседование, собеседовние с командой и директором. При этом ответ на отклик пришёл через 11 дней (уже думал, что не подхожу по резюме) 3) ISPsystem: 26 дней: краткий телефонный разговор с HR, собеседование с руководителем UX и с руководителем Frontend, тестовое задание, собеседование с руководителем Frontend и генеральным директором.
Для поиска работы использовлись 3 ресурса.
- headhunter
- js_jobs в telegram. Интересен тем, что вакансии с вилками по зарплате.
- moikrug
Тестовые задания
Обычно тестовое задание дают сроком на неделю. Примерно столько времени я на них и тратил: 4-5 вечеров по 2 часа + до одного целого выходного. Бывало и дольше: задание по созданию калькулятора обыкновенных дробей заняло дня 3: в университете у нас не было «Алгоритмов и структур данных» => требовалось изучение деревьев + надо было придумать алгоритм куда добавлять новые узлы в зависимости от приоритета выполнения арифметических операторов.
Время на выполние тестового задания оказалось самым большим сдерживающим фактором в поиске работы. У меня просто физически не получилось за отвёденное время попробовать больше вакансий.
О зарплатах
Как это ни странно звучит, но
Ваша зарплата это то, насколько вы можете себя продать на рынке труда.
Актуальные источники информации по зарплатам:
- Сервис зарплат от Мой круг
- JavaScript Jobs - вакансии
- Зарплаты ИТ-специалистов на конец 2017 года: отчёт сервиса зарплат «Моего круга» 2 графика из этой публикации
Зарплаты фронтенд разработчиков
Зарплаты JavaScript разработчиков
- Рынок зарплат фронтенд-разработчиков Данные были собраны в конце декабря 2017 года
- Исследование: сколько зарабатывают фронтенд-разработчики? Апрель 2018.
Статистика показывает, что middle-разработчики в регионах России и СНГ зарабатывают в среднем 80 тысяч рублей в месяц, а при смене работы повышают свои ожидания до 95 тысяч. - Зарплаты США по визе H1B от работодателей
- Зарплаты разработчиков Украины — декабрь 2017
- Общее исследование из Германии
// UPD 4 мая 2019 г. HeadHunter. Обзор ИТ-вакансий и топ-15 специальностей и эта же публикация Yandex. Обзор рынка ИТ-вакансий
Про собеседование
Много полезной информации про собеседование я подчерпнул из видеороликов Михаила Портнова, основателя и владельца школы тестировщиков программного обеспечения в Калифорнии. У него большой опыт трудоустройства людей в ИТ компании. Youtube плейлит Резюме, поиск работы, интервью.
Собственно говоря, кроме этого плейлиста можно ничего больше не изучать. Выдержки:
- На собеседовании надо говорить не какой я умный/хороший, а какая компания хорошая и как я решу её проблемы. Контекст такой, что я забираю эту, эту, и эту проблему у Вас.
- Не надо говорить, что вы внимательно изучили описание вакансии и идеально подходите на неё. Из описания кандидат не может судить о соответствии навыков представлению компании. Может оказаться так, что компания сама точно не знает идеального кандидата.
- Если вас пригласили на собеседование после прохождения тестового задания, значит вы технически можете выполнять работу, но надо проверить насколько вы подходит для команды, можно ли сходить с Вами на обед и обсудить футбол.
- Отсюда вариант ответа на вопрос «Почему мы должны вас нанять?» в духе «Я хороший человек. Со мной на приятно ходить на обед и обсуждать футбол.» Работодатель выбирает среди тех, кто смог в тестовое задание.
- Про вопросы «Расскажите о себе / Как вы сюда попали? / Кем вы видите себя через 3–5 лет?» Ответ - рассказ о своём жизненный пути. У кандидата должно быть понимание куда он движется. Начать следует с образования, чем занимался. Я рассказывал примерно так:
- Школу закончил в информационном классе.
- Университет закончил по специальности «информационные технологии»
- Аспирантуру закончил по специальности «информационные системы и процессы».
- Работа в лаборатории «комплексных информационных систем» + преподавание в университете на кафедре «информационных технологий»
- Ушёл во frontend, потому что за ним будущее.
- Я осознанное меняю жизнь к лучшему. Хочу делать что-то существенное.
- Через n лет я ключевой сотрудник компании, профессионал работающий на сложных проектах.
- Если я что-то не знаю, то я это знаю уже сегодня вечером
- Про зарплату. Если вы действительно сильный кандидат, то можно предложить прямому работодателю такой вариант: «Я хочу минимизировать ваш риск и свой. Вы мне даёте минимум вилки рассматриваемой вакансии. А по истечению испытательного срока делается пересмотр зарплаты, это должно быть отражено в контракте/трудовом договоре»
Что стоит спросить у работодателя:
- Какой ваш идеальный кандидат?
- Как вы будете судить подхожу ли я вам после испытального срока?
Технические темы JavaScript на собеседовании
Вся информация доступна в современном учебнике по JavaScript.
- Event loop (setTimeout, promise)
- call, bind, apply
- Замыкания + область видимости, hoisting
- Передача по ссылке и по значению
- ES6 (spread/rest, генераторы/итераторыб let/const/var)
- Async/await
- Армия функций
Дополнительно по вопросам:
- Список (продвинутых) вопросов по JavaScript
- Список вопросов работодателю
- Что происходит, когда вы набираете google.com в браузере и нажимаете Enter? (ENG)
- Вопросы для собеседования javascript разработчика
Выбор
Итак, на руках было 3 предложения. В плане денежного вознаграждение они были примерно равны, имея разброс на старте в 7000 ₽ (max в Точке, среднее в DIS, min в ISP). Я руководствовался тезисами, которые были обозначены вначале поиска работы. Наиболее сложно было выбирать между ISPsystem и Точкой. В моих рассуждениях компании примерно равны, Точка чуть помасштабнее, а ISP лучше с бытовой точки зрения (родной город, нет необходимости искать офис, отчасти знакомый коллектив). Я выбрал ISP.