Жизнь после курсов по программированию: что я понял спустя 3 месяца поисков работы

30274
23

В погоне за высокими зарплатами все больше людей по всему миру записываются на курсы по программированию. Интернет наполнили вдохновляющие рассказы свичеров о том, как они упорно учились и в итоге получили работу мечты. Но путь, который они прошли от выпуска до трудоустройства, обычно остается за кадром. Феликс Фенг решил поправить ситуацию и изложил свой опыт в колонке на Medium. Поиск первой работы занял у него три месяца. Возможно, благодаря урокам, которыми он делится, у вас получится устроиться быстрее.

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

Я закончил Hack Reactor в июле 2016 года и на получение своего первого оффера от Radius Intelligence у меня ушло три месяца. Я подал свою кандидатуру в 291 компанию, прошел 32 телефонных интервью, 16 технических собеседований, 13 кодинг-собеседований, 11 личных интервью и получил 8 офферов.

Менее 3% соискателей получают оффер

Менее 3% соискателей получают оффер

Мне предлагали зарплаты от $60 000 до $125 000 год в компаниях по всей Америке как на должность front-end-разработчика, так и на full stack. В целом, 2,8% всех моих посяганий на место увенчались успехом.

За это время я узнал на личном опыте пять нюансов, которые могли бы существенно упростить и ускорить процесс.

Обращайтесь к реальным людям

Поначалу я пытался устроиться на работу методом выстрела. Я подавался через Indeed.com, AngelList, LinkedIn, StackOverflow, Hacker News, сайты компаний и даже через Craigslist. Я претендовал на любую позицию, на которой требовали опыт в React, Node или JavaScript. В первую неделю я рассылал резюме в 15-20 компаний в день. К слову, вот репозиторий со списком IT-компаний, в которые несложно подать заявку на трудоустройство.

Результат был более чем скромный. Менее пяти процентов компаний мне отвечали. Я просто метал резюме в пустоту.

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

В большинстве небольших компаний и у большинства менеджеров среднего звена формат email как правило укладывается в шаблон имя@компаниямечты.com. В больших компаниях — имя.фамилия@компаниямечты.com. Чтобы убедиться, что адрес правильный, я использовал Rapportive, в котором можно осуществить кросс-чекинг почты с существующими социальными аккаунтами.

Результаты превысили ожидания. Я послал более 150 писем и на 22% из них получил ответ. Также было приятно общаться с настоящими людьми. На удивление, иногда мне отвечали СЕО и СТО компаний и даже проводили собеседование лично.

Вывод: если входите через парадную дверь, убедитесь, что попадаете к живым людям.

Начинайте с малого и продвигайтесь вперед

Вы столкнетесь с низкоуровневыми собеседованиями (как правило, это нетехнологические компании, которым нужен какой-нибудь разработчик), где вам будут задавать тривиальные вопросы по JavaScript. Вы столкнетесь и с высокоуровневыми собеседованиями (уровня Google/Facebook), где задают сложные и вопросы по структурам данных и алгоритмам.

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

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

Прослеживается прямая зависимость размера зарплаты от времени, затраченного на интервью

Прослеживается прямая зависимость размера зарплаты от времени, затраченного на интервью

Постепенно вопросы становились каверзнее, а зарплаты выше. И в конце концов я нашел работу, которая мне подошла.

Вывод: начинайте с более легких собеседований, а сложные оставьте напоследок.

Учитесь так, будто от этого зависит ваша будущая работа (потому что так и есть)

Не хочу вбивать вам это в голову, но самое важное на любом этапе поиска работы — учиться и готовиться. Почему? Потому что если у вас нет ответов на вопросы, которые вам зададут, оффер вы не получите. Вас не будут рекомендовать на позицию, если посчитают неподготовленными к собеседованию.

Закончив 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.

Вывод: Подготовки не бывает много.

Лучшее — вперед

Тяжело прорваться в эту индустрию. Нужно хорошо справляться, даже если ваша подготовка неидеальна. Чтобы преуспеть, нужно самому себе стать адвокатом.

Продавайте себя

В Hack Reactor мы учились маскировать отсутствие опыта. Для своего же блага, мы не афишируем тот факт, что проходили курсы. Почему? Потому что компании сразу запишут нас в джуниоров или навесят ярлык «недостаток опыта».

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

На самом деле вам нужно убедить работодателя в том, что вы можете выполнять порученную вам работу. В то же время, неплохо бы убедить в этом себя.

Вы можете. Сконцентрируйтесь на вашей любви к программированию. На том, что вы уже построили на React и Node. На демонстрации своих глубоких познаний в JavaScript и других языках, которые вы изучали. Только после этого они могут определить степень вашей компетентности.

Это двусторонний диалог

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

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

В ходе собеседования обязательно задайте такие вопросы:

  • С какими техническими проблемы вы сталкивались за последнее время?
  • Что лично вам нравится в работе на эту компанию?
  • Как структурированы команды и как обычно распределяют задачи?

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

