«ИНверсия» побеседовала с основателем кружка по олимпиадному программированию в МИЭТе Алексеем Боголюбским (выпускник МПиТК’16). Герой статьи поделился своей историей и рассказал о работе в компании «Яндекс».
Фото из личного архива А. Боголюбского
Юный программист
Я точно помню момент, когда меня заинтересовало программирование.
Если не ошибаюсь, в седьмом классе у меня появился компьютер. Уже не в первый раз играя в «Сапёра», я задумался, как работает игра. Примерно в это же время заметил в школе объявление о наборе в клуб «Юный программист». Так всё и началось.
В рамках кружка мы изучали QuickBasic, а затем и C++. Преподавала и заложила в меня любовь к программированию учительница Елена Васильевна Курилова, к слову, выпускница МИЭТа. С 9-ого класса моей подготовкой стали заниматься опытные в олимпиадах старшеклассники (один из них сейчас работает в «Яндексе»). В этот же год я стал участвовать в школьных олимпиадах. В 10-м классе мои наставники из старших классов выпустились и пришлось искать новых. Ими стали два преподавателя из калининградских вузов. Сергей Анатольевич Григорьев из Балтийского федерального университета им. Канта готовил меня и многих других школьников к олимпиадам. Благодаря его занятиям я выступал на всероссийском уровне в школе и на международном в студенческие годы. Андрей Николаевич Соколов из Калининградского государственного технического университета вдохновил самостоятельно пробовать различные технологии. К одиннадцатому классу уже не было раздумий о будущей профессии.
Несчастье помогло
На младших курсах я пытался стать куратором, но, наверное к счастью, меня не взяли, и я смог сосредоточиться на профессии. Время учёбы в МИЭТе для меня делится на некоторые этапы в жизни:
• На первом курсе пошёл в клуб робототехники из интереса. Там меня научили проектировать и паять простенькие платы, а также программировать их. Было интересно, и меня взяли со второго курса на работу на кафедру микроэлектроники заниматься этим.
• В конце второго курса я попал в команду, которая должна была в будущем представлять МИЭТ на студенческих соревнованиях по программированию.
• После того, как я съездил на пару олимпиад от вуза, меня всё не покидала мысль, как бы найти в МИЭТе ребят, которые тоже интересуются олимпиадами, ведь готовиться и делиться опытом вместе будет интереснее. Поэтому наша команда решила провести внутреннюю олимпиаду. Благодаря помощи от кафедры ИПОВС нам это удалось. Мы получили аудиторию с 25 компьютерами. Зарегистрировалось неожиданно много участников – более ста человек! Последовали беготня, подготовка компьютерного класса, разработка задач. Именно тогда зародился кружок по олимпиадному программированию, vk.com/miet_acm. Это было неким хобби, которому я посвящал всё свободное время. Сейчас в рамках кружка проводят как минимум две олимпиады в год: личную олимпиаду в апреле-мае и командную в сентябре-октябре, и каждый семестр проходят лекции и тренировки.
• На четвёртом курсе устроился на работу в компанию НТЦ «ЭЛИНС» на должность техника-программиста. Моей обязанностью была разработка алгоритмов компьютерного зрения. Первое время я находился в постоянной панике, так как промышленного опыта в разработке у меня не было, но это ощущение быстро прошло благодаря помощи куратора.
• Перед вторым семестром второго курса магистратуры я ушёл из НТЦ «ЭЛИНС» в МИЭТ на позицию руководителя олимпиадного кружка. Моё хобби стало официальной работой, и у меня появилось больше времени, которое я мог уделить кружку, но также и стало больше обязанностей.
• Закончив вуз, ушёл работать в «Яндекс» разработчиком, передав руководство кружком своим друзьям. Ещё в течение года после выпуска помогал преемникам проводить занятия в кружке: давал советы, иногда читал лекции и проводил тренировки.
Работа сегодня
К концу обучения в университете меня позвали на собеседование в «Яндекс». В компании очень любят олимпиадников – рекрутеры нашли меня по результатам одного из соревнований и пригласили на позицию разработчика. На собеседованиях предложили решить олимпиадные задачи по алгоритмам, проверили знания в областях машинного обучения и аналитики. Я знал, что неплохо отвечал на вопросы, но всё равно удивился, когда сообщили, что готовы взять на работу. Эмоции переполняли меня, но быстро отошли на второй план – приближалась пора защиты диплома.
Последнее время разрабатываю сервис для сотрудников компании, который выполняет полнотекстовой поиск (поиск по содержимому). На его основе строят внешние веб-службы. Примером использования нашей внутренней системы может служить то, как недавно обновленные веб-страницы появляются в поисковой выдаче. Дело в том, что данные о сайтах проиндексированы и хранятся в одной большой базе данных. Оперативно вносить в неё изменения по каждой странице невозможно, поэтому, когда поисковый робот находит новый сайт или фиксирует изменение существующего, он отправляет его в наш сервис. Оттуда страница попадает к вам в поиск, и со временем её добавляют в базу. Если вы видите результат с пометкой «5 минут назад», то это значит, что поисковый робот обнаружил страницу или её изменение пять минут назад, отправил данные в сервис и оттуда она попала к вам в результаты.
Валерия Смирнова