Где программисту проверить свои силы: чемпионаты от крупных IT-компаний

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

Действительно, бывают чемпионаты чисто спортивные, куда люди приходят себя показать. А бывают другие — коммерческие, где на кону действительно крупные суммы денег, приглашения в известные IT-компании и возможность переезда в другую страну на ПМЖ.

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

Кто и зачем проводит чемпионаты по программированию

«Спортивные» чемпионаты обычно проводят разные некоммерческие и государственные организации: университеты, конференции, сообщества и т.п. Например, крупнейшую в мире Международную студенческую олимпиаду по программированию организует университет Бэйлора. Крупные компании в таких олимпиадах выступают только спонсорами. Участники таких соревнований — обычно школьники и студенты. А к победителям только присматриваются — найма на работу никто не обещает.

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

Получается, что для компаний такой способ поиска кандидатов очень удобен. Для него даже придумали название — Hiring event. Явление это нередкое, довольно популярное у крупных компаний и стартапов:

  • В 2019 юникорн-стартап Bolt проводил чемпионат, на котором предлагали денежные призы и переезд на работу в Эстонию.
  • В Google Code Jam победитель получает 15 000 $, а к участникам присматриваются для найма.
  • Facebook регулярно проводит международный конкурс по программированию — там можно выиграть 500 000 $.
  • Huawei тоже проводят чемпионаты с несколькими номинациями и денежными призами.

Кстати, на Google Code Jam участников финала обязывают вести стрим — чтобы убедиться, что кодят точно они. Таких стримов много на Ютубе, вот, например, один из них:

«Я со школы много участвовал в чемпионатах по программированию, и после выпуска продолжил этим заниматься. Когда узнал о чемпионате от Bolt, решил поучаствовать, чтобы попрактиковаться и может быть выиграть приз. Задания были стандартные — написать программу, которая по входным данным выдаст определенный результат. Для меня оказались несложными — видимо, сказался опыт. В итоге занял второе место и получил приглашение на собеседование в Москву. Я не поехал, так как не интересовался работой, но предложение действительно поступало».

Николай Будин,, призер чемпионата юникорн-стартапа Bolt

В России тоже не отстают:

  • Яндекс в 2020 проводил Яндекс Cup — там были и денежные призы, и упрощенное собеседование для 20 лучших.
  • У Вконтакте есть VK Cup, с денежными призами. О найме в призах ничего не сказано, но победители рассказывали, что им пришло письмо от HR.
  • Похожий на олимпиаду ивент проводила компания FunCorp — там было тестовое в формате олимпиадной задачи и собеседование за один день, после которого приглашали на работу.
  • Mail.Ru постоянно проводят разные чемпионаты с внушительными призами и обещаниями офферов.

С Яндекс Cup, кстати, тоже есть стримы — можно посмотреть, какие там задания и как участники с ними справляются:

В 2020 из-за пандемии с чемпионатами было похуже — часть перенесли в онлайн, часть вообще отменили. Надеемся, что в 2021 все потихоньку наладится.

Победители Facebook hacker cup

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

Зачем участвовать в чемпионатах по программированию

Проверить навыки и оценить себя. Задачи с олимпиад очень похожи на те, что ждут программистов на реальных собеседованиях: мы рассказывали об этом в статьях об устройстве в Facebook, Reddit, Spotify или Google. Поэтому даже если вы еще только учитесь, или не планируете менять работу, можно проверить себя: посмотреть, справитесь ли вы со сложными задачами и сможете ли пройти собеседование в компанию мечты. А если не сможете, то хотя бы попрактикуетесь и поймете, какие навыки стоит развивать.

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

Например, вот какие денежные призы раздавали победителям VK Cup. Источник

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

Для программиста с опытом это возможность за 1–2 дня запрыгнуть в Яндекс, Mail.Ru или даже Google. Быстрее, чем пытаться самому пройти все этапы собеседования и наконец дойти до найма.

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

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

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

Чего ждать от чемпионата и как к нему подготовиться

Конкретные условия и форматы у чемпионатов всегда разные. Но обычно схема такая:

Регистрируетесь → проходите простой отбор → решаете сложные задачи → получаете приз или оффер.

Иногда решать задачи можно как угодно, иногда требуют конкретные языки или технологии, например, JavaScript.

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

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

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

Еще такие задачи с собеседований и олимпиад часто разбирают на видео. Вот несколько интересных:

Хотите попробовать свои силы или сменить работу? Если пишете на JavaScript, можно прямо сейчас поучаствовать в чемпионате от Яндекса через g-mate и вместо длинного сложного трудоустройства длиной несколько месяцев получить оффер за один день. Не сомневайтесь — попробуйте, хотя бы чтобы проверить свои силы! :)

0
5 комментариев
Дарья Шуруева

Тема — знаю нескольких человек, кто через чемпионаты себе работу нашел

Ответить
Развернуть ветку
Anatoliy Nikulin

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

Ответить
Развернуть ветку
Maria Konova
Автор

Думаю, их процент беспрецедентно высок относительно тех, что нашли, выиграв на чемпионате) 
Все верно говорите. Однако, one-day offers – это один из вариантов. Пусть их будет всегда много и разных. 

Ответить
Развернуть ветку
Maria Konova
Автор

а я знаю, кто победил, получил предложение с релокацией и... не поехал) 

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

И которых никогда не бывает в работе

Ответить
Развернуть ветку
2 комментария
Раскрывать всегда