Конкурс “Цифровой прорыв” 2019 отзыв

В квадрате из нулей и единиц, зашифровано слово “цифровой”, и всё бы ничего, но оно в устаревшей кодировке Windows-1251. Что как-бы намекает нам в какую сторону будет прорыв…

Закончился последний отборочный этап всероссийского конкурса “Цифровой прорыв“.  Информации об этом событии не так уж и много, профессиональное IT сообщество он особо не заинтересовал, обсуждения на крупных площадках , даже в юмористическом  формате не взлетели.  Мои попытки найти какую-то развёрнутую информацию и конкретику не увенчались полным успехом. Вместе с тем это государственный проект, реализуемый на бюджетные деньги, заявленный как один из этапов пятилетней программы цифровизации страны, и часть “платформы” «Россия – страна возможностей». Стоит наверное восполнить этот пробел и рассказть что это было, как оно проходило и даже чем закончится, глазами участника и просто IT специалиста.

Конкурс делится на 6 этапов:

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

Реклама и привлечение участников

На профильных ресурсах и в профессиональном сообществе конкурс освещался как-то незаметно. В этом можно убедится хотя-бы по вышеуказанной статье на Хабре.  Как оказалось, самый верный способ узнать о событии – это баннеры в интернете. Денег на это видимо зарядили порядочно, причём таргетинг вероятно сделали “широкий” и дорогой, так как IT’шники дорогая для выкупа аудитория. В общем те, кто не в теме государственных цифровых “прожектов” могли узнать о конкурсе только из рекламы.
По итогу при максимуме в 900 участников на Москву, собралось примерно  450.

При этом абсолютный необходимый минимум - 135 участников (15 направлений, 3 команды проходящие в финал, команда минимум из 3х человек).

Такой результат образовался из нескольких составляющих, поэтому сказать что недоработка именно в рекламе – я не могу. Однако для всероссийского конкурса PR был крайне слабый.

Регистрация и первое столкновение с сайтом

Сайт в век цифровых технологий – лицо компании, тем более если сфера деятельности заявлена как IT и прорывные цифровые технологии. Что же мы видим на сайте “Цифрового прорыва” – рубленный топором одностраничный сайт в вырвиглазной цветовой гамме. Тёма негодует. Как сайт презентация государственного инновационного конкурса – не впечатляет.

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

  • Авторизоваться через соцсети или яндекс/гугл аккаунты не предлагется.
  • Заполняем данные для профиля в угловатых полях ввода. Загружаем фотографию, ожидаем – моментальной загрузки изображения с последующим выбором отображаемого участка, получаем загрузку по обновлении страницы и накакого тебе выбора. Пользователя приученного к Фейсбук/ВКонтакт механизму загрузки аватара – это приводит в ступор. Причём после выбора картинки не происходит ничего, что ещё больше вводит в ступор.
  • В профиле можно добавить ссылку на соцсеть, однако никакой валидации для этих полей нет! Если ссылка была добавлена полностью – в виде https://vk.com/leadersofdigital  то переход при клике на иконке соцсети будет, если была добавлена в виде leadersofdigital  то будет ничего.

Преисполненный скепсисом ожидаю этапа тестирования.

Тестирование и сайт атакует по взрослому

16 мая был открыт этап тестирования, в котором участники должны были подтвердить свои компетенции. Было множество категорий, которые по смыслу делились на 3 группы: программирование, дизайн, управление. Само тестирование проходило на платформе coreapp.ai . Тесты содержали 20 вопросов, для ответа на которые отводилось 20 минут.

Я решил попробовать свои силы и сходу начал проходить тесты, прямо на работе, без подготовки и поиска в интернете. Для эксперимента я выбирал тесты по языкам программирования и технологиям, к которым я давно не прикосался, результаты были 5-12 из 20 и тд. Затем я приступил к тестам по управлению проектами, теоретическим основам программирования и языкам с которыми работаю, результаты были 10-15 из 20. Время которое я тратил на тесты не превышало 5 минут.

