В погоне за высокими зарплатами всё больше людей по всему миру записываются на курсы по программированию. Интернет наполнили вдохновляющие рассказы свичеров о том, как они упорно учились и в итоге получили работу мечты. Но путь, который они прошли от выпуска до трудоустройства, обычно остаётся за кадром. Феликс Фенг решил поправить ситуацию и изложил свой опыт в колонке на Medium. Поиск первой работы занял у него три месяца. Возможно, благодаря урокам, которыми он делится, у вас получится устроиться быстрее, пишет AIN.ua.
Наименее обсуждаемая часть пути от свичера до разработчика — та, что следует сразу за окончанием курсов по программированию, когда вы приступаете к поиску той самой работы с шестизначной зарплатой.
Я закончил Hack Reactor в июле 2016 года и на получение своего первого оффера от Radius Intelligence у меня ушло три месяца. Я подал свою кандидатуру в 291 компанию, прошел 32 телефонных интервью, 16 технических собеседований, 13 кодинг-собеседований, 11 личных интервью и получил 8 офферов.
Менее 3% соискателей получают оффер
Мне предлагали зарплаты от $60 000 до $125 000 год в компаниях по всей Америке как на должность front-end-разработчика, так и на full stack. В целом, 2,8% всех моих посяганий на место увенчались успехом.
За это время я узнал на личном опыте пять нюансов, которые могли бы существенно упростить и ускорить процесс.
1. Обращайтесь к реальным людям
Поначалу я пытался устроиться на работу методом тыка. Я подавался через Indeed.com, AngelList, LinkedIn, StackOverflow, Hacker News, сайты компаний и даже через Craigslist. Я претендовал на любую позицию, на которой требовали опыт в React, Node или JavaScript. В первую неделю я рассылал резюме в 15-20 компаний в день. К слову, вот репозиторий со списком ИT-компаний, в которые несложно подать заявку на трудоустройство.
Результат был более чем скромный. Менее пяти процентов компаний мне отвечали. Я просто метал резюме в пустоту.
Всё изменилось, когда один из моих знакомых экс-рекрутеров поделился со мной лайфхаком. Он сказал, что лучше отправлять письмо напрямую конкретным людям по каждой вакансии. Кому угодно, пока не придёт ответ. С тех пор каждую компанию я пробивал по LinkedIn и писал кому-то из рекрутинговой команды.
В большинстве небольших компаний и у большинства менеджеров среднего звена формат email как правило укладывается в шаблон имя@компаниямечты.com. В больших компаниях — имя.фамилия@компаниямечты.com. Чтобы убедиться, что адрес правильный, я использовал Rapportive, в котором можно осуществить кросс-чекинг почты с существующими социальными аккаунтами.
Результаты превысили ожидания. Я послал более 150 писем и на 22% из них получил ответ. Также было приятно общаться с настоящими людьми. На удивление, иногда мне отвечали СЕО и СТО компаний и даже проводили собеседование лично.
Вывод: если входите через парадную дверь, убедитесь, что попадаете к живым людям.
2. Начинайте с малого и продвигайтесь вперёд
Вы столкнётесь с низкоуровневыми собеседованиями (как правило, это нетехнологические компании, которым нужен какой-нибудь разработчик), где вам будут задавать тривиальные вопросы по JavaScript. Вы столкнётесь и с высокоуровневыми собеседованиями (уровня Google/Facebook), где задают сложные и вопросы по структурам данных и алгоритмам.
Я стратегически подошел к этому процессу и подгадал так, чтобы низкоуровневые собеседования у меня шли первыми, а за ними по мере возрастания всё более сложные. Я постепенно приобретал опыт и уверенность в себе на простых собеседованиях, получая офферы от компаний с требованиями попроще.
Приобретая опыт, я всё больше повышал планку. Я стал хорошо управляться на более сложных собеседованиях с более высокими требованиями. Ниже я проиллюстрировал процесс в виде зависимость времени, которое я посвящал собеседованиям, размеру офферов, которые мне предлагали.
Прослеживается прямая зависимость размера зарплаты от времени, затраченного на интервью
Постепенно вопросы становились каверзнее, а зарплаты выше. И в конце концов я нашёл работу, которая мне подошла.
Вывод: начинайте с более лёгких собеседований, а сложные оставьте напоследок.
3. Учитесь так, будто от этого зависит ваша будущая работа (потому что так и есть)
Не хочу вбивать вам это в голову, но самое важное на любом этапе поиска работы — учиться и готовиться. Почему? Потому что если у вас нет ответов на вопросы, которые вам зададут, оффер вы не получите. Вас не будут рекомендовать на позицию, если посчитают неподготовленными к собеседованию.
Закончив Hack Reactor, я точно знал свои слабые стороны — структуры данных и алгоритмы. В исследовании Triplebyte говорится, что студенты курсов, как правило, слабее усваивают эти разделы, чем студенты вузов. Чтобы заполнить пробелы, я учился и практиковался каждый день.
Дни напролёт я корпел над сортировочными алгоритмами. В другие дни я изучал принципы работы интернета. Я не полностью понимал суть, поэтому целый день смотрел видео на YouTube или копался в StackOverflow, пока не врубился.
Если у вас на носу интервью, и вы не чувствуете себя достаточно подкованными, вот список материалов, которые лично мне очень помогли:
- InterviewCake: мой любимый ресурс про структуры данных и алгоритмы. В нём решения разбиты на пошаговые разделы — отличная альтернатива Cracking the Code Interview (CTCI). Единственный недостаток — у них маловато задач.
- HiredInTech’s System Design Section: отличное руководство по вопросам о системном дизайне.
- Coderust: если CTCI вам вообще не заходит, то Coderust 2.0 может понравиться. За $49 вы получите решения практически на любых языках программирования с интерактивными диаграммами.
- Как подготовиться к техническому собеседованию на Reddit: Здесь я постоянно проверял, насколько готов к очередному собеседованию.
- Front End Interview Questions: Изматывающий список вопросов по front-end.
- Leetcode: Источник вопросов по алгоритмам и структурам данных. Фильтровать их можно по компаниям, например, можно вывести список вопросов, которые часто задают в Uber или Google.
Вывод: Подготовки не бывает много.
4. Лучшее — впереди
Тяжело прорваться в эту индустрию. Нужно хорошо справляться, даже если ваша подготовка неидеальна. Чтобы преуспеть, нужно самому себе стать адвокатом.
Продавайте себя
В Hack Reactor мы учились маскировать отсутствие опыта. Для своего же блага, мы не афишируем тот факт, что проходили курсы. Почему? Потому что компании сразу запишут нас в джуниоров или навесят ярлык «недостаток опыта».
На интервью с одним стартапом все пошло на юг, как только стало понятно, что я выпускник курсов. В другой компании из-за этого мне предложили $60 000 в год, потому что младшим разработчикам больше не положено.
На самом деле вам нужно убедить работодателя в том, что вы можете выполнять порученную вам работу. В то же время, неплохо бы убедить в этом себя.
Вы можете. Сконцентрируйтесь на вашей любви к программированию. На том, что вы уже построили на React и Node. На демонстрации своих глубоких познаний в JavaScript и других языках, которые вы изучали. Только после этого они могут определить степень вашей компетентности.
Это двусторонний диалог
Собеседование — это взаимное изучение того, насколько работодатель и кандидат друг другу подходят. И если ваша работа заключается в том, чтобы убедить себя нанять, то работа работодателя — выторговать наиболее выгодные условия.
Не стесняйтесь использовать собеседование, чтобы оценить, какие возможности они готовы предложить. Я общался с каждой компанией, даже если меня мало интересовала их вакансия. У меня были личные собеседования с работодателями по всей стране — со всеми, кто меня приглашал. Я задавал вопросы и извлекал знания по организации инженерных команд, технологиям и инструментам, которые они используют, вызовам, стоящим перед компаниями, их системной архитектуре.
В ходе собеседования обязательно задайте такие вопросы:
- С какими техническими проблемы вы сталкивались за последнее время?
- Что лично вам нравится в работе на эту компанию?
- Как структурированы команды и как обычно распределяют задачи?
Каждое взаимодействие я воспринимал как возможность узнать что-то новое. Каждое пройденное собеседование помогло мне улучшить мою презентацию, навыки общения с рекрутером и технические скилы. Каждая неудача помогала закрыть очередной пробел.
Вывод: Не спешите себя продать задёшево! И помните, это взаимное ознакомление.
5. Это марафон, а не спринт
Данный путь непрост во всех смыслах. В течение трех месяцев я вкалывал по шесть дней в неделю. Но и заботиться о себе не забывал.
Так мог бы выглядеть мой типичный день на JavaScript
Иногда я учился вместе с друзьями. Иногда в одиночестве — сидя с ноутбуком в кафе. Или тусовался с другими выпускниками Hack Reactor. И каждую неделю встречался с нашим карьерным консультантом, чтобы обсудить мой прогресс.
В процессе очень легко выгореть. Поэтому хорошо кушайте, высыпайтесь и занимайтесь спортом. Вы можете заскучать. Поэтому побольше общайтесь с друзьями, которые идут с вами по тому же пути.
Вывод: приготовьтесь к долгому забегу и убедитесь, что сможете о себе позаботиться.
Процесс может показаться бесконечным, но вы справитесь. Продолжайте заниматься. Продолжайте рассылать резюме. Продолжайте заботиться о себе. Рано или поздно это окупится.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.