Вывод: Не спешите себя продать задешево! И помните, это взаимное ознакомление.

Это марафон, а не спринт

Данный путь непрост во всех смыслах. В течение трех месяцев я вкалывал по шесть дней в неделю. Но и заботиться о себе не забывал.

Так мог бы выглядеть типичный день на JavaScript

Так мог бы выглядеть мой типичный день на JavaScript

Иногда я учился вместе с друзьями. Иногда в одиночестве — сидя с ноутбуком в кафе. Или тусовался с другими выпускниками Hack Reactor. И каждую неделю встречался с нашим карьерным консультантом, чтобы обсудить мой прогресс.

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

Вывод: приготовьтесь к долгому забегу и убедитесь, что сможете о себе позаботиться.

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

Оставить комментарий

Комментарии | 23

  • «все пошло на юг» — не калька? Разве есть такое в русском языке?

  • Интересно возможно ввобще зарабатывать 60-120 тыс долларов в год в снг даже мидл разарботчику?

  • Все это хорошо, но недостаток опыта быстренько всплывет и автор опять пойдет на йух

  • Курсы категория А — ProCode, ITEA учат от 6 месяцев
    Курсы категория B — GoIT, Prog и прочие учат 2-4 месяцев

    У категории B — большие рекламные вложения, У категории A — сарафан.

    У категории B проще учиться, У категории A — учится сложно и долго.

    У категории B красочные сайты с большим количеством рекламных трюков, У категории A — простые сайты с основной информацией.

    У категории B акцент на разных мелочах в преимуществах сайта, У категории A эти мелочи воспринимают как что-то само собой разумеющийся.

    У категории B огромное количество выпускников, У категории A выпуски намного скромнее.

    Все это в суме рождают такие статьи.

    • интересно почему тогда у GoIT выше уровень трудоустройства, чем у той же Итеа
      у гоуайти есть карьерный сервис, много отзывов и историй студентов публикуют
      реклама в фб у тех, и у тех мне попадается одинаково часто, это никак не связано с качеством обучения, а показывает только их уровень как бизнеса (более грамотные маркетологи, сервис и т.д.)
      о ПроКод — вообще первый раз слышу

      • Потому что выпускников больше, сравните не количество а процент от общего количества. У ITEA и ProCode он не падает ниже 70%, у GoIT не подымается выше 30%.

  • Люди ищут простой способ стать крутыми и богатыми.
    А выглядит это как учиться ножевому бою по боевикам, сидя на диване.
    Ебошить нада. и курсы это ничто. Программист должен быть самообучаем и если он не может значит пиздец ему уже. И даже браться не стоит. Ибо работа прогера это каждодневное самообучение всему с чем он работает, а это включает в себя далеко не только программирование.

    • Так рождаются велосипедисты с раздутым самомнением. Это как читать книги и статьи про ножи, научиться создавать ножи, и выступать с ним в цирке.

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

      • Вы сильно ошибаетесь по обоим пунктам.
        Вопервых никакие книги не выработают у вас навык для работы с ножем, а тем более наввыко который будет работать в боевой обстановке а не на треньке где вам ничего не угрожает.
        Во вторых, самообучаются все адекватные люди. ибо это единственный вариант что то получить. Вы же описали какуюто убогую хрень из аутсорс канюшень.
        Также хочу заметить что написать свой велосипед а то и парочку должен каждый нормальный программист, ибо это его путь становления. И именно из таких вот велосипедов зародились очень крутые проекты.
        Очень плохо когда человек не ищет способа сделать велосипед, ибо это показывает не желание что то меня в лучшую сторону и желание сидет на жопе. А таким не место среди программистов.
        Как пример убогости можете вглянуть на текущий геймдев. Где народ обленился и почти все пишет на фреймах. А потом ты такой играешь в игру и уже не удивляешся почему при 100Мбит канале у тебя сраная стратежка тормозит по сети до ужаса. Ведь просто комуто было лень переписать стандартный протокол и нормально оптимизировать его под игру(хотя например в том же старике играя по модему на 56600бод как то вот не тормозило).

        И да я полностью солгасен что большинство олени, но так везде, стандартное распределение по Паретто.

  • По моему мнению нельзя недооценивать курсы. Да, это очевидно, что учиться нужно постоянно, и одними курсами «сыт не будешь». Но иногда они дают очень полезный старт и помогают человеку понять, в каком направлении двигаться.
    Я работаю в сфере тестирования ПО и меня эта сфера заинтересовала в частности благодаря бесплатным онлайн курсам тестировщиков. В университете такую специальность сейчас не получишь, а знания нужно откуда-то черпать. Да, есть много литературы, которую просто необходимо читать для развития, но когда у тебя есть возможность перенять знания у более опытных людей, почему нет?
    Сфера ИТ требует постоянного обучения, будь то курсы, книги или полезные ресурсы, к тому же огромную роль играет практика, главное, не лениться и добиваться поставленных целей.

Поиск