Первое в России соревнование для ИТ-архитекторов от ВТБ на платформе Codenrock

ВТБ провел на платформе Codenrock хакатон ARCHI.Tech. На нем участникам предстояло разработать собственную ИТ-архитектуру на базе реальных бизнес-кейсов. Соревнование привлекло более 1200 человек: начинающих и опытных ИТ-специалистов, студентов и выпускников технических вузов, разработчиков, архитекторов, аналитиков.

На выбор команды получили несколько задач разного уровня сложности, а решения оценивались в трех номинациях:

  • Архитектор стрима.
  • Архитектор системы. 
  • Архитектор данных.

Подробнее о том, как прошел хакатон – в нашем кейсе. 

Цели хакатона

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

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

Илья Старостин, руководитель департамента ИТ-архитектуры, старший вице-президент банка ВТБ

На любом продуктовом хакатоне участникам приходится уделять внимание архитектуре – продуманное решение проще создать в короткие сроки и презентовать жюри. Но наличие дополнительных задач – разработка фронтенда и бэкенда, работа с интерфейсом, верстка и дизайн – не позволяют полностью сконцентрироваться на проектировании. На соревновании ARCHI.Tech от ВТБ вопросы ИТ-архитектуры стали ключевыми, и команды смогли посвятить все время их решению. 

Настолько масштабный хакатон по ИТ-архитектуре с такой структурой проводится впервые. Специально для ARCHI.Tech мы разработали уникальную систему оценки и декомпозиции задач, которая позволит объективно обработать большое количество решений. Таким образом, мы постестируем и ваши, и наши гипотезы. Хакатон ARCHI.Tech – это возможность оценить, что происходит в архитектурном мире в настоящий момент.

Александр Ветров, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

Подготовка к хакатону

ARCHI.Tech был задуман как соревнование, на котором участники смогли бы продемонстрировать:

  • Технические навыки и знания.
  • Стремление создавать новое.
  • Творческий взгляд на ИТ.
  • Системный подход.

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

Специально для ARCHI.Tech архитекторы ВТБ разработали уникальную систему оценки. На выбор командам эксперты предложили один из трех уровней сложности:

  • Простая задача – максимум 30 баллов. 
  • Средняя задача – 40 баллов. 
  • Сложная задача – 50 баллов. 

Дополнительно на этапе регистрации можно было выполнить разминочное задание и заработать еще 3 балла.  

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

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

Александр Ветров, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

Каждую найденному «монетку» оценивали эксперты после завершения основного этапа. Полученные за нее баллы зависели от:

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

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

Сумма баллов и уровень сложности определяли победителей хакатона в одной из трех номинаций, соответствующих актуальным тенденциям в ИТ-архитектуре. 

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

  • Архитектор стрима. Может быть не погружен в детали системы, но отвечает за их взаимодействие в рамках одной функциональной области.
  • Архитектор системы. Учитывает все внутренние аспекты конкретной системы, над которой работает. 
  • Архитектор данных. Больше сосредоточен на модели данных и их представлении. 

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

В каждой номинации было по три призовых места – 9 победителей разделили призовой фонд в 1 200 000 рублей. 

Как прошел хакатон

ARCHI.Tech стартовал 29 июня. У участников было всего 24 часа на то, чтобы определиться с уровнем сложности, подготовить проект и загрузить его на платформу для оценки от членов жюри. 

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

Алексей Прутик, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

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

  • Функциональная структура системы – описание функций системы и компонентов, связей между ними и используемых технологий для реализации.
  • Архитектура данных – логическая и физическая модель данных в виде ER-диаграмм. 
  • API взаимодействия модулей системы – описание функций API, способов их вызова, возвращаемого результата.
  • Архитектура системы – внутреннее устройство проектируемой системы с указанием технологий реализации и взаимодействий с внешними системами.
  • Архитектура развертывания – физическое развертывание компонентов системы на инфраструктуре, основные параметры конфигурации компонентов и связи между ними, важные настройки.

Разминочная задача

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

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

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

Максимум баллов за задачу – 3. 

Простая задача 

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

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

Максимум баллов за задачу – 30. 

