Меньше всего говорят о том, что будет после того как ты окончишь лагерь по программированию — когда ты пытаешься занять позицию разработчика с шестизначным окладом.
< 3% заявлений становились предложениями
Я окончил Hack Reactor в июле 2016, и мне потребовалось почти 3 месяца, прежде чем я принял предложение от Radius Intelligence. Я подавал заявления в 291 компанию, прошел 32 собеседования по телефону и 16 обычных, а также выполнил 13 задач по программированию, 11 из них — в офисах. И получил в итоге 8 предложений. Мне предлагали 60-125 тысяч долларов в компаниях США. В общем 2.8% заявок обернулись для меня выгодными предложениями.
Вот 5 вещей, которые я хотел бы знать, прежде чем устраивался на работу.
Озарение#1: пытайтесь связаться с реальными людьми
Поначалу я подавал заявления в компании самым легким способом через Indeed.com, AngelList, LinkedIn, StackOverflow, Hacker News, сайты компаний и даже Craigslist.
Я хотел подать резюме на любую специальность, где требовался опыт пользования React, Node или JavaScript. В первую неделю, я обращался к 15-20 организациям в день.
Совет от профессионала: Найдите компании, которые используют эту легкую форму подачи заявок.
Результат был не утешающим. Менее 5% компаний отвечали мне. Я словно бы бросал заявления об устройстве на работу в черную дыру.
Все изменилось, когда один из моих товарищей, бывший вербовщик, поделился со мной информацией о том, как искать работу. Он сказал отправлять письма непосредственно людям из этих компаний. Это могут быть кто угодно. Главное, чтобы они прочитали ваше заявление.
Тогда каждый раз, когда я хотел подать заявление, я искал компанию на LinkedIn и писал кому-то из их технической поддержки или команды найма.
У большинства небольших компаний или руководителей высшего звена адрес почты в таком формате firstName@dreamCompany.com. У крупных компаний это firstName.lastName@dreamCompany.com.
Для проверки электронной почты, я использовал Rapportive, чтобы привязать почту к аккаунтам в социальных сетях.
Результаты были потрясающими. После 150+ отправленных писем результат улучшился на 22%.
Мне также нравилось связываться с реальными людьми. Удивительно, но мне ответили даже CEO и CTO. Иногда они даже сами проводили собеседования.
Вывод: если вы устраиваетесь на работу самым легким способом, попытайтесь достучаться до реальных людей.
Озарение#2: начните с малого и пробейте себе путь наверх
Вы будете сталкиваться с собеседованиями 1 уровня (нетехническая компания, которая нуждается в любом разработчике), где вам зададут лишь тривиальные вопросы о JavaScript.
Вы столкнетесь с собеседованиями 9 уровня (уровень Google/Facebook), где вам будут задавать сложные вопросы о структуре данных и вопросы касательно алгоритмов.
Я стратегически выстраиваю процесс так, чтобы сначала пройти собеседования низкого уровня, а затем более сложные.
От компаний с собеседованиями низкого уровня я получил опыт, уверенность в себе и своих силах и надежные предложения.
Чем больше опыта я получал, тем эффективней поднимался на новый уровень и мог проходить собеседования в компаниях, где была более высокая планка для работников. Ниже это проиллюстрировано в виде линейной корреляции между количеством недель, которые я потратил на собеседования и окладом, который мне предложили.
Прямая зависимость между временем, которое я потратил на собеседования и предложенной зарплаты
Я преодолел сложные вопросы. Затем пробился к высокой зарплате. И в итоге заполучил желаемую должность.
Вывод: планируйте свои собеседования так, чтобы сначала пройти более легкие, а затем сложные.
Озарение#3: учитесь так, будто от этого зависит ваша будущая работа (потому что так и есть)
Ненавижу говорить это, но самое важное, что вы должны делать — это учиться и готовиться.
Почему? Потому что вы не получите предложения, если у вас не будет хороших ответов на вопросы, которые вам будут задавать.
Люди не будут рассматривать вашу кандидатуру, если они будут видеть, что вы не готовы к собеседованию.
Возвращаясь к теме о Hack Reactor, моей слабостью были структуры данных и алгоритмы. Исследование Триплбайта выявило, что оценки выпускников из компьютерного лагеря слабее, чем оценки выпускников из computer science.
Поэтому я учился и практиковался. Каждый день.
Я посвящал целые дни изучению алгоритмов сортировки. В другие дни я фокусировался на понимании того, как работает интернет.
Если я не полностью понимал концепцию, то проводил весь день за просмотром видео на YouTube или искал информацию на StackOverflow пока, наконец, не понимал.
Я нашел следующие учебные материалы полезными:
- InterviewCake: Мой любимый источник информации о структуре данных и алгоритмах. Он разбивает решение на пошаговый алгоритм — отличная альтернатива Cracking the Code Interview (CTCI). Жаль только, что они не решают другие проблемы!
- HiredInTech’s System Design Section: отличное руководство по собеседованиям касательно системы дизайна.
- Coderust: если вы избегаете CTCI как чумы, Coderust 2.0 возможно идеально вам подойдет. За 49$, вы получите решения практически на любом языке программирования, с использованием интерактивных схем.
- Reddit’s How to Prepare for Tech Interviews: постоянно использую его в качестве ориентира своей подготовки.
- Front End Interview Questions: Исчерпывающий перечень интерфейсных вопросов.
- Leetcode: ресурс с вопросами по алгоритмам и структуре данных. Вы можете фильтровать их по компаниям. Так, например, вы можете получить все вопросы, которые, как правило, задают Uber или Google.
Вывод: слишком много подготовки не бывает.
Озарение#4: показывайте себя с лучшей стороны
Пробиться в индустрию сложно. Вы должны хорошо проявить себя, даже если не очень подготовлены. Чтобы добиться успеха, нужно быть своим собственным адвокатом.
Продавайте себя
В Hack Reactor мы тренировались маскировать наше отсутствие опыта. В нашей личной жизни, мы намеренно умалчиваем о нашем образовании в лагере программистов.
Почему? В противном случае, нас автоматически классифицируют как младших разработчиков или как работников, у которых недостаточно опыта.
В одном из собеседований с стартапом, собеседование сразу сошло на нет, как только услышали, что я был в лагере программистов. Одна компания использовала это против меня и предложила мне 60000$ (столько предлагают младшим разработчикам).
В конечном счете, вы должны убедить компании, что вы можете сделать эту работу.
В то же время, вы должны убедить себя, что вы можете сделать эту работу.
Вы можете. Сосредоточьтесь на любви к программированию. Сосредоточьтесь на том, что вы построили с React и Node. Сосредоточьтесь на том, чтобы продемонстрировать ваши обширные знания в JavaScript и других языках программирования.
Только они могут доказать, что вы заслуживаете эту работу.
Это двусторонний разговор
Собеседование — это взаимное изучение соответствия между работником и работодателем. Хоть вы и должны убедить работодателя нанять вас, он тоже должен завоевать вас.
Не стыдитесь использовать собеседование как возможность оценить возможность трудоустройства.
Я разговаривал с любой компанией, даже если я не имел к ней ни малейшего интереса.
Я проходил собеседования на местах со всеми компаниями, которые меня приглашали. Я задавал вопросы и получал знания от команды инженеров об используемых инструментах и технологиях, проблемах компании и архитектуры системы.
Профессиональный совет: во время собеседований задавайте следующие вопросы:
- С какими техническими трудностями вы недавно столкнулись?
- Что вам нравится в работе на компанию X?
- Как построены команды и как обычно распределяются задачи?
Я относился к каждому взаимодействию как к возможности узнать что-то новое. Каждое взаимодействие помогло мне улучшить свой доклад, собеседование и технические навыки. Каждая неудача помогла мне найти мои слабые места.
Вывод: знайте себе цену! И помните, это взаимная разведка.
Озарение#5: это марафон, а не спринт
Путешествие отнюдь не легкое. В течение 3 месяцев, я оттачивал свое мастерство 6 дней в неделю. Но я старался заботиться о себе.
Так может выглядеть типичный день в JavaScript
Несколько дней я учился с друзьями. В другие дни я шел в кафе и занимался один или зависал в выпускном зале Hack Reactor. И каждую неделю я связывался с консультантом занятости, чтобы поговорить о своем прогрессе.
Легко перегореть в процессе. Хорошо питайтесь, спите и занимайтесь спортом.
Может стать одиноко. Проводите время с друзьями, которые проходят через то же, что и вы.
Вывод: приготовьтесь к долгой игре и убедитесь, что вы хорошо заботитесь о себе
Итог:
- Связывайтесь с реальными людьми
- Начните с малого и пробивайте себе путь наверх
- Учитесь так, будто ваша будущая работа зависит от этого
- Показывайте себя с лучшей стороны
- Это марафон, а не спринт
Процесс может казаться нескончаемым, но вы справитесь. Продолжайте считать часы. Продолжайте подавать заявления. Продолжайте заботиться о себе. Все это окупится в итоге.
Особая благодарность Дилану Трану, Карен Цао, Рохиту 'Солнечному' Рехи, Джейк Пейс, Анамите Гуха, Стефани Лю, и многим другим.
Поддержка публикации — компания Edison, которая разрабатывает SDK для слежения за географическими объектами и систему оперативного учета сети магазинов «Мебель для дома».
Автор: Edison