Как успешно стартовать в IT без опыта: несколько советов по трудоустройству



Как успешно стартовать в IT без опыта: несколько советов по трудоустройству

Как успешно стартовать в IT без опыта: несколько советов по трудоустройствуРаботать в сфере информационных технологий – мечта для многих (возможно, и для большинства).

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

IT – во многом идеальная среда для работы, но вот как туда устроиться? Здесь уже есть свои нюансы.

Собеседование в IT-компанию

В силу объективных причин (пандемия коронавируса) почти все собеседования за последний год перешли в дистанционный формат.

Это справедливо не только для нашей компании, но и для всего IT-рынка. Более того, для программистов удаленная работа стала актуальной задолго до пандемии, и «собеседования по скайпу» не являются для нас чем-то необычным. Тем не менее, живое общение более информативно, поэтому по мере нормализации эпидемиологической обстановки определенная доля собеседований вернется в офлайн формат.

Собеседования у разработчиков достаточно стандартны с точки зрения структуры и отличаются только техническим наполнением. Мы здесь исключением не являемся, позволить себе серьезный «креатив» в этой области могут единицы. Это компании уровня Google, Apple и Facebook, куда стоит очередь из квалифицированных разработчиков, желающих там работать.

Мы стараемся по возможности стандартизировать технические вопросы собеседования для каждой вакансии. Т.е. все кандидаты на конкретную позицию в идеале отвечают на одинаковый список вопросов. Это позволяет снизить субъективный фактор при оценке результатов. Но часть собеседования все равно варьируется, т.к. приходится учитывать опыт конкретного соискателя и его ответы на предыдущие вопросы. В целом, для подготовки к технической части рекомендую книгу G.L. McDowell «Cracking the Coding Interview».

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

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

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

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

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

Разработчики без опыта работы

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

Для успешной работы на позиции junior-разработчика вам уже необходимо владеть фундаментальной базой в области теории алгоритмов и иметь опыт программирования собственных проектов (например, дипломная/курсовая работа).

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

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

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

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

Советы начинающим разработчикам

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

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

Например, если вы начали свою карьеру как PHP-разработчик, то без существенных усилий и понижения в зарплате вы не устроитесь разработчиком игр на C++.

Хочется дополнительно отметить несколько важных моментов, на которые стоит обратить внимание в начале карьеры:

  1. Прохождение собеседований – это отдельный приобретаемый навык, как это не парадоксально, напрямую не связанный с реальной квалификацией специалиста. Просто ходите на собеседования и особо не думайте о результате. Первые несколько раз могут оказаться провальными, но это не важно на данном этапе. Вы наберетесь опыта, перестанете нервничать, некоторые технические вопросы начнут повторяться. Адекватная компания не ждет от junior-разработчика чудес. Проверяют по большей части две вещи: знание теории алгоритмов и умение думать. Соответственно, теорию алгоритмов и основы выбранного языка программирования стоит перед собеседованием повторить.
  2. Не спешите хвататься за любой оффер. Как уже писал выше, первая работа определяет очень многое в вашей дальнейшей жизни. Проанализируйте, насколько эта позиция и компания соответствуют вашим стратегическим карьерным целям и жизненным ценностям. Действительно ли команда, в которой вам предстоит работать – это профессионалы, у которых вы многому научитесь?
  3. Не гонитесь за деньгами, идите туда, где большему научитесь. Помните, что в первые два-три года опыт и знания куда важнее сиюминутной выгоды. Потратив это время с пользой, вы в будущем сможете претендовать на значительно большую зарплату, чем те, кто на старте выбрал деньги. Спрос на программистов огромен, и даже начинающие разработчики могут рассчитывать на приличную зарплату, но нужно понимать, что основная «война» на рынке идет за специалистов middle и senior уровня. Junior-разработчикам переплачивают компании, у которых есть какие-то проблемы с наймом опытных специалистов. Обычно это не то место, где вам стоит начинать карьеру.

Источник