Sunday, December 4, 2016

Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился / Блог компании Edison / Хабрахабр

Изобретаем успех: софт и стартапы
889,34
рейтинг
сегодня в 00:00

Управление → Я провел 3 месяца, пытаясь устроиться на работу после лагеря программирования, и вот чему я научился перевод

image

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

image
< 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), где вам будут задавать сложные вопросы о структуре данных и вопросы касательно алгоритмов.

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

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

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

image
Прямая зависимость между временем, которое я потратил на собеседования и предложенной зарплаты

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

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

Озарение#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 дней в неделю. Но я старался заботиться о себе.

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

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

Легко перегореть в процессе. Хорошо питайтесь, спите и занимайтесь спортом.

Может стать одиноко. Проводите время с друзьями, которые проходят через то же, что и вы.

Вывод: приготовьтесь к долгой игре и убедитесь, что вы хорошо заботитесь о себе

Итог:


  1. Связывайтесь с реальными людьми
  2. Начните с малого и пробивайте себе путь наверх
  3. Учитесь так, будто ваша будущая работа зависит от этого
  4. Показывайте себя с лучшей стороны
  5. Это марафон, а не спринт

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

Особая благодарность Дилану Трану, Карен Цао, Рохиту 'Солнечному' Рехи, Джейк Пейс, Анамите Гуха, Стефани Лю, и многим другим.

Поддержка публикации — компания Edison, которая разрабатывает SDK для слежения за географическими объектами и систему оперативного учета сети магазинов «Мебель для дома».
Автор: @MagisterLudi Felix Feng
Edison
рейтинг 889,34
Изобретаем успех: софт и стартапы

Комментарии (23)

  • +11
    Если судить по первой картинке, я бы вас на работу не взял.
    • 0
      Я подумал, что картинка — это сарказм, типа «смарите чо как меня научили, оп», а когда понял что это всерьез, то пришлось закрыть вкладку… немного обходным путем.
      • +3
        для полной шутки там не хватает еще одной ветки:
        if (isPrepared) {    return true;  else if (!isPrepared) {    return false;  } else {    return !true && !false;  }  
    • 0
      Объясните непосвящённому, что не так.

      Я сам, в основном, пишу тесты на Java и с JavaScript знаком слабо…
      • +3
        ну индусский же код!
        иф бессмысленный, когда можно сразу сделать
        return isPrepared

        или даже сразу return без заведения переменной
      • +5

        return studying && hardWork && luck; — вместо всего того что на картинке

        • 0
          За Java Script не скажу, но во многих других языках бывают ситуации, когда так делать нельзя.
          Например в тех, где bool может быть отличным от 0 и 1. Потому что на выходе будет тоже значение отличное от 0 и 1. В тоже время иногда быват важно, что функция возвращала строго 0 или 1.
      • +2
        function getDevJob(studying, hardWok, luck) {  	return studying && hardWok && luck  }  

        или модно, стильно, молодежно
        const getDevJob = (studying, hardWok, luck) => studying && hardWok && luck;  
        • –2
          Да вообще дефайном должно идти: #define GETDEVJOB(studying,hardwork,luck) studying&&hardwork&&luck
          Зачем тратить время на вызов.
          • +3

            Вас бы тоже на работу не взяли. Если уж писать дефайн — надо хоть скобки поставить...

  • 0
    Хорошие зряплаты для джуна. Впрочем image
  • –4
    Вот это действительно заряд бодрости! Правда, на ночь глядя, но всё равно потрясающая статья. Благодарю за перевод, уверенность в своих силах точно возросла на порядок!
  • 0
    Интересно, сколько он там продержится.
  • +6
    Я правильно понял, что один самоуверенный школьник, закончивший какие-то курсы заспамил крупные компании на предмет работы выше юниора и кто-то даже его взял? Да, но после этого наступят будни, где нужно будет выполнять реальную работу и замаскированное отсутствие опыта может выйти боком.
  • +2
    Оно, к сожалению, по зп работает только там. Меня тут переманивали в рф отделение одна весьма большая корпорация — зп в рублях, да вкусная и много выше среднего, но было крайне смешно читать оффер. Можно сказать я ржал как конь… Выполняя для той же корпорации(только напрямую — за океан) на фрилансе весьма маленькие заказики по томуже профилю у меня получалось почти в три раза больше :)
  • +2
    У авторов таких текстов лучше получается быть копирайтерами, нежели разработчиками.
  • +5
    Ай, какая молодца! Я так чувствую ещё чуть-чуть и на Хабре появятся статьи типа «Как я написал функцию Hello World»
  • 0
    Заглянул в оригинал в комменты. Там, к гадалке не ходи, «Молодец!», «Отлично!», «Вот это история успеха! Так держать!». Ни одного толкового коммента у них там. В чем достижение-то?

    Что ни статья, так «great article, whaaayyy». Может, это роботы? Они по-другому не умеют мыслить? Более прагматично.

    Помню, один раз была статья на англоязычном ресурсе, как там рассказывали, как один разработчик забросил свой репозиторий, а кто-то другой взял это репозиторий и довел до ума. И снова «great article, thank you» и подобная чепуха. Я спросил — а чем тут гордиться? Меня не поняли.
    • +1
      Насколько я понял из статьи, человек отправил почти три сотни заявок, прошёл 16 собеседований и в итоге устроился на работу, которая ему нравится — как в техническом плане, так и в плане зарплаты (причём, насколько я понимаю, устроился он не на самую низкую ставку). И всё это всего за три месяца после окончания школы программистов.
      Как по мне — вполне себе «great article, whaaayyy». Вы не согласны?
  • +4
    В Hack Reactor мы тренировались маскировать наше отсутствие опыта. В нашей личной жизни, мы намеренно умалчиваем о нашем образовании в лагере программистов.

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


    Наоборот, гораздо больше уважения и желания сделать оффер вызывают кандидаты, которые с самого начала честно говорят "я этого не знаю", "я это не использовал" (особенно в мире JS, где фреймворки меняются каждый день). Во-первых, в этом случае велик шанс, что работодатель тоже окажется честным. Во-вторых, вам не поручат то, с чем вы не справитесь. В-третьих, низкая зарплата очень быстро вырастет, если вы будете хорошо делать свою работу.


    Единственный правильный совет в статье — выходить напрямую на реальных разработчиков, которым нужны люди в команду. Под лежачий камень (т.е. под ничем не примечательную строчку в середине списка из пары десятков, а то и сотен кандидатов) вода не течет.

    • –3
      Ну, у товарища всё же получилось. А победителей, как известно, не судят.)
      • 0

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


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

  • 0
    Из опыта собеседований у нас на работе:
    приходит куча людей на вакансии сеньёров и тех-лидов со знаниями от силы на джуна. то есть люди вообще не знают базы и видно что у них нет ни опыта ни понимания как работают многие вещи.
    Так то отсутствие опыта не так то просто и скрыть.

    Я в своё время после курсов не стал заливать что я мидл, а честно сказал что нет опыта. Меня взяли и я н практике понял что отсутствие опыта в рабочем процессе не скрыть. У нас была маленькая команда с ежедневными коллективными код-ревью (мега-полезная штука для развития). И за пару лет мне таки удалось наработать хороший опыт и начать разбираться в предмете.

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

Самое читаемое Управление



Original Page: https://habrahabr.ru/company/edison/blog/316776/



Sent from my iPad

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.