По профильному языку программирования надо было показать хороший реультат, поэтому я вооружился консолью, интернетом и отвечал на вопросы с проверкой “в натуре”. Совершенно точно перепроверив 15 вопросов выполнением кода и поиском в интернете, я получил “неожиданный” результат 12 из 20. Что меня не удивило, так как при прохождении тестирования я встретил самые разные ошибки.

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

  • Отстутсвие варианта ответа.

    Что там у нас во втором варианте ответа?
  • Некорректная постановка вопроса.

    “Radio” не подразумевает множественного выбора – как выбрать все варианты?
  • Для ответов на некоторые вопросы требовалось указание параметров окружения и/или версии языка программирования, но их не было. Как правильно ответить на вопрос если ответ зависит от версии языка программирования, которая не указана? Ещё лучше, если ответ зависит и от версии и от настроек, при том что ни первое ни второе не указано. Приходится угадывать версию и допускать что настройки “по дефолту”, что примерно равносильно выбору пустого ответа. (К сожалению скринов нет.)

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

хотя ни одного вопроса участник ещё не видел.

Были проблемы не только с наполнением тестов, но и с работоспособностью серверной части. Некоторые участники, по прохождении теста, получили нулевой результат из-за того что сайт лежал  не работал и не сохранил их. Причём в нерабочем состоянии сайт находился с завидной регулярностью, из-за чего организаторы решили продлить тестирование на 1 день. (Возможно вкупе с серьёзным недобором по количеству участников.)

Соответственно часть участников выполнили тесты дважды из-за технических сбоев.

Я прошел этап тестирования, о чём получил письмо. Часть участников, с которыми я общался, получили письма о том, что они не прошли тестирование, причём как с высокими баллами по тестированию, так и со средними. Тем кто получил высокие баллы и был заинтересован в участии, помогла жалоба организаторам. Впоследствии часть участников просто получила второе сообщение о том, что они прошли тестирование, видимо случился недобор при заданном проходном балле.

Обратная связь по тестированию

Вишенкой на торте криворукости стала форма обратной связи об этапе тестирования. Как это водится оранизаторы захотели узнать оценку своих творений. Я потратил время – всё подробно и спокойно описал. Нажал на кнокпу отправки формы и ничего не произошло… просто ничего! Даже кнопка не дезактивировалсь. Открываю консоль, смотрю network, вижу ответ сервера 500, и описание ошибки “Внутреняя ошибка база данных”. Ну ладно, подождём пока починят, иду заниматься своими делами, открываю вкладку с формой и происходит её автоматическая перезагрузка (непонятно почему) и всё что я написал исчезает бесследно. 2019 год, а сайт всероссийского проекта “can not into LocalStorage”. Финиш!
 "На дворе начало 21 века, а мы не можем данные из формы сохранить - ну как при царе горохе!"

В сумме по тестированию

В идеале проверять знания на всероссийском конкурсе должны лучшие, ну по крайне мере крепкие такие исполнители. По факту же часть тестов, которые предложили участникам не прошли бы, ни организаторы, ни разработчики сайта. UX/UI – даже рядом не было. Тестирования не было: вопросы не проверили ни автоматически, например на пустоту, ни “руками” на корректность формулировак, ни экспертно на качество вопросов. Проверку нагрузкой сервис тоже не выдержал. Участники, которым были интересны уязвимости, поделились, что и их было в достатке.
Сама форма тестирования, по моему мнению, несостоятельна. 20 минут, на 20 вопросов – это слишком много. За 1 минуту ответ можно найти в интернете или выявить исполнением кода. Чтобы хоть как-то ограничить использование “подсказок”, время выполнения должно быть 5 минут.

Преисполненный скепсисом ожидаю формирования команды.

Формирование команд и сайт доминирует

И вот настал великий день и началось формирование команд. Сформировать команду от 3х до 5ти человек надо было за 5 дней, с 16 по 23 августа. Инструментом для формирования команд выступил уже знакомый нам сайт проекта. Общение между учасниками при формировании команд предполагалось посредством общего чата в сети ВКонтакт, ссылка на который пришла в письме-оповещении.

Итак на печально знакомом нам портале создаём команду. Сайт предлагает расставить приоритеты, для выбора категории в которой команда собирается выступать. Приоритеты выставляются в выпадающем списке(да в select’е), напротив категори, в виде цифр от 1 до 15. Помимо того, что такой механизм выбора неудобен, цифры после выбора в части полей не отображаются, показываюся “…”, соответственно ориентироваться где что проставлено становится непросто.  Конечно же при выборе приоритета, например, “3” он не исчезает из выпадающего списка для других категорий, а выставлять одинаковые приоритеты нельзя. Вот это юзабилити! Кстати какой приоритет высший 1 или 15 можно только догадываться, нигде об этом ничего не написано. Впрочем выбор этот он сам по себе странный. Вот хотим мы выступать в направлении “Здравоохранение”, потому-что у нас есть идея, знания, опыт и понимание механизма реализации проекта в здравоохранении, зачем нам ставить приоритеты в других направлениях, если мы заренее не можем(и не хотим) в них выступать? Ответ организаторов:

Это прекрасно! Команда идёт чтобы реализовать проект в сфере образования, а попадает например в раздел “Логистика”.

Дальше больше – надеемся что нам выпадет категория по наивысшим приоритетам 1 или 2. В направлении зравоохранение например 2 категории: создание сервиса и создание мобильного приложения – ставим им наивысшие приоритеты, в силу того что направление приоритетное для нас. Теперь перед нами стоит дилемма – собирать команду чтобы делать веб-сервис или собирать команду под мобильное приложение? Опять надеемся что повезёт и собираем команду для разработки веб-сервиса. Спаришиваем организаторов:

В итоге собираем команду для разработки веб-сервиса и выбираем в приоритетах непрофильное направление. Хотели делать приложение по направлению “Здравоохранение”, а будем делать для “Государственного управления и услуг”.

Знания в отрасли, профессионализм, проработка идеи и прототипа – не главное, главное удача!

Правильно выбирай значение “Удача” в игре!

Отдельный финиш – это существование направления “Промышленные решения”, где надо предложить и реализовать идею хранеия информации о промышленных изделиях, да ещё и с распределённым реестром. Попасть(при нежелании) или не попасть(при желании) в данное направление и можно сушить вёсла.

Кстати на главной странице сайта, в параграфе "О проекте", написано: "Победители получат денежные призы и гранты, а также возможность реализовать свои проекты."

То есть у меня свой проект например по "Логистике", а на хакатоне я буду реализовывать проект по направлению "Образование", но если выиграю то буду реализовывать свой, который никто не видел?

Сайт традиционно периодически ложился отдохнуть.

Механизм сбора на сайте со стороны команды

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

скриншот из персональной части сайта

Нашли нужного – отправляем приглашение в команду с коротким сообщением и ждём ответа… а ответа нет. Я разослал что-то около 20 приглашений, но ни одного ответа не получил, почему?  Потому-что оповещений о приглашении в команду у участника нет. Чтобы узнать что вас приглашают надо пройти во вкладку “Оповещнеия”, которая никак не сообщает о том, что там в “ней”, есть новые события, её надо было открыть и просмотреть все события вперемешку. Представьте что мессенджер  не показывает количество новых сообщений, а требует открыть конкретную беседу чтобы увидеть сообщения без указания уже прочитанных… 2019 год. На почту оповещения тоже не приходят.

Вдруг вы обновляете страницу с оповещениями и кто-то добавился в команду по приглашению, или прислал вам заявку, добавляем его и… не можем с ним связаться, так как на сайте нет никаких средств отправки сообщений другим участникам. В профиле учасника мы видим только ФИО, результаты тестирования и ссылки на соцсети, ЕСЛИ он их указал, если нет то ищи как можешь, например через чат в ВК

При этом участника можно удалить из команды без его согласия, а сам участник может уйти из команды без подтверждения, при этом никаких сообщений вне молчаливой вкладки “Оповещения” не будет. Соответственно можно убрать человека из команды, а он будет уверен что его ждут на хакатоне, можно уйти из команды, а команда будет уверена что участник придёт. При этом если команда будет меньше 3х человек, то участвовать она не сможет. Чтобы не быть голословным из команды, в которой я состоял, за день до окончания ушли 2 участника, так как не знали что надо быть лично(так хорошо организаторы озвучили условия), а один учасник был анонимом(с ним не было никакой связи). Цирк с конями.

