HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
JustinSun

НОВОСТИ Восемь причин участвовать в соревнованиях по спортивному программированию

BDFpromo
Оффлайн

BDFpromo

.
.
Регистрация
23.09.18
Сообщения
12.347
Реакции
176
Репутация
0
F0K1S8F2uDE.jpg

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

------1.jpg

Фото здесь и далее представлены пресс-службой МФТИ и Randy Piland

В 2020-м весь мир буквально за пару месяцев ушел в онлайн: школы, магазины, офисы и предприятия стали работать в digital-формате. Пока во многих странах люди теряют работу из-за карантина, спрос на IT-специалистов продолжает расти. У одних только Zoom и Slack количество вакансий на 50-100%. Эпидемия коронавируса также показала – тысячи задач и процессов нуждаются в автоматизации, но потенциал до сих пор не реализован.



В этих условиях спрос на специалистов по искусственному интеллекту и работе с большими данными растет рекордными темпами. Как отмечали аналитики LinkedIn в недавнем о будущем рынка труда: "Быть инженером/разработчиком выгодно всегда". Сейчас, в период масштабной digital-перестройки и массового перехода на удаленку, это высказывание актуально, как никогда.

Повышенный спрос на ИТ-специалистов рождает большое количество курсов, где учат программированию. И скоро уже будет совсем непросто выделиться знанием Java на рынке труда. Но есть отрасль, в которой можно себя проявить и прокачать навыки на новом уровне, – чемпионаты по спортивному программированию. Она быстро растет: на самой популярной в мире соревновательной платформе по спортивному программированию Codeforces 2019 года было более 800 тысяч зарегистрированных пользователей, из которых 500 тысяч сдали хотя бы одну задачу. Два года назад пользователей платформы было в два раза меньше.

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

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

Знакомство с коммьюнити


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

CJfGYnsD-Nc.jpg


У спортивного программирования сильное сообщество выпускников, многие из которых стали известными на весь мир программистами, основателями компаний. Те, кто уже выпустились из вузов и закончили соревновательную карьеру, продолжают взаимодействовать с коммьюнити, поддерживают следующие поколения, ищут себе в команду стажеров и сотрудников в этой среде, открывают вместе проекты и бизнесы. Например, сооснователи российского стартапа AI Factory Виктор Шабуров и Александр Машрабов участвовали в чемпионатах ICPC в разные годы. И горизонтальное движение очень распространено – хорошим ребятам предлагают новые интересные задачи внутри компаний.

Связь с бизнесом


Бизнес встроен в систему спортивного программирования: компании спонсируют контесты, хантят медалистов. Крупные чемпионаты посещают сотрудники таких IT-корпораций, как Google, Яндекс, Mail.ru Group, Сбербанк, МегаФон: они знакомятся с конкурсантами, а победителям часто предлагают работу. Для бизнеса соревнования по программированию - это еще и возможность получить экспертизу: какие тенденции есть в академическом сообществе, как выстраивать свои образовательные проекты, проводить лекции, соревнования. Так сохраняется баланс между академической средой и прикладными задачами, а классические программы обучения не становятся оторванными от жизни.

Навык командной работы


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

IWXsA7CCbnY.jpg


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

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

Профессиональный рост


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

i3rZ6yFPSxs.jpg


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

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

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

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

Бенчмаркинг


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

PknvSDNOuok-1.jpg


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

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

Прокачка английского языка


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

41.jpg


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

Возможность путешествовать


Пхукет, Рапид-Сити, Пекин, Порто - города проведения последних финалов чемпионата ICPC. Он, как и олимпиада по информатике IOI каждый год проводится в новом месте.

Porto-2019-contest-floor-Randy-Piland.jpg

Randy-Piland-MIPT-team-2-place-2018.jpg

---------------.jpg


До пандемии коронавируса спортивное программирование давало возможность посмотреть мир, познакомиться с разными культурами и найти единомышленников из разных стран. Соревнований очень много: финал Google Hashcode проводится в Дублине, финалы Яндекс.Алгоритма, Google Code Jam, TopCoder Open, Facebook Hacker Cup кочуют из города в город, заключительный этап VK Cup базируется в Санкт-Петербурге. Там же проводится и чемпионат Северной Евразии Университетом ИТМО - это полуфинал чемпионата ICPC по регионам, в число которых входит Россия.

Чемпионаты по спортивному программированию проводят не только ИТ-компании, но и вузы, и студенты съезжаются на них из разных городов и стран: БГУИР организует чемпионат в Минске, открытый Чемпионат Урала проводят уральские вузы, последние три года - Уфимский государственный авиационный технический университет в Уфе, RuCTF в Екатеринбурге делается силами Уральского федерального университета, Всесибирскую олимпиаду по программированию им. И.В. Поттосина проводит Новосибирский государственный университет, KPI-OPEN в Киеве организует Киевский политехнический институт. Для практики можно ездить и на хакатоны, одни из самых крупных - Junction в Хельсинки, HackZurich в Цюрихе.

Путешествовать можно и по международным сборам по программированию, - как в обычном спорте. Сборы Moscow Workshops, которые зародились на кампусе Физтеха, открываются все в новых и новых локациях: в Китае, Испании, Омане, Сингапуре, Бразилии, Латвии, в живописных местах России - на Дальнем Востоке и Байкале. Большинство программ короткие, поэтомы можно в течение года успеть побывать в нескольких локациях.

Стрессоустойчивость


Соревнования помещают разработчиков в конкурентную среду. Любой контест – это выход из зоны комфорта, за рамки привычной обстановки квартиры или офиса.

Randy-Piland-2018-Beijing-MIPT-team-2-place.jpg


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

 
Сверху Снизу