Прошел около года с тех пор, как я влюбился в кодирование. С тех пор я реализовал множество проектов, прошел более 1000 часов курсовой работы по Free Code Camp и согласился на свою первую стажировку, работая в Braintree в Сан-Франциско.

Хотя многие люди достигли подобных успехов без особых усилий, я думаю, важно отметить, что в настоящее время я изучаю химическую инженерию в Бакнелле, школе, которая неизменно входит в число 50 лучших программ по информатике.

Чуть больше года назад я пошел на свое первое техническое собеседование. Рекрутер был из Microsoft, и он проводил открытое собеседование на территории кампуса. Я помню, как сидел на собеседовании, совершенно наивно относясь к тем вопросам, которые он мне задавал.

После краткого вступления он спросил меня: «Как бы вы отменили связанный список?»

Я сделал паузу, пытаясь сдержать нервозность, прежде чем дать ему свой расплывчатый и явно сфабрикованный ответ. Через несколько минут рекрутер поблагодарил меня за потраченное время.

Я ушел, чувствуя себя одновременно смущенным из-за того, что зря потратил его время, и в то же время обрадованным тем, что я только что испытал.

Я не мог поверить в это. Они действительно заботились о моих технических способностях кодировать!

Это было так воодушевляюще, что компании смогли взглянуть на что-то другое, кроме моего среднего балла, школы, в которую я ходил, и моей способности говорить по-вашему с помощью поведенческих вопросов. Компании, с которыми я беседовал, похоже, не заботились о том, что я специализируюсь в области химического машиностроения. Они просто хотели посмотреть, умею ли я писать код.

Оттуда я приступил к работе. В течение следующего месяца я разослал около 100 заявок. Я был готов воспользоваться любой доступной возможностью.

По состоянию на январь я не получал ничего, кроме обычных писем с отказами. Ни одного интервью!

Но я не мог их винить. Я был специалистом в области химического машиностроения, и моим единственным подходящим опытом было прохождение двух вводных курсов по информатике. Поэтому я решил, что лучше всего поступлю на летнюю научную должность на химико-технологический факультет моей школы.

Со стороны мне казалось, что я сдаюсь. Но на самом деле я удвоил свою новую страсть к программированию. В голове я поклялся, что следующий год будет другим.

Во время зимних каникул я прошел курс программирования под Android на Udemy. Я начал уделять больше времени курсам компьютерных наук. Когда наступили летние каникулы, я отправился на гонки.

Включение в работу

Еще годом ранее я знал, что мне нужно будет построить несколько проектов самостоятельно, чтобы пройти собеседование. Я также знал, что мне нужно будет хорошо разбираться в вопросах кодирования и алгоритмов, чтобы я мог пройти технические собеседования.

Я использовал простой, но эффективный паттерн, чтобы улучшить те области, в которых мне не хватало:

  1. Установите цель, связанную с тем, чему вы хотите научиться.
  2. Найдите лучшие доступные учебные ресурсы (в рамках вашего бюджета) по этому предмету.
  3. Установите последовательный график использования этих ресурсов.
  4. Выгода.

Реальный пример этого для меня прошлым летом выглядит так:

  1. Создайте качественное портфолио веб-приложений
  2. Free Code Camp - это бесплатно и довольно круто
  3. Кодируйте каждый день утром или после ужина.

Я применил аналогичную практику, чтобы улучшить свои технические навыки собеседования, используя Cracking The Coding Interview, Pramp.com и Leetcode.com.

Кодирование каждый день

Летом я решил писать код почти каждый день. Чаще всего я просыпался с мыслями о своем текущем проекте, взволнованный функциями, над которыми я буду работать. Но, безусловно, были исключения.

«Любители сидят и ждут вдохновения, остальные просто встают и приступают к работе».

- Стивен Кинг

В эти дни я обычно заставлял себя писать код минимум 30 минут. Большую часть времени после 30 минут я был погружен в воду и был счастлив продолжить. Но если нет, я дал себе полное разрешение остановиться и отойти от компьютера на остаток ночи.

