Разные организации и крупные компании постоянно проводят чемпионаты, соревнования и олимпиады по программированию. Со стороны они выглядят как развлечения для студентов или тех, у кого много свободного времени. И кажется, что серьезным людям, занятым в коммерческой разработке, на таких мероприятиях делать нечего.
Действительно, бывают чемпионаты чисто спортивные, куда люди приходят себя показать. А бывают другие — коммерческие, где на кону действительно крупные суммы денег, офферы в известные IT-компании и возможность релокейта в другую страну.
Расскажем, как отличить такие коммерческие чемпионаты от спортивных, кто и зачем вообще проводит такие чемпионаты, и почему стоит в них поучаствовать. Даже если вы пока не планируете менять место работы.
Кто и зачем проводит чемпионаты по программированию
«Спортивные» чемпионаты обычно проводят разные некоммерческие и государственные организации: университеты, конференции, сообщества и т.п. Например, крупнейшую в мире Международную студенческую олимпиаду по программированию организует университет Бэйлора. Крупные компании в таких олимпиадах выступают только спонсорами. Участники таких соревнований — обычно школьники и студенты. А к победителям только присматриваются — найма на работу никто не обещает.
Коммерческие чемпионаты обычно организуют IT-компании. Причем не ради развлечения, продвижения науки или развития программистского сообщества, а с четкой целью — найти себе новых сотрудников. Чемпионаты растят узнаваемость компании среди сообщества, и, по сути, позволяют провести единовременно техническое интервью у десятков разработчиков сразу. Даже с учетом трат на организацию и внушительные призы это дешевле, чем искать специалистов по одному.
Геннадий Короткевич. Источник
Получается, что для компаний такой способ поиска кандидатов очень удобен. Для него даже придумали название — Hiring event. Явление это нередкое, довольно популярное у крупных компаний и стартапов:
- В 2019 юникорн-стартап Bolt проводил чемпионат, на котором предлагали денежные призы и релокейт в Эстонию.
- В Google Code Jam победитель получает 15 000 $, а к участникам присматриваются для найма.
- Facebook регулярно проводит международный конкурс по программированию — там можно выиграть 500 000 $.
- Huawei тоже проводят чемпионат с несколькими номинациями и денежными призами.
Николай Будин, призер чемпионата юникорн-стартапа Bolt:
«Я со школы много участвовал в чемпионатах по программированию, и после выпуска продолжил этим заниматься. Когда узнал о чемпионате от Bolt, решил поучаствовать, чтобы попрактиковаться и может быть выиграть приз. Задания были стандартные — написать программу, которая по входным данным выдаст определенный результат. Для меня оказались несложными — видимо, сказался опыт. В итоге занял второе место и получил приглашение на собеседование в Москву. Я не поехал, так как не интересовался работой, но предложение действительно поступало».
В России тоже не отстают:
- Яндекс в 2020 проводил Яндекс Cup — там были и денежные призы, и упрощенное собеседование для 20 лучших.
- У Вконтакте есть VK Cup, с денежными призами. О найме в призах ничего не сказано, но победители рассказывали, что им пришло письмо от HR.
- Похожий на олимпиаду ивент проводила компания FunCorp — там было тестовое в формате олимпиадной задачи и собеседование за один день, после которого приглашали на работу.
- Mail.Ru постоянно проводят разные чемпионаты с внушительными призами и обещаниями офферов.
В 2020 из-за пандемии с чемпионатами было похуже — часть перенесли в онлайн, часть вообще отменили. Надеемся, что в 2021 все потихоньку наладится.
Победители Facebook hacker cup
Какая тут выгода для компаний — понятно. А какую выгоду для себя может извлечь профессиональный разработчик, который думает не о конкурсах и признании, а о карьере?
Зачем участвовать в чемпионатах по программированию
Сменить работу и даже переехать в другую страну. Чемпионаты устраивают именно для того, чтобы нанять новых специалистов. Поэтому практически всегда победителям предлагают пройти интервью или даже сразу получить оффер. Причем с релокейтом — в Питер, Москву или другую страну.
Для программиста с опытом это возможность за
Если опыта пока мало, но вы любите головоломки и поднаторели в решении задач, вы наверняка пройдете хотя бы отбор и круто себя покажете и на соревновании. Оффер вам может и не пришлют, но крупные компании возьмут вас на заметку — и может быть, через год-другой придут с предложением
Кстати, иногда про оффер и интервью в условиях чемпионата не говорят — обещают только денежный приз. Но победителям все равно приходит заветное письмо от HR. Поэтому если чемпионат проводит крупная компания, но об оффере в призах ни слова, все равно стоит попробовать поучаствовать — победителей наверняка пригласят на собеседование.
Проверить навыки и оценить себя. Даже если пока не планируете менять работу, сможете посмотреть, справитесь ли вы со сложными задачами от крупных компаний. Кстати, примерно такие задачки вас ждут на реальных собеседованиях: мы рассказывали об этом в статьях об устройстве в Facebook, Reddit, Spotify или Google. Так что в чемпионатах стоит поучаствовать хотя бы ради практики.
Получить строчку в резюме. Даже участие в чемпионате — хороший знак для работодателя. А победа вообще может стать вашим главным козырем. Кроме того, рекрутеры приглядываются к победителям — и когда открывается вакансия первым делом идут именно к ним.
Выиграть приз. На некоторых чемпионатах есть призовой фонд: можно выиграть несколько тысяч долларов или дорогую технику.
Чего ждать от чемпионата и как к нему подготовиться
Конкретные условия и форматы у чемпионатов всегда разные. Но обычно схема такая: Регистрируетесь > проходите простой отбор > решаете сложные задачи > получаете приз или оффер. Иногда решать задачи можно как угодно, иногда требуют конкретные языки или технологии, например, JavaScript.
Задачи обычно такие, которые можно решить быстро, за несколько часов. Есть набор входных данных, их нужно как-то обработать, чтобы получить на выходе конкретный результат. Участникам предлагают самим выбрать алгоритм и написать работающий код. Качество кода тоже проверяют — смотрят, кто справился «чище» всех.
Для тренировки в решении олимпиадных задач (и тех, что вас ждут на собеседованиях в крупные компании) есть целые сайты.
На Leetcode многое непонятно, но есть туториал по порядку прохождения задач и табличка по сложности.
Еще такие задачи с собеседований и олимпиад часто разбирают на видео. Вот несколько интересных:
- Binary Search with Duplicates video
- Mock Google interview (for Software Engineer job) — coding & algorithms tips
- https://geeksforgeeks.org
Заинтересовались чемпионатами и хотите попробовать свои силы или сменить работу? Если пишете на JavaScript, можно прямо сейчас поучаствовать в чемпионате от Яндекса через g-mate. И вместо длинного сложного трудоустройства длиной несколько месяцев получить оффер от Яндекса за один день.
iiwabor
Как строчка в резюме, ИМХО, не стоит потраченных ресурсов.
А вот то, что занятие призового места на чемпионате дает отличный шанс засветиться перед хорошим работодателем, плюс можно выиграть дополнительно хороший приз — это стоит того, чтобы поучаствовать и постараться победить.