• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

«Участие в заключительных этапах ICPC высоко ценится во многих крупных IT-компаниях»

Три команды НИУ ВШЭ – Пермь выступили в финале ICPC Northern Eurasia 2024. Соревнования по спортивному программированию проходили одновременно на 4 площадках – в Санкт-Петербурге, Новосибирске, Астане и Тбилиси. В них приняли участие 310 студенческих команд из России и ближнего зарубежья. Студенты поделились с нами впечатлениями о чемпионате. 

В течение 5 часов каждая команда должна была решить максимальное количество из 13 предложенных задач. По правилам ICPC задачи были сформулированы на английском языке, что создавало дополнительную сложность для участников. Даже незначительная неточность в переводе могла привести к неверному пониманию условия задачи и, как следствие, к построению неправильного алгоритма для ее решения.

Три команды студентов образовательных программ «Программная инженерия» и «Разработка информационных систем для бизнеса» представляли Уральский регион в финале ICPC Northern Eurasia. В составе команд: Денис Кашин, Степан Козлов, Роман Косвинцев, Степан Косвинцев, Александр Кудлай, Никита Почебут, Степан Сохранных, Кирилл Талан, Никита Чернов. Участники поделились впечатлениями о поездке на соревнования и рассказали, что им дает спортивное программирование для построения карьеры в сфере IT.

Никита Чернов,
студент 4 курса образовательной программы «Программная инженерия»

«Спортивное программирование кажется нетипичным для многих людей видом программирования. В нем мы не создаём какой-то продукт, сервис или сайт, не делаем для него user-friendly дизайн приложения и не пытаемся развить его масштабируемость. Однако, несмотря на эти отличия от прикладного программирования, все же есть одна общая важная деталь – мы пытаемся решить какую-то проблему. 

В спортивном программировании проблемы уходят больше в сторону алгоритмов. Благодаря этому программист развивает наиболее важные для него умения – строить и реализовывать алгоритм для его задачи. Также это помогает при устройстве на работу, ведь 90% крупных IT-компаний в наше время при собеседовании проверяют кандидата на умение решать алгоритмические задачи. Я, например, именно благодаря опыту в алгоритмическом программировании смог устроиться на свое текущее место работы – Т-Банк.

Посещение такого вида соревнований позволяет студентам воспользоваться большим количеством шансов, ведь на них также ходят HR крупных компаний, тимлиды и руководители, которые ищут потенциальных работников. Также бонусы от участия может получать и образовательное учреждение, ведь большое количество команд на условном 1/2 ICPC говорит о том, что университет идет впереди других вузов своего региона. Я рад, что у Вышки есть возможность оплачивать поездки студентов на мероприятия такого масштаба (за что хочется сказать огромное спасибо), ведь это порождает мотивацию расти и развиваться дальше». 

Степан Сохранных,
студент 3 курса образовательной программы «Разработка информационных систем для бизнеса»

«Мероприятие потрясающее. Масштаб удивляет – 310 команд со всей страны, а также из Беларуси, Армении, Казахстана, Грузии и других стран объединены духом спортивного программирования. Огромное количество единомышленников, доброжелательные спонсоры и волонтёры, качественная организация. Часть нашей команды уже была на этом соревновании в прошлом году, и мы можем с уверенностью сказать, что высокий уровень организации – фишка NEF ICPC.

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

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

Александр Кудлай,
студент 4 курса образовательной программы «Программная инженерия»

«Можно предположить, что спортивное программирование заключается в том, что необходимо придумать самый быстрый алгоритм за ограниченное время. Отчасти это правда, но на самом деле большинство алгоритмов решения задач уже придуманы другими людьми десятки лет назад. Зачастую алгоритм, который ты придумаешь сам, может оказаться неоптимален или вовсе иметь ошибки, которые ты не учел. Более того, возможно твой алгоритм и оптимален по скорости выполнения, но суть алгоритма можно было выразить гораздо более лаконично. Именно поэтому я считаю, что спортивное программирование не об этом.

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

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

Попадание в полуфинал ICPC позволяет обзавестись интересными контактами с представителями сферы IT. Зачастую алгоритмы очень важны для устройств низкого уровня, например, при разработке процессоров или, например, при составлении алгоритмов для карт. Топ-100 участников ICPC при устройстве в Яндекс получают 100 тысяч рублей. Более того, сам факт участия в заключительных этапах ICPC высоко ценится во многих крупных IT-компаниях. Например, со мной уже связался HR компании Huawei и пригласил рассмотреть их вакансию».

Кирилл Талан ,
студент 3 курса образовательной программы «Разработка информационных систем для бизнеса»

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

Олимпиадное программирование также учит важным навыкам, которые тяжело приобрести, просто изучая учебную программу и выполняя домашние задания. Среди таких навыков можно отметить расстановку приоритетов на задачи с малым количеством времени на их решение. Все домашние задания или экзамены в вузе зачастую рассчитаны на то, чтобы студенты могли комфортно, в своем темпе, последовательно выполнять каждое из них (если, конечно, не откладывать всё на последний момент). В свою очередь на олимпиадах такого уровня очень редко бывают случаи, когда команда успевает сдать все задачи за 5 часов. Даже абсолютные победители зачастую оставляют 1-3 задачи незакрытыми, чего уж говорить других командах. В связи с этим, чтобы показать максимальный перфоманс, команда должна правильно определить сложность задач и решить для себя, что она может сделать максимально быстро и безошибочно, ведь именно от этого зависит их итоговое место в таблице.

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

Никита Почебут, студент 1 курса образовательной программы «Разработка информационных систем для бизнеса»

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

Чемпионат Северной Евразии – наверное, самое масштабное студенческое событие спортивного программирования в России. Организаторы хорошо постарались и превратили это событие в настоящий праздник. В месте проведения спонсоры мероприятия организовали многочисленные активности, где можно было поиграть в различные интеллектуальные игры  и познакомиться с потенциальными работодателями.

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