Что такое Codebattle
Codebattle — игровая платформа с открытым кодом, на которой программисты соревнуются друг с другом. Участники на Codebattle занимаются совместным решением задач на скорость — побеждает тот, кто первым справится с заданием.
Во время поединка пользователь одновременно видит свой код и код соперника. То есть каждый из участников битвы в режиме реального времени наблюдает за действиями соперника. Это делает соревнование драйвовым и эмоционально насыщенным.
Как им пользоваться
Каждый участник получает одинаковую задачу по время турнира, и пытается выполнить ее на скорость при помощи языка программирования, которым лучше всего владеет.
Пользователь может выбрать для соревнований следующие языки:
JavaScript;
PHP;
Python;
Ruby;
Perl;
Haskell;
Elixir;
Clojure.
Чтобы участвовать в поединках, необходимо авторизоваться через GitHub. В ожидании живого соперника любой программист можно посоревноваться с ботом. При этом на Codebattle есть виртуальные противники с уровнем скиллов от Elementary до Hard.
Иногда на Codebattle проходят турниры, в том числе от Хекслета, в которых принимает участие достаточно большое количество пользователей. При этом создать турнир может абсолютно любой пользователь. Также на сайте есть рейтинги и возможность принимать участие в турнирах в качестве зрителя.
Кто делает Codebattle
Codebattle — опен-сорс проект, контрибьютором которого может стать практически каждый желающий. В списке разработчиков проекта более 70 человек, а вокруг проекта сложилось достаточно большое коммьюнити, которое занимается развитием Codebattle.
На фронтенде в Codebattle используется JavaScript и React. На бэкенде — фреймворк Phoenix, написанный на Elixir. Кроме того, в проекте применяются язык программирования Clojure — для создания тестов, технологии Docker и ansible.
Зачем программисты приходят в Codebattle
Участие в опенсорс-проекте (в любом, не только в Codebattle) помогает разобраться в технологиях, получить опыт работы с теми или иными инструментами. Отличительная черта именно Codebattle в том, что новичков сразу же вовлекает комьюнити в тесную работу.
Проект прокачивает людей, даёт опыт командной работы. Участники получают важные навыки работы с проектом. Узнают о Git, учатся релизить, правильно переписывать код. Новички получают бесплатные консультации, общаются с опытными разработчиками.
Участие в опен-сорс проекте важно и для трудоустройства — многие приходили в Codebattle без работы, а потом устраивались в классные коммерческие проекты. При этом участие в разработке Codebattle было большим плюсом во время устройства на работу.
Если вы тоже хотите принять участие в работе Codebattle, то вступайте в канал #codebattle в Slack Хекслета.