Успешный путь в IT: лайфхаки от лучших участников чемпионатов

В интернете много статей и видео, как новичку войти в IT и остаться там надолго. В своем большинстве они рекламируют курсы или вебинары по специальности. Их настолько много, что уже сомневаешься, а есть ли тот «путь в программирование», о котором говорят?
Успешный путь в IT: лайфхаки от лучших участников чемпионатов
Мы решили пойти от обратного. В этом материале мы не будем рассуждать, как построить карьеру в IT-специальности, а сделаем дорожную карту из историй программистов и дата-аналитиков, которые уже добились успеха. Узнаем, как они пришли в программирование и сколько времени понадобилось, чтобы стать одними из лучших.
Содержание статьи

Это не голословное заявление. Для этой статьи мы взяли интервью у нескольких участников ИТ-чемпионата по Java-разработке, которые вошли в топ-30 среди более чем 1200 программистов. Такой результат — объективный показатель успеха, потому что задания были далеко не самые легкие. Неожиданно оказалось, что в нашей roadmap будет всего три шага.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Шаг 1. Высшее образование

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

Причина 1. Университеты дают отличную математическую базу, которая ценится в программировании. Если будущий программист прослушал курс вышмата и теории вероятностей в Политехе или Бауманке, он уже на 60% готовый аналитик данных. Да и в любом языке программирования крепкое знание математики будет только плюсом — учить структуры кода будет куда проще.

Причина 2. К сожалению, оклад инженеров и других технических специалистов в России сильно меньше, чем у программистов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

А средняя зарплата Java-программиста составляет уже 126 434 рубля.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Разница практически в 2,5 раза. Но это еще не все. Разработчики могут рассчитывать на хороший соцпакет, который часто включает в себя расширенный полис ОМС, адаптационный денежный бонус, доплату на съем жилья для иногородних, корпоративные развлечения, спортивные абонементы и многое другое. Инженеры и представители других технических специальностей же не могут похвастаться даже половиной подобных «плюшек».

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Закончил я Воронежский институт МВД, далее работал по контракту на должности инженера по информационным технологиям, Была больше формальная работа: получение аттестаций, взаимодействие с регуляторами, ФСТЭК, ФСБ, получение сертификатов, оформление документации. Через пять лет на этой должности я мигрировал в программирование, пройдя курсы на Java-разработчика.

Иван, занял 30 место в категории Java-разработка ИТ-чемпионата от All cups. Получил оффер на вакансию Java-программиста.

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Некоторые спецы попадают в IT вместо университета или даже со школы, но это единичные случаи. Да и растут такие спецы куда медленнее, чем программисты с высшим образованием.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Шаг 2. Хобби и самообучение

Во многих случаях интерес к программированию начинается как хобби или отдушина. Лишь небольшая часть специалистов четко планирует переход в IT.

Будущий программист или дата-аналитик сначала интересуется сферой в общем, читает статьи и новости, смотрит популярные видео. Затем начинает понемногу изучать язык программирования. Чаще всего в качестве первого языка выбирают Python, Java или JavaScript.

Путь к изучению может быть очень разным. От небольших руководств вроде «Основы Java для новичков» до геймифицированных программ типа Checkio.org. Хотя бывают и такие, кто сразу читает здоровенный талмуд «Java. Полное руководство» Герберта Шилдта на полторы тысячи страниц и получает от него удовольствие.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Всегда интерес к самой сфере IT — это первично. Нельзя стать программистом просто потому, что там зарплаты высокие. Чтобы выучить любой язык программирования, нужен высокий уровень вовлечения. И он должен сохраняться на протяжении года или больше. Этого времени обычно хватает, чтобы набрать определенный минимум навыков и «созреть» для дальнейших действий.

Мне просто сказали: «А что, попробуй!». Я подумал, а почему бы и не попробовать.

Начал лекции смотреть про эту сферу, видео на бесплатных ресурсах; бесплатные курсы на Stepik проходить. А затем увидел вакансию стажера-разработчика. И как-то так взял и прошел.

Дмитрий, занял 17 место в категории Java-разработка ИТ-чемпионата от All cups. Получил оффер на вакансию Java-программиста.

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Кстати, среди топ-30 участников ИТ-чемпионата лишь несколько спецов начали свою карьеру в разработке с платных курсов. Остальные же учились бесплатно, но с энтузиазмом.

Шаг 3. Амбиции, проверка навыков и поиск возможностей

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

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

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Понятно, что самообучение — это must have. Даже с элементарными задачами необходимо постоянно изучать что-то новое в рамках выбранного языка программирования и фреймворков, с которыми работаете.

Вариантов обучения масса. Мы не будем заострять на них внимание.

С проверками актуальных навыков все куда сложнее. Ведь каждый конкретный проект заточен под использование определенного стека инструментов и фреймворков.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Есть два популярных способа, которые помогут оценить пространство для роста программиста:

Собеседования на реальные вакансии. Даже если вы на самом деле не ищете работу. Вы не представляете, насколько много программистов так делает.

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

Такие тесты на собеседованиях отлично выявляют пробелы в знаниях спеца. По сути разработчик сразу получает план прокачки умений на последующие 1-4 месяца.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В один прекрасный день специалист просто успешно пройдет собеседование и получит оффер, который будет сильно лучше его текущей позиции.

ИТ-чемпионаты. Это уже уровень повыше. Ведь цель соревнования — найти лучших среди лучших. Поэтому задания здесь будут направлены на решение реальных проблем бизнеса.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

  • Чемпионаты проводятся во внерабочее время: по будням вечером или по выходным. Специалисту не нужно будет раз в месяц отпрашиваться с работы, брать отгул и ехать куда-то на другой конец города. По сути требуется лишь доступ в интернет и несколько свободных часов.
  • Программист может принимать участие в неограниченном количестве чемпионатов. Хоть каждый день. Ивенты не мешают ни работе, ни обучению. С собеседованиями подобное будет сильно проблематично.
  • Участие в ИТ-соревнованиях — это престижно. Даже если человек не занимает призовых мест. Уже попытка выполнить задания говорит о том, что программист развивается в профессии и достаточно амбициозен, чтобы пробовать свои силы. Постоянное посещение собеседований без поиска работы — наоборот, порицается. Это не слишком этично по отношению к рекрутерам и сеньорам, время которых человек просто тратит.
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Вот что говорят об этом некоторые из лидеров турнирной таблицы:

В целом мне всё ещё интересно развиваться в Java. Я увидел рекламу ИТ-чемпионата и подумал - почему бы нет. Это было бы интересно, ведь раньше я не принимал в таких челленджах участия.

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

Даже без огромного опыта в программировании можно побороться за места в топ-30. А там уже недалеко и до неплохих оферов от организаторов. К примеру, все участники чемпионата из топ-30 получили приглашения на работу, а для шести разработчиков они показались достаточно привлекательными, чтобы их принять и сменить работу.

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

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