ВТБ провел на платформе 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 удался. Поэтому нельзя останавливаться, нужно продолжать, улучшать наш хакатон и проводить его снова. Те, кто победил – не складывайте руки. Те, кто не занял призовые места – уверяю вас, оставалось совсем чуть-чуть, сделать один шаг, и вы могли бы продвинуться еще дальше. Поэтому обратите внимание на все аспекты архитектуры, чтобы ваши решения были равномерными: от начала проектирования до самого конца. Удачи в будущем!
Александр Ветров, архитектор платформенных решений, департамент ИТ-архитектуры банка ВТБ
Три приятных сюрприза при оценке решений. Во-первых, это, конечно же, высокий уровень подготовки всех участников. Они все обладают архитектурными навыками: системным мышлением, умением использовать инструменты проектирования, способностью погружаться в детали и не упускать целую картину. Во-вторых, поразила трудоспособность. За сутки проделали огромный объем работы, представили артефакты. Третье – нацеленность на успех. Большое количество участников дошло до финиша со своими решениями и представили их нам на оценку.
Даже если не удалось на этом хакатоне занять призовое место, то в следующий раз обязательно получится. Желаю участникам удачи на этом пути!
Евгений Донецков, директор по ИТ-архитектуре, департамент ИТ-архитектуры банка ВТБ