Средняя задача

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

  • Отправка запросов на постановку в очередь в зависимости от типа операции.
  • Вызов очередного клиента через рабочее место сотрудника.
  • Настройка часов приема.
  • Отображение заполнения очереди и номера рабочего места для текущей заявки на табло.
  • Администрирование системы: настройка количества рабочих мест, создание разных типов очередей, планирование графика работы сотрудников. 

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

Максимум баллов за задачу – 40. 

Сложная задача 

Для быстро развивающейся сети ресторанов необходима единая система приема заказов. Структура и функционал: 

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

Среднее число заказов в сутки в ресторанах достигает 20 000 и в дальнейшем будет расти. В каждом ресторане может быть до 10 официантов. Планируется подключить к системе до 100 ресторанов

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

Максимум баллов за задачу – 50. 

Подведение итогов

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

  • Описание функциональной архитектуры.
  • Умение декомпозировать задачу и разделить систему на части.
  • Полнота и краткость решений.
  • Наглядность и доступность для понимания.

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

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

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

Алексей Прутик, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

По итогам питчинга жюри определило победителей в каждой номинации. 

Победители хакатона

Категория «Архитектор стрима»:

🥇 1 место — Alfa Masters, 170 000 рублей. 

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

🥈 2 место – AdventureTime, 130 000 рублей.

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

🥉 3 место – Зайчики, 100 000 рублей. 

Было очень интересно. Мы решили принять участие, чтобы попробовать свои силы. 3 место стало приятным бонусом. 

Категория «Архитектор системы»:

🥇 1 место – Java Boys, 170 000 рублей. 

Очень круто, спасибо ВТБ за организацию! Было интересно участвовать в первом хакатоне в России по ИТ-архитектуре. Классный опыт для нашей команды. Мы все вдохновились процессом. 

🥈 2 место – Фыва, 130 000 рублей. 

Очень полезно себя встряхнуть, подвинуться над рутиной и что-нибудь такое зафигачить.

🥉 3 место – Дмитрий-76768, 100 000 рублей. 

Это был маленький шаг неуверенного системного аналитика в архитектуру. Было неожиданно приятно и комфортно. За это спасибо команде ВТБ. Опека модераторов была также прекрасной. Движемся дальше!

Категория «Архитектор данных»:

🥇 1 место – Эпсилон, 170 000 рублей. 

Очень довольны, что появляются хакатоны, которые завязаны не только на разработку, но и на архитектуру. Уникальное событие. Рады, что довелось в нем поучаствовать. Спасибо большое. 

🥈 2 место – Monikai, 130 000 рублей. 

Эмоции через край. Безумно приятно, безумно интересно было участвовать. Было бы здорово повторить, если такое соревнование будет еще раз проводиться в будущем. Всем большое спасибо. 

🥉 3 место – CAP, 100 000 рублей.

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

Отзывы организаторов

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

В первую очередь хочу поблагодарить участников хакатона, вне зависимости от того, смогли они дойти до финального этапа или нет. Благодарю свою команду и жюри за самоотверженный труд. Спасибо организаторам за преданную, честную искреннюю работу. До новых встреч! 

Илья Старостин, руководитель департамента ИТ-архитектуры, старший вице-президент банка ВТБ. 

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

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

Алексей Прутик, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

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

Мы считаем, что ARCHI.Tech удался. Поэтому нельзя останавливаться, нужно продолжать, улучшать наш хакатон и проводить его снова. Те, кто победил – не складывайте руки. Те, кто не занял призовые места – уверяю вас, оставалось совсем чуть-чуть, сделать один шаг, и вы могли бы продвинуться еще дальше. Поэтому обратите внимание на все аспекты архитектуры, чтобы ваши решения были равномерными: от начала проектирования до самого конца. Удачи в будущем! 

Александр Ветров, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ

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

Даже если не удалось на этом хакатоне занять призовое место, то в следующий раз обязательно получится. Желаю участникам удачи на этом пути! 

Евгений Донецков, директор по ИТ-архитектуре, департамент ИТ-архитектуры банка ВТБ


    Оставьте заявку, мы подберем для вас лучшие решения для работы с ИТ-сообществом

    Блог Codenrock — Кейсы, истории успеха и интервью с экспертами