Команда Lohika – победитель DEV Challenge IX в номинации Web Team

5-6 июня в Киеве состоялся финал IX Чемпионата по разработке DEV Challenge IX. Он стартовал в середине марта и состоял из нескольких этапов: отборочного, полуфинала и финала. Команда Lohika принимала участие в номинации Web Team и по результатам финального задания заняла первое место. Члены команды поделились своими впечатлениями о чемпионате.

Состав команды Lohika:

— Сергей Морковкин, Team Lead в компании Lohika. Опыт работы в web-разработке 16 лет. Победитель первого чемпионата UA Web Challenge в номинации «Веб мастер».
— Иван Дорошенко, Team Lead в компании Lohika. Опыт работы в web-разработке более 7 лет (single page приложения и web-сервисы, приложения для медиа-рынка).
— Владимир Замышляев, Senior Engineer в компании Lohika. Последние 6 лет занимается web-девелопментом. Успешно принимал участие в разработке нескольких десятков корпоративных и медиа-приложений. Нравится решать задачи web for mobile и разрабатывать с использованием WebGL и Canvas.

Ребята, почему стоит участвовать в подобных чемпионатах?

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

Иван Дорошенко, команда Lohika: «Ощущение азарта, ощущение радости, когда побеждаешь. Я решил принять участие в чемпионате из чувства солидарности с ребятами. Безусловно, было интересно оценить себя в рамках украинского IT-сообщества».

С какими трудностями вы столкнулись?

Сергей Морковкин, команда Lohika: «Трудности были, но мы с ними справились (смеется). Трудности были относительные. Для нас они заключались в выборе технологии, задача состояла в том, чтобы создать лучшее решение, на которое мы способны. В этот момент было важно перечислить все варианты, которые можно создать, сравнить и выбрать лучший. К примеру, на отборочном этапе было задание: создать систему автоматизации процесса заключения контракта между туристической компанией и клиентом. В работе над коммерческими проектами у заказчика чаще всего есть четкая позиция, какие технологии нужно использовать, а в чемпионате у нас была возможность самостоятельно выбирать технологию.

После некоторых раздумий мы приняли решение не использовать популярные фреймфорки: React, Angular. Вместо этого использовали тот стек технологий, который позволил нам создать максимально простое и функциональное решение. В нашем случае был выбран фреймворк Vue.js, создана build-система с использованием WebPack. Полностью был оптимизирован процесс разработки, включая функцию Hot Module Replacement, автоматическую перезагрузку api-сервера с помощью nodemon и прекомпиляцию less-стилей. Все это позволило вести разработку с максимальной скоростью.

Далее ситуация сложилась так, что те наработки, которые мы использовали для отборочного этапа, не пригодились в финале. Работу над финальным заданием мы начинали практически с нуля».

Насколько сложное было задание в финале чемпионата?

Иван Дорошенко, команда Lohika: Задача была создать игру в футбол в реальном времени, где игрокам вид на поле представлен сверху. Каждый, кто заходит на страничку, видит своего игрока на поле и определяется в одну из команд. Управление игроком происходит с помощью курсорных клавиш. Нашей команде повезло, т.к. у нас был схожий опыт: два члена нашей команды работали над созданием realtime-приложений на canvas и уже были знакомы с игростроением. Узнав задание, мы быстро спланировали, как должна быть реализована игра, затем разделили задачи. Сложнее всего было уложиться в 6 часов, которые были отведены для выполнения финального задания.

Мы понимали предметную область: интерактивный игрок, поле, мяч, знали, какие действия и зависимости есть между ними, учитывали коллизии. После этого, определились с протоколом, методом передачи направления и позициями игроков. На back-end мы не использовали зависимостей, только express и инфраструктурные библиотеки, так же нам пригодились знания геометрии.

Если говорить откровенно, задание было сложное, и нам не хватало рабочих рук, чтобы все успеть в срок. Мы так и не успели сделать качественное тестирование, на которое требовалось дополнительно 1,5 часа. Мы были очень удивлены, когда узнали о победе».

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

Ирина, расскажите немного о номинации Web Team, какие требования и критерии отбора выдвигались участникам?

Ирина Джунь, представитель организаторов чемпионата: «В чемпионате по разработке DEV Challenge IX есть действительно уникальная номинация – Web Team. Организаторы вложили в нее следующий смысл: каждый из участников команды должен показать себя и как разработчик, так и командный игрок. То есть, кроме выполнения задания, которое предложили судьи, каждый должен был показать умение распределять свое время в момент экстремальной нагрузки. Кроме этого, каждый разработчик должен быть хорошо синхронизированным с другими членами команды.

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

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

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

Be the first to comment

Leave a Reply

Ваш электронный адрес не будет опубликован.


*