«Каждый мог проявить творческий подход»: как я попал в Т-Банк по олимпиаде PROD
Это история из Сообщества. Мы задали уточняющие вопросы, бережно отредактировали и оформили по нашим стандартам
Я стал заниматься программированием в пятом классе.
Тогда в моей школе открылся кружок по алгоритмам на Python. Параллельно я начал активно изучать языки программирования. В восьмом классе самостоятельно освоил Java, разрабатывая моды для «Майнкрафта», а в десятом переключился на Kotlin.
Мое увлечение олимпиадами началось в старших классах с участия во Всеросе по информатике. Несмотря на то что процесс был интересным, состязание не вызвало во мне особого азарта: задания были больше завязаны на теории, в то время как меня всегда привлекала практическая сторона. Поэтому я сфокусировался на соревнованиях по программированию.
В 2023 году, в 11 классе, я принял участие в конкурсе МПИТ , где завоевал первое место на региональном этапе и победил в номинации «Лучший разработчик». Позже во всероссийском туре в индивидуальном зачете я занял второе место.
В том же выпускном классе я поучаствовал в олимпиаде PROD, где стал победителем. Расскажу, как у меня это получилось и как благодаря участию в состязании я попал на стажировку в Т-Банк.
PROD — практико-ориентированная олимпиада по промышленной разработке для школьников 8—11 классов. Ее проводит Т-Банк совместно с Центральным университетом и факультетом компьютерных наук НИУ ВШЭ.
За победу или призерство дают гранты и скидки при поступлении в Центральный университет и НИУ ВШЭ, а также ускоренный отбор на стажировку. Регистрация открыта до 3 декабря 2024 года на сайте олимпиады.
Выбор состязания
Об олимпиаде PROD я узнал из рассылки Центрального университета, на которую уже давно был подписан, так как хотел учиться в этом вузе. Меня привлекли не только название и организаторы, но и бонусы при поступлении: грант, покрывающий до 100% стоимости учебы в Центральном университете, дополнительные баллы к ЕГЭ и упрощенный отбор на стажировку в Т-Банке.
Мне понравилось, что задания на теорию были только на первом отборочном этапе. Дальше участники могли проверять свои навыки в программировании на практике. Например, в финале предлагали разработать телеграм-бота. Ограничений не ставили, так что каждый мог проявить творческий подход — создать как простого бота, так и сложного, с интерактивными элементами.
Подготовка
К олимпиаде я ничего прицельно не повторял — использовал знания, полученные на школьном кружке по программированию, и навыки, которые приобрел при работе над личными проектами.
Пет-проекты дали мне практический опыт. Благодаря тому, что с восьмого класса писал код для «Майнкрафта», я отлично понимал, как создать решение для уже существующей программы.
Еще мне помогло то, что в девятом классе я присоединился к «Яндекс Лицею», где меня бесплатно обучили основам программирования на Python. На курсе я практиковался в создании чат-ботов — это пригодилось на индивидуальном этапе PROD.
Материалы с сайта олимпиады тоже оказались полезными: из них я узнал о неочевидных аспектах программирования. Например, нашел лайфхаки для работы с большими базами данных. В целом подготовка была в большей степени практической: я просто выполнял задания, опубликованные на сайте состязания.
Участие
Олимпиада проходила в три этапа: первый отборочный на знания Computer Science , второй отборочный с разработкой и заключительный. Последний состоит из двух туров: индивидуального, где нужно создать свой проект, и командного, который проходит очно в Москве. Соревнование длится около двух месяцев, с перерывами на проверку заданий.
На первом этапе оценивают общие знания компьютерных наук. В тесте встречаются вопросы по теоретической информатике, архитектуре компьютеров, базам данных и алгоритмам.
На втором этапе участники выбирают один из трех треков — фронтенд, бэкенд или мобильную разработку — и решают задачи, основанные на существующих проблемах. Я выбрал трек фронтенда и создал RESTful API для социальной сети по заданной спецификации. Работа вышла объемной, легко было упустить детали, например валидацию данных. Я не до конца доволен результатом и уверен, что мог справиться лучше.
Заключительный этап — самый сложный. Как я упомянул выше, он включает индивидуальный и командный туры. В первом участники смотрят вебинары экспертов из партнерских вузов и после разрабатывают проекты. Я создал телеграм-бота для путешествий, который мог сохранять маршруты, строить карты, добавлять друзей, делить расходы и делать заметки.
Перед командным этапом участников объединили в группы. Мне повезло с ребятами, мы отлично сработались. Я взял на себя роль лида и отвечал не только за разработку, но и за управление командой и общение с продуктовым менеджером.
Изначально в группе никто никого не знал, но мы стали обмениваться информацией о своих проектах и навыках и вскоре подружились. Так пришла идея создать сервис для подбора команды. Его задача — помочь участникам узнать друг друга лучше.
Наш сервис действовал по принципу приложений для знакомств. Пользователь вносит данные о своих навыках, интересах и проектах, а после ищет ребят для сотрудничества. В перспективе мы планировали масштабировать сервис для применения на других командных олимпиадах. С его помощью участники смогут быстрее начинать эффективную совместную работу.
Общим проектом занимались очно на площадке в Москве. На разработку была неделя. Мы постоянно находились на связи и помогали друг другу. Все задачи разделили поровну: кто-то писал код для фронтенда, кто-то занимался только бэкендом, кто-то из ребят обеспечивал нас перекусами.
В конце мы защищали проекты перед комиссией из разработчиков Т-Банка и преподавателей Центрального университета и Высшей школы экономики. Мы отлично справились: смогли рационально распределить задачи в команде и уложились в тайминг.
Стажировка
После защиты проектов нас отвезли на награждение в Высшую школу экономики. Результаты до последнего не озвучивали, и я был очень рад услышать свое имя в списке победителей.
Как я упоминал выше, победители олимпиады получали скидку до 100% на учебу в совместном бакалавриате НИУ ВШЭ и Центрального университета. Мой грант полностью покрывает обучение в Центральном университете. Но самое важное — я получил возможность пройти упрощенный отбор в Т-Банк.
Моя стажировка длилась два месяца. С июля по сентябрь 2024 года я работал в нижегородском офисе банка. В первый день я получил ноутбук, список задач и ментора, к которому мог обращаться по всем вопросам. Наставник сопровождал меня на всем пути, ставил задачи на развитие, занимался организационными моментами. Но в середине стажировки он ушел в отпуск, и вместо него меня подхватил лид моей команды. Это стало очень крутым опытом — я даже почувствовал себя полноценным членом компании.
Моей главной задачей была разработка движка таргетирования. Это внутренняя система, позволяющая делать выборки пользователей сети по определенным параметрам. Например, моя команда работала в отделе «Выгода», поэтому мы обращали внимание на покупки в разные даты, суммы заказов и прочие детали, касающиеся прибыли проектов.
Задачи оказались интересными. Общение с командой все это время мотивировало меня работать дальше, хотя встретились лично мы только за две недели до конца стажировки, когда я переехал в Москву.
На следующий день после моего приезда в столицу лид команды пригласил меня в свой кабинет. Он сказал, что будет рад видеть меня в штате, но я должен пройти обязательную аттестацию. Она покажет, готов ли я перейти на новый грейд и чему научился на стажировке. Я успешно справился с этим испытанием и в сентябре стал штатным сотрудником Т-Банка. Стажировкой я остался максимально доволен.
Сейчас я совмещаю работу и учебу. У меня есть возможность работать онлайн, но я стараюсь бывать в офисе ежедневно. Приезжаю туда рано утром, а потом, к 10:00 или к 11:30, иду на пары. В обеденный перерыв возвращаюсь на рабочее место. Мой университет находится в 10 минутах от офиса. Также у меня есть возможность посещать пары онлайн, чем я иногда пользуюсь.
Советы
PROD — это не обычная олимпиада по информатике. Чтобы победить в ней, понадобится не только знать теорию, но и уметь писать код и презентовать свои проекты.
Проявить себя в состязании мне помогли углубленные знания фреймворков, СУБД , REST , Long Polling и ORM. Все это я изучил на бесплатных курсах «Яндекс Практикума». Обратите на них внимание, если решите поучаствовать в олимпиаде: в заданиях встречаются вопросы по этим темам.
Не пренебрегайте материалами с сайта состязания — они пригодятся в подготовке. А еще уделяйте время своим пет-проектам, не сдавайтесь и помните о важности теории.