«Что мне уже нравится — работать в команде с другими студентами и с сотрудниками VK»: Анна Полупанова о мастерской по виртуальным платформенным решениям
Студентка третьего курса программы «Прикладная математика и информатика» Анна Полупанова с осени участвует в мастерской по виртуальным платформенным решениям от VK и Питерской Вышки. Там она занимается бэкенд-разработкой и пишет программу, которая поможет студентам практиковаться в написании моделей для машинного обучения. Чем Анне нравится проект и что на нем нужно делать — в нашем интервью.
Как я попала в мастерскую от VK
На нашем факультете есть обязательная проектная работа, мастерская по виртуальным и платформенным решениям от VK была одной из возможностей. Кроме того, компания проводила презентацию своей лаборатории в нашем университете — так я узнала о ней. Внутри проекта можно было поучаствовать в бэкенд-разработке большого сервиса на Java, а мне интересны такие задачи.
Отбор в мастерскую проходил в три этапа — решение задач, собеседование с ментором и с командой из VK. Во время собеседования мне давали задачи на знание языка программирования Java и на логику, а также спрашивали про мой опыт в программировании. Попасть в проект мне помогли знания, полученные на программе, так как во время учебы мы делали много студенческих проектов и у нас был хороший курс по Java.
Сейчас мы разрабатываем учебный сервис для студентов, которые увлекаются Data Science. На нем компании будут публиковать задачи для соревнований и данные к ним, а студенты — загружать модели для решения этих задач. Это полезно и для ребят, и для бизнеса. Студенты будут практиковаться на реальных задачах, а бизнесу станет проще вылавливать таланты. По сути наш сервис — это более специализированный аналог Kaggle.
Сам продукт мы разрабатываем на Java — так удобнее всего. Большинство сервисов компании VK написаны именно на этом языке, так потом будет проще интегрировать их между собой.
Что нужно делать на проекте
Мы с однокурсником Александром Лукьяновым на этом проекте занимаемся бэкендом — это часть, которая скрыта от глаз пользователя и реализует всю внутреннюю логику программы. Мы обрабатываем данные, которые приходят от пользователя снаружи: картинки, которые он загружает, действия, которые он совершает на сайте или в приложении. Потом отбираем нужные данные и храним их в базах данных, организовываем работу с ними и пишем логику приложения.
Классический пример связи между фронтендом и бэкендом — поисковый запрос. На фронтенде человек вбивает текст, про который он что-то хочет узнать, а дальше начинается все самое интересное. В бэкенде текст разбирается по составу — то есть мы пытаемся адаптировать запрос таким образом, чтобы он был понятен компьютеру. Дальше преобразованный текст идет в черный ящик программы, где по ключевым словам из запроса формируется поисковая выдача — а в итоге пользователь получает набор ссылок.
Наш сервис — про нейросети, студенты смогут обучить их выполнять разные действия после обработки больших данных. В научных задачах это работает так: допустим, возьмем много картинок с клетками, пораженными разными болезнями. Модель обработает картинки, научится распознавать нарушения и потом по новым изображениям сделает предположение — есть у человека болезнь или нет.
Но наша платформа — про другие задачи, с медициной они не связаны. Пример таких задач — отличие фейковых фото от реальных. Это нужно в тех случаях, когда приложение просит пользователя отправить фотографию, чтобы подтвердить свой профиль. Чаще всего фотографии вручную проверяют модераторы, но можно обучить этому программу.
Как мне помогла учеба на программе «Прикладная математика и информатика»
На первых двух курсах у нас было достаточно много предметов по программированию, которые мне помогли для участия в проекте. Самое очевидное — на втором курсе в течение семестра мы изучали Java, и это потом помогло пройти отборочные испытания. Лекции по этому предмету вел Антон Михайлович Кузнецов. Мы писали много работ по предмету, зато я до сих пор помню все, что нам рассказывали. А в конце второго курса мы писали обязательный проект на Java — этот опыт, наверное, был самым полезным, потому что я сама научилась разрабатывать программы.
У нас были и другие предметы по программированию — на первом курсе мы изучали С++. Хотя это другой язык, многие идеи и общие особенности разработки можно ухватить и оттуда. Предмет вел Егор Федорович Суворов, я ему очень благодарна — благодаря его лекциям у меня все хорошо пошло с программированием.
Какие у меня впечатления
Мы не остаемся с задачами один на один: у нас есть ментор с нашего факультета. Он связывает нас с командой из VK и помогает двигать нашу работу по проекту. Кроме того, с нами работают несколько сотрудников компании. Им можно задавать любые вопросы по проекту, еще они присылают нам полезные статьи, которые пригождаются в работе. То есть по организационным вопросам мы больше общаемся с ментором, а по технической стороне проекта — с людьми из компании.
Мне нравится, что этот проект сильно ближе к опыту какой-то промышленной, коммерческой разработки — тому, как это реально происходит у людей на работе. У нас команды из пяти человек, над нами еще есть какие-то люди и мы учимся соединять разные части проекта между собой. Во время обычной учебы такой опыт получить сложно.
Подводить итоги для проекта пока рано — он будет идти до конца учебного года. Но что мне уже нравится — работать в команде с другими студентами и с сотрудниками VK. Это очень круто, когда у вас есть менторы, которые вовлечены в то, что вы делаете, не забывают про вас и всегда на связи.
Мастерская по виртуальным платформенным решениям от Питерской Вышки и VK открылась в начале октября. Участники мастерской разрабатывают ПО для платформы, на которой студенты смогут создавать и тестировать нейросети. Наставниками для учащихся являются разработчики из компании VK и преподаватели Школы физико-математических и компьютерных наук.
Суворов Егор Федорович