Механизм сбора на сайте со тороны участника

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

Вот отправил заявки и ждёшь примут тебя, или нет, а узнать об этом можно только во вкладке “Оповещения”, которая никак о приёме в команду не сигнализировала.

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

Командообразование

Сбор команды предполагался со вторника по воскресенье, но был продлён по утро среды – видимо опять же недобор. Не у всех получилось собрать команду до выходных, а уж встретится смогли единицы. Ограничение по времени и некоторая непродуманность сайта – совершенно не способствовали сплочению команды, что вылилось в “драмы” уже на хакатоне. Например один из участников, с которым у команды не было связи, пришел с планшетом… при этом по подтверждённым компетенциям выглядел как программист. В одной из команд разработчик, на которого менеджером возлагались основные надежды, ушел по идейным соображениям – не хотел собирать данные о пользователях. Как минимум 1 команда оказалась в неполном составе, тк не пришли участники, которые вступили в команду.

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

По официальным данным команд собралось 119 штук при 525 участниках. При этом исходя из максимально количества участников в 900 человек, планировалось участие примерно двухсот команд. В финал должны были выйти 45 команд, вышли 44, то есть “конкурс” 2 команды на место – не очень острая борьба. Если вы думаете, что все вышедшие сделали отличные рабочие прототипы, забегая вперёд отвечу – это не так.  Причём это не только моё наблюдение, вот цитата из отзыва участника хакатона в другом регионе:

Не было продемонстрировано ни ОДНОГО рабочего прототипа, по крайней мере, в нашем направлении «Образование».

Прощание с сайтом

Поскольку сайт проекта далее не принимает участия в жизни конкурса – стоит сделать резюме по его исполнению.

В конкурсе оцениваются не только чисто технические компетенции, упор делается и на управление проектами, продвижение и юзабилити – это подразумевает наличие хотя-бы базового понимания этих вопросов организаторами мероприятия.
Значит какой-то проЭкт-менеджер от дирекции конкурса посмотрел этот сайт, оценил базовую фунциональность, проверил работоспособность, задал правильные вопросы по логике процессов, организовал тестирование… так? Так же обычно делают? Покажите мне этого человека, который сказал, что это нормально! Даже если исходить из приципов “оно же работает” и “это официальные государственный портал” – всё равно получается плохо, тк оно не работает так чтобы обеспечить минимальный требуемый функционал и устойчивость. Всё плохо, я специально думал: “а что можно признать хорошо исполненным элементом?” И нет ничего… пустота в этом разделе памяти.

Это фиаско братан!

Очень интересно сколько денег на сайт потратили…

Хакатон

Итак за сутки до начала, командам объявили в каких категориях они будут выступать, ведь нельзя было выбрать, можно было только расставить приоритеты. Конечно же некоторое количество команд попали совсем не туда, куда планировали. Конечно же моя команда попала в категорию НЕ с наивысшим приоритетом, и нам предложили делать мобильное приложение, при том что специалисты были собраны под веб-сервис. Класс…

Ну да ладно – “где наша не пропадала.” Приехали, зарегистрировались.

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

“А сейчас вступительное слово скажет важный министр важного министрерства – Аппаратов Чиновник Администратович, поприветствуем его!” Тишина. “Слово предоставляется…” И тд.

Затем всех позвали в зал и были “натуральные” выступления каких-то важных лиц, которых в мире IT  не знают, и никогда о них не слышали. Были сказаны важные слова о том, что мы строим цифровое будущее России, об укреплении укреплённости, всём хорошем и прорыве в светлое будущее. Аудитория не впечатлилась.

После пустого выступления все разошлись по залам(углам) разделённым по категориям команд. Сразу же организаторы продемонстрировали качество организации и тщательность проверок, которые мы уже заметили при исполнении сайта, в документе с категориями и задачами были перепутаны блоки. В блоке “Здравоохранение 1” были задачи из блока “Здравоохранение 2”, на вопрос: “что делать”, сказали: “видимо делать задачу полученную при  распределении, а не как в документе с задачами”.  То есть с таким же успехом ошибка могла быть и при распределении.

