Учасник VS Ментор хакатону: про апскілінг навичок та соціально важливі завдання
Привіт, спільното,
Я — Сергій Стець, Python Software Developer в Luxoft. Щодня я працюю з системами ризик-контролю для великого фінансового конгломерату. У вільний час люблю говорити про інноваційні підходи та використання Python у сучасних фінансових системах. Брав участь у хакатонах різного масштабу, наприклад: Global Hack Weekend, Kyiv Computer Vision Hackathon (здобув перемогу), 30hack, Facebook & Co. Student Hackathon та ін.
Восени минулого року я отримав новий для себе досвід — менторство команд у TechGround Hackathon від Luxoft. Мені вдалось зібрати матеріал від інших менторів, учасників, розібрати завдання та рішення команд. У цій статті я поділюся своїми спостереженнями, підсумую отриманий досвід та розповім, чим участь або менторство у хакатонах може бути корисним для розробників.
Коли ти учасник хакатону, зазвичай тобі доводиться на практиці застосовувати нові для себе технології, мови програмування та фреймворки. Так я познайомився із React Native, OpenCV, Tensorflow, Flask, C++ та ін. Окрім нових технологій ти зустрічаєш цікавих людей із різним досвідом та стеком технологій.
Головною мотивацією стати ментором був розвиток комунікативних та лідерських навичок, можливість ділитись досвідом, ресурсами та інформацію у невимушеній та доступній формі. На мою думку, коли розробники передають знання іншим, вони самі починають краще структурувати інформацію, розуміти поставлену задачу та глибше розбиратися в технологіях. People та ризик менеджмент, формування стратегій та планування, лідерські навички, вміння пояснювати та мотивувати команду — те, що може отримати ментор хакатону за короткий проміжок часу на реальних кейсах.
Як проходив TechGround Hackathon
В Україні з кожним роком зростає рівень діджиталізації соціальних ініціатив, послуг, шляхом розробки та впровадження мобільних додатків, онлайн-платформ та інших цифрових інструментів. Це робить важливі ресурси більш доступними та підвищує їхню ефективність. Електронна обробка даних, автоматизація завдань та використання аналітичних інструментів дозволяє краще розуміти потреби, визначати стратегії розв’язання проблем та сприяють ефективній роботі. Найпопулярніший приклад — застосунок Дія, який повністю змінив уявлення про взаємодію держави та громадян.
Однак не всі громадські організації, благодійні фонди та навіть міністерства мають ресурси та ІТ-відділи, щоб впроваджувати технологічні рішення. Це сповільнює процеси та може стати блокером у вирішенні проблем як для перерахованих установ, так і для пересічних людей, яким вони допомагають. Тому важливо спонукати та залучати українську ІТ-спільноту до підтримки суспільних та громадських ініціатив, сприяти формуванню соціально відповідальних спеціалістів.
TechGround Hackathons — серія трьох онлайн хакатонів від Luxoft, що проходили у жовтні-грудні 2023 року. Хакатони об’єднували аудиторію ІТ-спеціалістів у напрямках Backend, Frontend, QA Automation, UI/UX Design навколо українських ініціатив, які потребували технологічних рішень. Команди мали одне завдання та 30 годин на реалізацію та презентацію продукту.
Я брав участь як командний ментор третього хакатону, тому розбір завдань першого та другого я запросив у своїх колег та експертних менторів — Віталія Коржа, Lead Software Developer, та Юрія Зайчика, Senior Software Developer.
Перший хакатон та чат-бот для батьків та дітей України
Задачею першого хакатону було покращення можливостей Нумо!бот для телеграм та вайбер. Нумо!бот — інноваційний проєкт, створений спільними зусиллями Міністерства освіти і науки України та ЮНІСЕФ Україна, з метою сприяння розвитку дітей віком від 3 до 6 років у сучасних умовах. Цей інтерактивний чат-бот пропонує більше 160 порад, вправ та ігор, спрямованих на розвиток 16 різних «м’яких» та технічних навичок у дошкільнят.
Команди займались розробкою адміністративної панелі для чат-бота Нумо!, що дозволяє адміністраторам створювати групи користувачів, керувати розсилками повідомлень групам, а також отримувати аналітичну інформацію про користувачів.
«Так як всі команди мали один напрям, очікувалась запекла боротьба. Перші сінкапи були перспективними, але не всі команди були рівноцінно укомплектовані, що почало даватись в знаки у наступних етапах. Деяким командам бракувало дизайнера, деяким розробника, деяким витримки та організованості, але в цілому всі були налаштовані позитивно до самого кінця», — розповідає Віталій Корж, експертний ментор хакатону.
У процесі оцінювання результатів сформувалося 3 категорії робіт: лише мокапи, самописні та із використанням стандартних рішень. В результаті декілька робіт показали схожий середній рівень якості: в когось був краще дизайн, комусь вдалось зробити більше функціоналу. Команда з найкраще пропрацюваною концепцією і дизайном, втратила бекенд розробника і, як результат, — шанси на перемогу.
Перемогла найорганізованіша команда під номером 15 (учасники: Денис Твардовський, Даніель Гровінський та Нодар Пилипишак) без дизайнера, яка якісно виконала базові вимоги на основі open source компонентів. Їхнє рішення містило аналітичний модуль, інтегрований із чат-ботом ЮНІСЕФу, який спілкується із бекендом команди, збирає та аналізує дані. Фронтенд написаний на React із використанням undesigned для UI-бібліотеки.
Також командою було реалізовано адмінпанель з можливістю керування користувачами, створенням сегментів та аналітикою. Із цікавого: адмін панель підтримує:
- наявність адміна та суперадміна, окремий профіль адміна із можливість скидання паролю;
- роботу із базу користувачів: фільтр та сортування, окрему сторінка користувача із повною інформацією про нього;
- сегментація користувачів та робота із групами для детального аналізу;
- секція аналітики в розрізі періодів, географії, активності, взаємодії тощо;
- створення та перегляд розсилок.
Другий хакатон та мапа безбар’єрності Києва
Учасникам другого хакатону потрібно було розробити маршрутний сервіс для ініціативи безбар’єрної мапи Києва від благодійного фонду «Солом’янські котики».
Цей сервіс повинен будувати просторовий маршруту для людей на колісних візках згідно наявної та доступної на шляху інклюзивної інфраструктури (пандуси, ліфти, світлофори з звуковим сповіщенням тощо). Наприклад, пішохідний маршрут прокладати лише через перехрестя з світлофором із звуковим сповіщенням. У дизайні потрібно було дотримуватись інклюзивного стилю, наприклад, використовувати контрастні кольори для людей із вадами зору тощо.
«Одні команди використовували у своїх проєктах вже готові сервіси з API для побудови маршрутів і тільки налаштовували параметри, щоб будувати маршрути враховуючи інклюзивну інфраструктуру. А інші команди розробляли власні рішення на базі відкритих даних OSM та Open Source проєктів для роботи з графами», — розповідає Юрій Зайчик, експертний ментор хакатону.
За результатами оцінювання перемогла команда під номером 10 (учасники: Євген Бережний, Нікіта Шаповаленко, Марат Сахабудінов, Сергій Нежигай), що презентувала застосунок, який об’єднує бекенд на Java та фронтенд на React. У їх застосунку можна додавати, редагувати та переглядати об’єкти, а також будувати шляхи з урахуванням доступності та інклюзивності. Команда також використовувала Google Maps для відображення об’єктів та їхніх атрибутів доступності (наприклад, понижений вхід, ліфт, укриття, Wi-Fi).
Застосунок підтримує побудову маршрутів з пріоритетом на інклюзивні об’єкти інфраструктури. Незважаючи на незначні недоліки у дизайні, команда розробила повністю працююче рішення та додатково забезпечила детальну інструкцію по розгортанню застосунку у AWS Cloud від Amazon.
Третій хакатон та цифрова версія помічника ветеранів
У рамках третього та заключного хакатону команди працювали над завданням від Міністерства у справах ветеранів України в рамках ініціативи «Помічник ветерана». Технічно потрібно було розробити чат-бот «е-Ветеран», що дозволить адміністраторам створювати групи користувачів й сортувати інформацію по областях, додавати нові питання-відповіді, керувати розсилками повідомлень про статус заявки, а також отримувати аналітичну інформацію про користувачів.
На хакатонах часу завжди недостатньо, тому потрібно пропрацювати стратегію виходу на MVP у відведений таймінг. Я запропонував своїм командам мати три окремі області та розробляти їх паралельно: телеграм бот, адмін панель, бекенд. Наступним кроком потрібно визначити, як ці сервіси будуть спілкуватися один з одним, де можна хостити адмінпанель разом з ботом та бекенд сервісом, як краще інтегрувати телеграм бота і так далі.
Дуже часто команди беруть занадто великий обсяг роботи і не встигають дійти до фінальної точки. Щоб досягти успіху на хакатоні, крім чіткої та злагодженої комунікації, потрібен задеплоєний продукт, який експертні ментори зможуть подивитися та поклікати, незважаючи на кількість багів та фінальної готовності продукта. З цієї причини, я радив своїм командам не працювати над вайбер версією чат-бота поки не готова перша версія продукту.
Не завжди спеціалісти в командах покривають всі сфери розробки. Це нормально, коли Java розробник робить телеграм бота на Python, а C# розробник допомагає писати адмін панель використовуючи React. Головне у такому випадку — не боятись спробувати розібратись у нових технологіях та звертатись по допомогу до менторів.
Я менторив дві команди, які вперше познайомились та сформувались під час хакатону. Кожна із них в результаті дійшла до кінця та продемонструвала своє рішення:
- першій команді вдалось реалізувати телеграм бот та окрему просту адмінку, недоопрацюванням стало те, що телеграм бот так і не інтегрувався у бекенд адмін панелі;
- друга команда показала цікаве рішення з чатом, який працює не тільки в телеграмі, а і на сайті, локально рішення працює у кожному окремому додатку. Складністю стало те, що рішення писалось на різних мовах і фреймворках (.NET, Node.js, Angular, React), тому були труднощі із деплоєм.
Основними критеріями оцінювання були: легкість та масштабованість рішення, функціональність та працездатність адміністративної панелі, повнота аналітичної інформації. Додатковими балами оцінювався розгорнутий проєкт та креативні рішення.
«Технічно, роботи учасників виконані якісно та із швидкою інтеграцією у будь-які системи, адмін панелі виконанні із інтуїтивним інтерфейсом та структурованою аналітикою», — поділився Тимур Ахмедов, проєктний менеджер ІТ департаменту Мінветеранів.
Перше місце посіла команда під номером 14 (учасники: Віталій Тимашков, Алекс-Тейлор Данко, Віра Ваховська та Олександра Скляр), що подала рішення розробки веб-сайту eVeteran з чат-ботом, включаючи архітектуру рішення, UI/UX дизайн, CJM для кінцевого користувача та адміністратора. Також команда виділяється з-поміж інших опрацьованими креативними ідеями, зокрема:
- чат-бот, що працює в браузері існуючого веб-сайту — для полегшення початку спілкування.
- можливість зміни додатків чат-бота зі збереженням контексту обговорення (запуск у браузері сайту та перехід у телеграм), доступна лише для зареєстрованих користувачів.
- релакс-зона — швидкий перехід до цифрового простору з релакс-музикою/відео для медитації.
- розпізнавання тону голосу кінцевого користувача, щоб запропонувати психологічну допомогу.
- додано «Шкалу самооцінки посттравматичного стресового розладу (ПТСР). Методика PCL-5».
Рекомендую ознайомитись детальніше із рішенням команди на Github та роботою адмін панелі на Netlify (пароль та логін admin).
Чому розробникам будь-якого рівня потрібно брати участь у хакатонах?
Хакатони вже давно стали не лише популярними ІТ-подіями, але й гарним інструментом для професійного розвитку. Здійснюючи реальні проєкти в обмежені терміни, розробники отримують практичний досвід, який важко здобути в навчальних курсах чи теоретичних вправах. Наприклад, технології які я вперше використав під час хакатону, після потрапили мені в резюме і у роботі стали моїм основним технічним стеком.
Досвід менторства може стати наступним кроком підвищення кваліфікації, коли розробник має амбіції вийти на нову позицію технічного ліда або проєктного менеджера, коли бажає поглибити наявні знання та знайти нові технічні підходи або навіть коли відчуває емоційну потребу вийти за рамки робочої рутини та перезавантажитись.
Менторство на TechGround Hackathon, спрямованому на допомогу громадським ініціативам, підвищило мій рівень соціальної відповідальності, познайомило із однодумцями та продемонструвало як українські ІТ-спеціалісти можуть зробити внесок у розвиток українських проєктів та суспільства.
3 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів