luckyea77 (luckyea77) wrote,
luckyea77
luckyea77

Categories:

«Скорость – важный фактор успеха». Кто такие спортивные программисты



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

Чем еще спортивные программисты отличаются от промышленных и в чем их уникальность – рассказывает руководитель Представительства чемпионата мира по спортивному программированию ICPC в Северной Евразии Матвей Казаков.

Профессиональные решатели задач


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

Главное, чтобы код не просто работал, но работал быстро и эффективно потреблял ресурсы. Эти два ключевых критерия настолько оттачиваются, что люди делают это на автомате.

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

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

Спринтеры и марафонцы

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

В промышленном программировании, конечно, тоже есть сроки, но коды и программы могут писаться и проверяться месяцами, а то и годами. Это уже не 20 или 40 минут на задачу.

Генераторы идей

Дано: задача и ограниченное количество времени. Требуется: найти оптимальное верное решение самым красивым способом. Именно так выглядят соревнования по спортивному программированию.

В промышленном программировании предпочтение отдается стандартным, проверенным решениям, фокус при этом остается на функциональности.

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

Время для старта

Спортивный программист может стать промышленным программистом – никаких проблем, но из промышленного программиста превратиться в спортивного намного сложнее.

Спортивные программисты оттачивают свои способности годами. Многие успешные спортсмены, участвующие в соревнованиях в России, начинают заниматься олимпиадами с 5 класса. Можно заниматься индивидуально, решая задачи прошедших соревнований на codeforces.com и topcoder.com, там же проходят и онлайн-соревнования. Но для участия в командных соревнованиях, типа ICPC, нужна хорошо слаженная команда и тренер. Команды формируются в школьных кружках по спортивному программированию и в университетах – на факультетах компьютерных наук, программирования.

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

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

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

Карьерные перспективы

И промышленные, и спортивные программисты стартуют одинаково.

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

По данным International Data Corporation, в мире сейчас насчитывается больше 22 миллионов программистов, при этом около 320 тысяч из них – спортивные. Получается, рынок разграничен: узкий рынок спортивных программистов и широкий рынок обычных программистов, на которых спрос также высок, но и выпускают их намного больше.

С другой стороны, спортивные программисты часто стоят дороже, и не всем компаниям необходимы такие специалисты. Те компании, которым нужны инновационные решения, требующие высокой производительности и те, кто понимают ценность такого специалиста, охотятся за спортивными программистами. Биржевая торговля, языковые технологии, нейронные сети, BigData, везде, где есть серьезные математические модели – им без «спортивных мозгов» не обойтись.

Источник

Смотрите также:
Курсы по программированию от лучшего высшего учебного заведения мира по подготовке программистов
Инкубатор гениев: кто выигрывает чемпионаты мира по программированию

Tags: программирование
Subscribe

Posts from This Journal “программирование” Tag

promo luckyea77 june 19, 23:05 11
Buy for 10 tokens
Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Март 2018 года Индустриализация стала основным инструментом достижения экономического богатства стран, начиная с появления прядильных машин в конце XVIII века; при смене технологических укладов менялись местами мировые промышленные лидеры. Какой…
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 2 comments