Я также старался проводить каждую субботу или воскресенье на природе с друзьями. Как говорит Кэл Ньюпорт в Глубокой работе, было показано, что времяпрепровождение на природе вдали от технологий имеет омолаживающий эффект.

Также стоит отметить, что в середине лета я взял двухнедельный перерыв в работе и программировании, чтобы отправиться на семейный отдых в поход в Альпы.

С конца мая до сих пор я загружал код на свой GitHub более 250 раз.

Охота

К концу лета я создал 21 новый интерфейсный веб-сайт, чтобы показать себя. Я знал, что у меня есть шанс пройти стажировку. Но поскольку химическая инженерия была в верхней части моего резюме, я боялся, что мне не дадут ни единого шанса.

Я обновил свое резюме, чтобы продемонстрировать свои новые проекты, и получил отзывы на / r / cscareerquestions. Я сделал электронную таблицу, чтобы отслеживать, куда я подал заявку, и статус моей заявки.

20 августа я легкомысленно отправил свою первую заявку в Бельведер Трейдинг. Это казалось до смешного рано, но я не собирался совершать ошибку, подавая заявку слишком поздно, как в прошлом году.

Через неделю они прислали мне вызов по кодированию. Я справился.

Через несколько дней мы назначили телефонное интервью.

На следующий день после этого я забронировал рейс в Чикаго для своего первого собеседования на месте.

Ночью перед собеседованием я проспал менее 4 часов - как из-за ожидания, так и из-за страха пропустить свой рейс в 8 утра.

Когда я добрался до офиса, чтобы начать собеседование, я встретил несколько других студентов, которые проходили собеседование в тот же день. Я просмотрел их бирки с именами: Карнеги Мелон, Корнелл и Мичиган. Я действительно был здесь?

На следующий день мне позвонили из Чикаго. Они хотели сделать предложение.

Вторую ночь подряд я почти не могла уснуть - на этот раз от волнения. Всего за несколько недель до этого я нервничал из-за того, что не смогу найти место для стажировки. И вот была только середина сентября, и у меня уже было предложение.

Но я еще не закончил. Недавно я прочитал статью Хасиба Куреши о переговорах по зарплате и решил последовать его совету. Я отправил холодное письмо нескольким компаниям моей мечты и сообщил им, что я только что получил предложение, но я бы предпочел работать на них.

Несколько дней спустя рекрутер из Braintree ответил на мое сообщение. Последовал аналогичный процесс: задача кодирования - ›телефонное интервью -› еще одна поездка в Чикаго.

В такси из офиса обратно в аэропорт мне позвонили еще раз. Они хотели продлить предложение. Вскоре я согласился и договорился, что буду работать в их офисе в Сан-Франциско.

Уроки, извлеченные в процессе

Урок №1. Я не прошел стажировку, потому что я гений или от природы одаренный программист. Я получил это, потому что вкладывал время и много работал.

Специалист в области нехимической инженерии, увлеченный химией, мог бы пройти через процесс, аналогичный моему отряду кодировщиков, и стать лучшим инженером-химиком, чем я когда-либо буду.

Если вы начнете сосредотачиваться на том, что вам нравится, у вас будет огромное преимущество перед всеми остальными.

Урок №2: не бойтесь ставить цели, которые кажутся недостижимыми.

Смелые цели увлекательны. Спешка, которую вы получаете, когда предпринимаете действия для достижения своей цели, намного перевешивает обратную сторону, которую вы можете не достичь.

Даже если вы проиграете, вы добьетесь большего, чем могли бы в противном случае.

Урок № 3: попробуйте что-нибудь новое.

Год назад я понятия не имел, что влюблюсь в программирование.

Будьте готовы рискнуть и попробовать что-то за пределами своей зоны комфорта, вы просто можете найти то, что вам нравится.

Некоторые ресурсы, которые я нашел полезными

Огромное спасибо всем людям, которые помогали мне на этом пути, и вам, что вы нашли время, чтобы прочитать мою статью.

Если вам понравилось, нажмите 💚 ниже, чтобы другие люди увидели это здесь, на Medium.

P.S: Если вы знаете о дешевом жилье в Сан-Франциско этим летом или будете в этом районе и хотите встретиться, напишите мне.