Об олимпиадах

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

На олимпиадах по информатике за несколько часов надо нарешать различных алгоритмических задач. Чтобы стать призером какой-нибудь олимпиады и получить заветные 100 баллов за ЕГЭ по информатике или поступление БВИ в желанный ВУЗ, надо много ботать: читать книги, ходить на курсы, решать codeforces и так далее.

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

Лично у меня чтение Кормена никогда не вызывало особой симпатии, как и решение сферических задач. И вот, к моему счастью, в этом году появилась олимпиада "PROD", которая проходит в формате близком к хакатонам.

Кратко о PROD'е

  • Призеры и победители получают скидку (до 90%) на новое направление ФКН ВШЭ и скидку (до 100%) в Центральный университет

  • Проводится в три этапа: два дистанционных отборочных, личный тур финала - дистанционно, командный тур - очно (половина итоговых баллов за личный, половина - за командный)

  • Максимально практикоориентированная - ботать ничего не надо, надо уметь пользоваться интернетом

  • Три направления: бэкенд, фронтенд, мобильная разработка

Теперь о том, как проходила эта олимпиада

Первый отборочный этап

Участников было 3879

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

Второй отборочный этап

На него прошло 1740 человек

Тут уже началась практика. Участникам раздали репозитории на гитхабе. За неделю бекендерам надо было написать REST API, фронтендерам - сделать конструктор резюме, мобильщикам - написать функционал для 'начатого' приложения. В наших репозиториях было описание функционала, который надо реализовать. Помимо описания, у бекендеров была OpenAPI спецификация, у мобильщиков и фронтендеров - скриншоты.

Решения проверялись автоматически. В репозиториях были наборы 'публичных' тестов, чтобы мы могли иметь какое-то представление о том, какие баллы мы, возможно, наберем уже на закрытых тестах.

Финальный этап: личный тур

В финале участвовало порядка 200 человек

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

У бекендеров заданием было написать телеграм-бота для планирования путешествий заранее извиняюсь за скриншоты:

Подробнее

У фронтендеров - трекер полезных привычек:

Подробнее

У мобильщиков - приложение для формирования своего досуга:

Подробнее

Финальный этап: командный тур

Проводился в парк-отеле Огниково (находится рядом с Истрой). Нас доставляли туда автобусами из Москвы.

Участники заранее распределились (кто не нашел команду, был распределен автоматически) на команды от трех до пяти человек. На выбор дали 5 кейсов:

  • Мэтчинг сокомандников - приложение для поиска команды на олимпиаду

  • Встреча для юр.лиц - приложение для организации встречи пользователя с представителями банка

  • Заботай играючи - что-то наподобие quizlet

  • SMM-платформа - платформа для отложенного постинга сообщений с редактором для работы над постом

  • Swipe CSAT - сервис сбора обратной связи о товаре или услуге

Выбирать надо было за час. А еще через 3 дня уже надо было представлять проект перед 25 жюри. После выбора кейса команда встречалась с продакт-менеджером, чтобы более подробно обсудить детали проекта.

У каждой команды было по два ментора, которые следили за процессом разработки и давали какие-то советы.

Нам предоставили коворкинг, в котором можно было сидеть с 9 утра до 10 вечера. Он выгодно отличался от комнат отеля тем, что туда приносили всякие вкусности.

Коворкинг и комната
Коворкинг
Коворкинг
Вкусности
Вкусности
Рабочее место в комнате
Рабочее место в комнате

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

Критерии

1. Презентация проекта — 20%, это то, как был представлен проект, логичное ли повествование, визуал презентации
1. Структура презентации
2. Ясность
3. Визуал

2. UI/UX — 15%, понятно ли, как пользоваться фичами продукта, удобен ли его дизайн
1. Прозрачность пользовательских сценариев
2. Визуальное оформление продукта

3. Функциональность — 35%, главный критерий, в котором оценивается, как работает приложение, что было реализовано и на каком уровне
1. Работоспособность
2. Объем функционала
3. Соответствие базовым требованием
4. Дополнительный функционал решения

4. Инновационность — 15%, новаторские подходы к решению задачи, уникальность решения

5. Бизнес-ценность — 15%, закрывает ли продукт боль целевой аудитории
1. Насколько решение закрывает проблему
2. Насколько решение применимо на практике

Проекты действительно оценивало больше 20 человек
Проекты действительно оценивало больше 20 человек

Итог

На сайте олимпиады написано:

Вам хватит школьной программы. Если вы любите писать код в свободное время — это будет преимуществом.

Это не совсем правда - школьную программу знать необязательно. До PROD'а у меня не было никакого опыта в веб-разработке сокеты, кажется, не считаются. Я ни разу не пользовался FastAPI, ORM'ами, Postgres'ом, aiogram'ом, Docker'ом, Prometheus'ом и т.д. Однако это не стало помехой для успешного участия. Все необходимые технологии в нужном объеме легко осваиваются налету - главное, чтобы было желание. В этом и есть прелесть олимпиады: если ты любишь писать код в свободное время, то у тебя есть все шансы на победу.

Участие в PROD'е дает ребятам хорошее представление о том, как примерно выглядит работа в ИТ (и особенно работа в команде). Это очень круто! Я, например, в очередной раз набирая git commit -m 'bugfix again' в 3 часа ночи, задался вопросом: "А нравится ли мне работа программистом?".

Я о многом не рассказал; если есть, что спросить - прошу в комментарии

Комментарии (2)


  1. jvsg6
    12.04.2024 06:32

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

    Ну и топ 3 сложности с которыми встретился лично автор:)

    Правами на итоговый результат владеет организатор или можно после олимпиады продолжить разработку уже в форме самостоятельного стартапа?


    1. xanderxanderfto Автор
      12.04.2024 06:32

      Стал победителем. В ЛС скинул ссылку на нашу презентацию и презентацию других ребят, чей UI мне очень понравился. В сравнении с ними, наше приложение выглядит 'игрушечно', но думаю метрики (кажется, они были только у нас) покорили многих из жюри.

      Правами на результат владеем мы)