Любой хакатон — мероприятие сугубо практическое. На ВТБ More.Tech мы хотели посмотреть, как молодые таланты подойдут к решению поставленных нами задач. Онлайн-формат позволил привлечь почти 500 IT-специалистов, около 30% из которых подключились из регионов. Нужно сказать, что уровень команд, готовность и зрелость решений приятно удивили жюри. О результатах хакатона и особенностях банковской разработки рассказываем под катом.
Онлайн-хакатон ВТБ More.Tech состоялся осенью. В течение четырёх дней занимались кодингом, проводили митапы с экспертами ВТБ по методологиям, кейсам и практике DevOps и Agile, мобильной и web-разработке, мастер-класс по подготовке презентаций и карьерный коучинг с разбором резюме и пробными интервью.
Хакатон состоял из двух треков. Первый был предназначен для специалистов в web-разработке, второй — для разработчиков под iOS/Android. Команды соревновались в создании антифрод-системы для банковских web-приложений и разработке мобильного приложения для распознавания автомобилей по фото и подачи кредитной заявки на выбранные машины. На разработку команды потратили в среднем 75 часов.
На митапах мы рассказали, как устроена разработка внутри ВТБ. В IT-блок мы ежемесячно набираем в среднем более 100 профессионалов. И этот темп не снижается даже сейчас, во время пандемии. Мы хотим видеть талантливую молодежь среди своих сотрудников.
«В том огне, водовороте изменений, который у нас запустился, на текущий момент участвуют 14 000 айтишников, из которых порядка 5000 — сотрудники ВТБ. Это большой многовендорный коллектив, в котором 14 000 человек каждый день создают банк будущего. Через хакатон можно увидеть поближе, как этот вихрь движется. Мы будем рады принять вас в эту семью, где ваши идеи нужно будет срочно встраивать и развивать», — так обрисовал ситуацию заместитель президента ВТБ Вадим Кулик.
Коридор возможностей для разработчиков в банке
О том, как у нас всё устроено и чем приходится заниматься веб-разработчикам, мы рассказали на митапе «Свобода выбора развития».
Мы перешли на небольшие продуктовые команды по 10–12 человек и частые релизы. Быстрый выпуск инкрементов позволяет оперативно получить отзывы пользователей и выстроить видение последующего развития. Команды в банке во многом автономны, но, в отличие от стартапов, у них есть множество окружающих коммитов.
Для разработчиков, приходящих из стартапов, оказывается сюрпризом существование корпоративной архитектуры. При создании большой системы важно не дать расползтись её модулям и обеспечить взаимодействие между ними. Корпоративная архитектура не касается при этом непосредственно разработки. Она не про то, как проектировать объектную модель приложения и какие фреймворки использовать. Она задаёт общий контур, общие термины.
Термины играют важную роль даже в маленькой команде: попробуйте дойти куда-то, если не договориться, где лево, а где право. Для межкомандных терминов мы ввели понятие контракта. И стремимся проектировать термины таким образом, чтобы их изменение внутри команды не затрагивало высокоуровневый контракт.
Чем мы конкретно занимаемся? В микросервисной архитектуре каждый сервис представлен в виде отдельного приложения, а пользовательский интерфейс остаётся монолитным — и это проблема. Мы поделили фронтенд на бизнес-функции. Каждое микроприложение имеет ту же структуру, что и прежнее монолитное. Их UI объединяются в одном связующем слое, склейке, с которой и взаимодействует пользователь.
Вся эта история называется микрофронтендом. И здесь возникает множество задач: согласование поведения компонентов UI, корректная маршрутизация по разным путям, рендеринг на стороне сервера, глобальное хранилище данных для всех микроприложений. Вот над этим нам и предстоит работать в течение ближайшего года.
Я б в тимлиды пошёл, пусть меня научат
Какие навыки, наборы инструментов, языки программирования необходимо освоить, чтобы развиваться как разработчик фронтенда/бэкенда, тимлид, архитектор? Об этом мы рассказали на митапе для разработчиков мобильных приложений «Нативная vs кросс-платформенная разработка: что выберете вы для своего проекта?».
Молодые команды часто предпочитают кросс-платформенную разработку. Это позволяет экономить ресурсы и быстрее проверить бизнес-идею. Наш хакатон — хороший тому пример. Ребята активно использовали OpenAPI и кросс-платформенную разработку. Такой подход позволяет быстро создать приложение и получить доступ к многотысячной аудитории банка. Здесь очевидна польза и для банка с точки зрения лидогенерации.
У себя в банке мы пока не видим применения для кросс-платформенных решений. Нативные решения лучше проработаны и более предсказуемы в отношении масштабируемости и безопасности. Но в разработке, особенно мобильной, всё быстро меняется, поэтому важно следить за новинками. Если разработчик хочет оставаться на острие профессии, ему необходимо смотреть как в сторону кросс-платформ, так и в сторону нативки.
Для расширения кругозора лучше изучать языки программирования разной направленности. Тем, кто занимается мобильной разработкой и пишет на Java, полезно будет изучить язык для бэкенда. Но один язык должен быть приоритетным: в чём-то необходимо быть специалистом, а по остальным прокачивать навыки.
При работе в команде необходимы навыки общения. Софт-скилы как работа с ожиданиями и возражениями особенно важны, если ты планируешь расти и становиться лидом в разработке.
Для каждого разработчика мы выстраиваем индивидуальный план развития и даём задачи в соответствии с его потенциалом, чтобы люди постоянно росли.
900 тыс. рублей призового фонда достаются…
До финала дошли 34 команды в треке Web и 30 команд в треке Mobile. В каждом треке был суперфинал, где мы повторно рассматривали решения каждого из претендентов на главный приз. Победители получили по 250 тыс. руб., а общий призовой фонд составил 900 тыс. руб.
В треке Web победителем стала команда SFT из Москвы. Помимо качественной технической реализации, ребята лучше всех смогли продать своё решение. Второе место заняла команда Easy из Санкт-Петербурга. Они уступили победителям лишь по одному критерию. Третье место у команды Good Game — Well Played из Москвы. В своём решении ребята применили интересную идею: как распознать человека по тому, как он работает с мышкой.
В mobile-треке первое место завоевала команда RxProject из Москвы. Ребята были призёрами хакатона в прошлом году, а в этом стали победителями. Жюри отметило классный дизайн и поддержку функции виртуальной реальности. Второе место у команды APG из Москвы. Их приложение работает на обеих платформах и имеет нативный и простой интерфейс. Третье место у NaN из Москвы. Ребята проделали огромную работу по оценке пути клиента и реализации серьёзной рекомендательной системы.
«Четыре дня вместо двух, как в офлайн-формате, кодить весьма напряжённо. Но разработка не так тяжело далась, как ожидание результатов. Конкуренция была очень плотной, поэтому для победы надо было выделиться и пришлось включить весь свой креатив: помимо буквальной технической реализации, требовалось добавить что-то ещё сверх того, что написано в постановке задачи», — отметили ребята из RxProject.
Все участники проделали огромную работу. Тех, кому в этот раз не удалось поучаствовать, мы ждём на хакатоне в следующем году. До встречи на ВТБ More.Tech 2021.