Источник: Современный Бизнес
О моем прошлом
Я не учился в элитных университетах Лиги Плюща. Два года обучался в общеобразовательном колледже в Айдахо, а затем в небольшом католическом университете.
На третьем курсе колледжа я начал изучать компьютерные науки, потому что тогда мне это казалось интересным.
В детстве единственным устройством, напоминающим компьютер, была китайская игровая консоль, подделка Nintendo SNES.
Когда она ломалась, я ее заклеивал скотчем.
В колледже я подрабатывал самыми разными способами — мыл полы и продавал еду в торговой палатке. После выпуска я не знал, куда пойти работать.
Я подал резюме в максимальное количество крупных технологических компаний, и мне повезло провести несколько собеседований по телефону.
Тогда я даже не знал, что такое техническое собеседование, и не был к нему готов.
Я шел на собеседования, думая, что интервьюер будет спрашивать меня, что такое список указателей бинарного дерева.
Я провалил их все.
Что было дальше
Я написал простой скрипт на Python, который считывал все вакансии на Craigslists по ключевым словам и собирал все контакты в одну таблицу.
Однако самому сайту не понравилось, что с ним работают таким образом, и он начал блокировать мой скрипт.
Я запускал его через VPN и поставил на таймер, чтобы скрипт срабатывал раз в несколько минут. Решение было неидеальным, но работало.
Мне удалось собрать около 500 адресов электронной почты рекрутеров из Сан-Франциско, Портленда, Спокана и Сиэтла.
Я отфильтровал результаты и продолжил дорабатывать скрипт.
Оказывается, на рынке уже было несколько подобных ботов, которые при этом делали автоматическую рассылку по найденным адресам.
В основном, они принадлежали офшорным компаниям, которые хотели представить свой бизнес американскому рынку.
Я отправил примерно 500 писем и получил ответ на 50. Немногие из них закончились приглашением на собеседование.
Наконец, мне повезло, и мне предложили работать младшим программистом в стартапе из Сиэтла.
В нем я проработал 3,5 года и много узнал о таких вещах, как Amazon AWS, EC2, DynamoDB, SQS и Docker. Я научился хорошо писать код и решать проблемы.
Я работал с умными людьми из Microsoft, Amazon и LinkedIn и впитывал знания, как губка.
Как подготовиться к собеседованиям
После первых неудачных попыток трудоустройства я сказал себе, что должен подготовиться к будущим собеседованиям.
Я составил таблицу своих навыков и оценил, в чем я разбирался хорошо, а в чем не очень.
Например, я указал такие темы, как структура данных, алгоритмы и проектирование систем.
Большую часть времени я работал на PHP, в колледже немного разбирался в C++. Мне захотелось изучить какой-нибудь менее громоздкий язык программирования, чтобы быстрее писать код на техническом собеседовании.
Я выбрал Python. Это отличный язык, в котором можно легко разобраться. Обучался я по роликам на YouTube вроде этих.
Еще я прочитал официальную документацию. Я выбрал Python 2.x, но вы можете остановиться и на 3.
Чтобы привыкнуть писать на Python, я выполнял простые задания на LeetCode, HackerRank и Project Euler. Я принимал участие в небольших челленджах типа «сделайте дизайн Х».
Это было очень интересно, потому что я часто изучал приложения на iOS и пытался разобраться в их устройстве.
Как бы вы сделали Instagram с нуля? Этот вопрос, кстати, мне задали на собеседовании в Facebook.
Советую еще изучить плюсы и минусы различных технологий в индустрии. Для этого можно воспользоваться таким сайтом, как HighScalability.
Попробуйте устроить мозговой штурм с коллегой и обсудить дизайн того или иного приложения. Посмотрите этот ролик от бывшего инженера Facebook о том, как решать проблемы дизайна.
20% своей подготовки я потратил на обновление резюме: тщательно изучил свои предыдущие проекты (о них обязательно спросят) и внес туда все, что довел до конца (независимо от их уровня сложности).
Я отправил около 20 холодных писем в стартапы и получил ответ лишь от нескольких.
Но все компании, к которым я обращался через знакомого, отвечали мне в течение недели.
Да, нетворкинг действительно работает.
Я не очень общительный человек, и у меня было мало знакомых в интересующих меня фирмах.
Поэтому я зарегистрировался на LinkedIn. У площадки есть функционал, который позволяет искать связи различных уровней.
Так у меня появились люди, которые в итоге смогли меня порекомендовать в своей фирме.
Собеседование в разных компаниях
Краткая оценка всех собеседований, на которых я побывал.
1. Facebook/Google — все проходит автоматически. Процесс собеседования стандартный, и я не почувствовал никакой эмоциональной связи.
2. Pinterest — не лучшее собеседование, но компания крутая, как и ее продукт.
3. Microsoft — мне понравились сотрудники, особенно менеджеры.
Вопросы задавали стандартные, но очень конкретизированные. Я бы поставил это собеседование на второе место.
Но следует помнить, что в каждом отделе Microsoft собеседование проводится по-разному.
4. Amazon — стандартное собеседование. Одной половине кандидатов оно нравится, другой нет.
5. Twitter — все было очень весело. Мне уделили очень много внимания и тщательно расспросили о предыдущих проектах.
6. Snapchat — крутой офис в Лос-Анджелесе. Сотрудники — отличные люди, которые решили заняться стартапом.
Но мне показалось, что многое в компании окружено завесой тайны.
7. Lyft — хороший офис недалеко от моего дома. Собеседование было стандартное и не вызвало у меня особых чувств.
Какие уроки я извлек
1. Пишите в резюме только правду.
Большинство компаний задают вопросы по пунктам вашего резюме, и рекрутеры могут догадаться, где вы солгали. Лучше стопроцентно разбираться в одном проекте, чем знать по 10% о десяти разных.
2. Лучше, чтобы ваше резюме занимало одну страницу.
Такая практика особенно распространена в технологических компаниях.
3. Общайтесь и заводите связи.
Конкуренция высока, и каждый день лучшие компании просматривают тысячи резюме.
Если у вас будет чья-то рекомендация, больше шансов, что на вас обратят внимание.
4. Отрепетируйте свою речь.
Каждая компания хочет знать, почему вы хотите у нее работать. Объясните свои мотивы.
5. Готовьтесь заранее и делайте это хорошо.
Оцените свои навыки по шкале от 1-10 и проработайте самые слабые.
6. Репетируйте собеседования.
Делайте это с друзьями и максимально часто. Если у вас их нет, попробуйте проект Refdash.
7. Помните, что неудачи — это нормально.
Иногда бывает просто неудачный день. Первые отказы ранят сильнее всего, из-за них страдает уверенность в себе.
Когда я начал сомневаться в своих способностях после череды отказов, я сказал себе — если ты потерпел неудачу 10 раз, значит нужно стараться в 10 раз сильнее.
Все, что вам нужно, это всего лишь один раз добиться успеха. После первого предложения дела пойдут легче.
На подготовку к собеседованиям у меня ушло около двух месяцев. Я тратил на нее по 20 часов в неделю или 80 часов в месяц. При этом я делал это, еще находясь на постоянной работе.
Для создания хорошего резюме мне понадобилось 3,5 года усердной работы. Я специально брался за сложные проекты, чтобы научиться большему. В
моем резюме не было информации о престижном образовании, но зато там я показал, что прекрасно разбираюсь в проектах, над которыми работал.