После ознакомления с задачами, у участников возникли вопросы, в основном технические. Девочки обеспечавающие организацию, сказали что сейчас появятся эксперты, которые пояснят задачу нашей категории. И таки да, появились, четыре человека, но среди них не было ни одного программиста и даже технического специалиста. На вопрос: “Как делать мобильное приложение, если нет мобильных разработчиков, так как мы заявлялись в другой категории?”, был получен ответ: “Сделайте что-нибудь что можно показать, на чём можете.”

В нашем направлении “Здравоохранение” и категории “Здравоохранение 1” по распределению или “Здравоохранение 2” по документу с задачами, результат должен был быть такой.

За два неполных дня! Без самих гаджетов!
Дальше больше! На первом “чекпоинте” нам сообщили, что за 2 неполных дня мы должны сделать MVP! Разработать бизнес-концепцию, провести исследование рынка и посчитать финансовую часть!

После заявления о MVP мобильного приложения, работающего с “железками”,  за 2 неполных дня – я уже не имел сомнений о том, что квалификация окружающих меня экспертов распространяется на IT сферу менее чем никак.

Абсурд усугублялся тем, то у каждой задачи де факто есть конкретный заказчик, в нашем случае это ЕМИАС. Зачем тогда бизнесовая часть?! Понятно что конкурс для управленцев, дизайнеров и программистов и надо всех занять работой, но почему не сделать это в несколько потоков?

На следующий день, на втором чекпоинте количество экспертов выросло в 2 раза, накал страстей вырос ещё сильнее и тоже открылось много интересного. Оказалось, что если проект есть на “западе”, но его нет на нашем рынке, то реализовывать его не надо – Павел Дуров плачет кровавыми слезами. Дальше больше, если у проекта есть потенциальный потребитель, то с ним неплохо бы иметь договорённость – видимо ночью между первым и вторым днём хакатона надо связаться с гендиром крупной госкопорации и договорится о продаже неготового приложения. При этом представитель заказчика (ЕМИАСа) на втором чекпоинте отсутствовал – соответственно упор на сбор данным и передачу их заказчику был забыт и теперь проект надо продать. Про программный код и технические решения никто ничего не спрашивал. Оказалось продукт должен быть инновационным и эту инновационность желательно показать, это при явно определённой задаче. Как создать что-то инновационное, если в задаче прямо сказано, что должно быть на выходе?

Результат надо было сдать в 16 часов в виде: видео с демонстрацией работы прототипа,  презентации с бизнесовой частью и код куда-то на гитхаб сложить. И уже через несколько часов объявляли победителей. То есть что там у вас в коде, какие решения там применены, есть ли оригинальные идеи – проверили бы за пару часов причём без учёта  языка программирования. Сомневаюсь.

В нашей категории победила команда, которая смогла за 2 дня сделать приложение, которое получает данные с браслета и сохраняет их на мобильном устройстве. Я поговорил с участником команды победителей – им повезло: у них был гаджет-браслет и к нему в открытом доступе была библиотека, большая часть времени ушла на её прикручивание и доработку. Это было больше, чем сделали все остальные участники, вышедшие в финал.

Все участники  с котороыми я общался, разделяли мои ощущения по поводу конкурса, начная с самого начала и до текущего момента.

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

Кстати! Угадайте какой мессенджер использовали организаторы конкурса? Уже есть предположене? Правильно - Telegram. Именно безуспешно закрываемый Роскомнодзором, де факто запрещённый в РФ мессенджер использовали на всероссийском конкурсе. Видимо ни у кого не было сомнений что он будет работать. Nuff said.

Финальный хакатон в Казани

Проходит, внезапно, в Казани.  Куда нужно доехать за свой счёт, где нужно жить за свой счёт.  Примерно 20 тысяч для учасника и 100 на команду – это никого не порадовало.

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

Лично у меня вопросы возникают повсеместно, например из официальных сообщений конкурса:

Таких приложений что не существует? Сама концепция вызывает вопросы – доверить здоровье ребёнка приложению, сделанному на коленке? Кто будет нести ответственность в случае ошибки? Кто будет давать медицинскую оценку этому приложению на хакатоне? Где в этом приложении сложность с точки зрения программирования? И тд.

Итого

Бюджетные средства на конкурс освоены.