Привет! Меня зовут Алексей, в этом году я заканчиваю учебу на бакалавриате ABBYY на Физтехе. А еще пишу диплом, работаю и все это делаю на удаленке. В этом посте я опишу свой опыт поступления на бакалавриат ABBYY: это было пару лет назад, в 2018 году, когда мир был более безопасным (на самом деле нет) и люди могли чаще трогать лицо руками.
Я расскажу о том, как я выбирал базовую кафедру и не сошел с ума, легко ли мне было поступить, поделюсь с вами впечатлениями от процесса обучения и стажировки и признаюсь, каково совмещать учебу с работой. Надеюсь, мой пост пригодится студентам, которые размышляют, на какую базовую кафедру в МФТИ поступать и на что при этом обратить внимание. Ведь выбор кафедры очень важен, от него зависит сфера развития на ближайшие несколько лет.
О себе и поступлении в МФТИ
Я из Омска, поступил в МФТИ четыре года назад. Вообще-то я хотел заниматься не программированием, а физикой. Но так получилось, что при выборе факультета много общался со своими знакомыми, студентами старших курсов, и узнавал, где они учатся, что им нравится. Один из ребят посоветовал мне пойти именно на факультет инноваций и высоких технологий (ФИВТ, впоследствии он вошел в состав Физтех-школы прикладной математики и информатики, то есть ФПМИ). Он не рассказывал мне про базовые кафедры, но упоминал о перспективах развития и задачах, которые можно решать на факультете. И меня это заинтересовало.
А физика, которую я стремился изучать, была у нас в полном объеме. Изначально я думал, что есть прогерские факультеты, где физику преподают спустя рукава, и факультеты с более серьезным отношением. Оказалось, курс физики на всех факультетах в целом одинаковый. А при желании можно было посещать дополнительные занятия на других факультетах.
Как я выбирал базовую кафедру и что повлияло на мое решение
На третьем курсе, в весеннем семестре, мне нужно было выбрать базовую кафедру, то есть направление, которым я буду заниматься следующие полтора года. Это была сложная задача: я задумался о ней курсе на втором или даже на первом. Конечно, я рассматривал почти все кафедры. Обращал внимание на преподавателей на нашем факультете: слушал их лекции и анализировал, кто мне больше нравится, кто интереснее и понятнее рассказывает. Они же преподают и на кафедрах.
Общался со студентами-старшекурсниками с моего факультета. Среди них были и те, кто учился на кафедре ABBYY. Основную информацию я узнал как раз от них. Переписывался с ребятами из моего города и спрашивал, как им учеба. Но сейчас, спустя время, понимаю: можно было и не спрашивать. Сколько людей, столько и мнений. У меня может быть одно мнение, у кого-то из студентов совершенно иное.
Честно скажу, презентации кафедр мне казались не очень информативными. Нам предлагали задавать выступающим вопросы, но, пока ты не попробовал учиться по этому направлению, тебе неясно, что спрашивать. Не знаю, что надо делать на этих презентациях, чтобы у студентов появились вопросы.
Есть направления, где учиться не очень сложно, а есть такие, где надо много вкалывать. Вообще многие стремятся на кафедру «Яндекса», это модно-стильно, а еще там серьезно относятся к учебе. Кафедра ABBYY тоже считается строгой: нужно много времени уделять занятиям и серьезно готовиться к экзаменам.
Понравилось, что в ABBYY есть инфраструктурное промышленное программирование – .Net, C#. Мне хотелось попробовать себя в этом. До поступления на кафедру я делал несложные сайты на php. Знал ли я точно, что хочу заниматься этим в будущем? Нет. Просто интуитивно решил поступать на бакалавриат ABBYY.
Как попасть на отбор на кафедру
Вы будете удивлены, но достаточно просто на него прийти. Хотя многие стараются заранее узнать о том, как подготовиться и есть ли какие-то дополнительные условия. Например, каждый год кафедра просит студентов по желанию пройти небольшой онлайн-опрос, чтобы примерно оценить количество участников. Кроме того, предварительно ребята пишут мотивационное письмо, где рассказывают о себе, своих навыках и опыте. Но повторюсь, можно просто прийти, без мотивационного письма и участия в опросе.
В этом году презентация кафедр и отбор на них пройдет 6 апреля в онлайн-режиме. Посмотреть программу и зарегистрироваться можно здесь. Когда я поступал, презентацию и собеседование тоже проводили в один день. Мне было несложно, но довольно волнительно, так как от этого многое зависело в будущем.
У ABBYY в МФТИ открыты две кафедры – распознавания и обработки изображений (РИОТ) и компьютерной лингвистики (КЛ). Набор на них общий, то есть ты проходишь одно собеседование, а потом выбираешь, где тебе хочется учиться.
Вступительные испытания
В 2018 году отбор на кафедру занимал целый день. К нам в университет приехала команда сотрудников ABBYY. Всех желающих собрали в большой поточной аудитории.
Предстояло пройти три этапа. Сначала ты решаешь задачки на программирование, математику, логику и информатику. Задачки адекватные, я считаю. На них дается около двух часов. Потом перерыв. Затем около получаса обсуждаешь решения с сотрудником ABBYY: если ты что-то неправильно понял из условий, можно уточнить. За правильные ответы тебе ставят баллы. Вероятно, в этом году проверка задач пройдет удаленно.
Затем примерно 15 минут общаешься с представителем HR. Задавали вопросы о профессиональных интересах студента, его достижениях и планах развития. Еще меня спрашивали о том, что мне хочется узнать о кафедре и обучении. Мне было интересно, можно ли устроиться на работу в ABBYY. Мне сказали, что да, и объяснили, как это можно сделать.
Результаты отбора оглашают позже. Через пару недель на почту всем, кто успешно прошел все три этапа, приходит письмо с приглашением.
Обычно на кафедру зачисляют около 20 человек, и желающих обучаться на РИОТ и КЛ примерно поровну.
Обучение на кафедре. Предметы
Учеба длится 1,5 года. Начинается весной на 3 курсе и продолжается до конца 4 курса. У меня сейчас последний семестр бакалавриата кафедры РИОТ.
Пары проводятся в офисе ABBYY, и их количество зависит от семестра. В прошлом году, на 3 курсе (весенний семестр), было поменьше кафедральных дней – всего один в неделю. Я посещал общие предметы:
- Основы WinApi +Программирование на языке C#
- Концепции языков программирования
И один профильный – «Основные задачи автоматической обработки документов». У тех, кто поступил на КЛ, был предмет «Лингвистические основы автоматической обработки текста».
В осеннем семестре вторник был жесткий день. С утра – первая и вторая пары, потом обед, третья и четвертая пары, затем у меня было время поработать (да, на 4 курсе я стал работать, расскажу об этом ниже), и совсем вечером – еще две пары по Android. Зато в другой день была всего одна пара по .Net, и я мог уделить время работе. Еще один кафедральный день был посвящен диплому. На 4 курсе (осенний семестр) у нас тоже были общие предметы:
- Теория компиляции
- Один из трех на выбор: Программирование на ASP.NET / Мобильная разработка под iOS. Язык программирования / Мобильная разработка под Android. Язык программирования
В этом году список общих курсов изменился. У следующего потока студентов теория компиляции больше не обязательный предмет во втором семестре. Они могут выбрать либо его, либо многопоточное программирование.
И есть профильные предметы:
- Сверточные сети в задачах компьютерного зрения (РИОТ)
- Введение в компьютерные модели естественного языка (КЛ)
В этом семестре (4 курс, весенний семестр) у нас три дня занятий на кафедре: два из них – лекции и семинары, а один день – для работы над дипломом. В этом семестре у нас два общих курса:
- Инженерия ПО
- Концепция языков программирования
И есть четыре предмета, из которых нужно выбрать два наиболее тебе интересных:
- Frontend-разработка
- Мобильная разработка под iOS. Платформа и проекты
- Мобильная разработка под Android. Платформа и проекты
- Теория компиляции. Дополнительные главы
Я хожу на пары по Frontend и мобильной разработке под Android.
Что мне нравится в процессе обучения
Круто, что обновляют учебную программу: убирают лишнее и оставляют действительно нужное. Например, я уже не посещал отдельный курс по WinAPI. Старшекурсники говорили мне, что он был не очень полезен в отличие от других. Я знал, что у нас этот предмет будет больше посвящен C#, поэтому сильно не переживал. Часть про WinAPI сжали, так как темы, связанные с оконными приложениями уже не актуальны. Но есть задачи на WinAPI, которые показывают, как устроены динамические библиотеки, их связь с Windows и в целом с устройством операционных систем, которое хорошо бы знать. На практике вряд ли пригодится, но для понимания это нужно.
Еще с этого года теория компиляции стала предметом по выбору во втором семестре обучения. Те, кто хочет углубиться, могут изучать его на протяжении целого года. Если это не про вас, то можно ограничиться одним семестром и выбрать себе другой курс.
С осени 2019 года появился курс по мобильной разработке. У тех, кто на год старше меня, такого не было. Насколько я знаю, мобилка есть в ФПМИ только на нашей кафедре. Этот курс – хорошая возможность попробовать себя в новой сфере и еще одно направление моего саморазвития. Как мне кажется, это правильный шаг для кафедры. Возможно, будут не лишними предметы по таким направлениям, как big data и аналитика. Опять же у нас был похожий курс на факультете, но на кафедре он может отличаться более глубоким погружением в тему.
Если говорить в целом про факультет, то мне не хватает какого-то курса для общего развития, например, биоинформатики. Почему бы и нет? Отрасль интересная, применение тоже. На самом деле есть много предметов, которые я бы хотел изучить, но это уже не относится к кафедре.
Об учебе
Лекции и семинары ведут сотрудники ABBYY. В принципе домашних заданий, может быть, и не так много, но они объемные. У меня не получалось сделать их за один вечер – я занимался ими на выходных.
Например, недавно надо было выбрать одну из нескольких свежих статей по компьютерному зрению и реализовать из нее модуль нейронной сети. Задача заключалась в том, чтобы на место стандартного блока из одной нейронки (ResNet) вставить написанный по статье модуль (я выбрал Octave convolution). В статье, конечно, уже рассказано, какие улучшения должны получиться. Но суть домашки в том, что нужно самому все проделать и по итогам написать свою небольшую статью: сравнить результаты, понять, что поменялось, и сделать из этого вывод. Такая исследовательская задача получается.
Или теория компиляции. Это больше командный предмет, и домашка по нему общая. Например, мы реализовывали часть компилятора (Построение AVL-дерева) в командах. Это было несложно, но мы волновались, что можем не успеть. Как объяснил преподаватель, цель курса — понять процесс командной разработки. Есть один большой сложный проект, и ты делаешь его вместе с другими участниками.
Как проходят экзамены на кафедре
Зачеты проходят в формате экзамена, но сдаем мы их в зачетную сессию. Это бывает непросто: учеба еще не закончилась и нет времени исключительно для подготовки к экзамену.
Но экзамены сдаются несложно. Секрет в том, что нужно ходить на лекции. Мне нравится, что во время подготовки, чтения дополнительных материалов и на сдаче, при беседе с преподавателями, я узнаю что-то новое.
О дипломе
Летом у меня будет защита диплома. При выборе кафедры я во многом задавался вопросом, о чем буду писать выпускную работу. Мне была интересна не только учеба, но и ее результат, задел на будущее.
Мой диплом не связан с текущей работой в ABBYY. Этот выбор осознанный, чтобы развиваться во многих сферах и расширять кругозор. Тема – распознавание рукописного текста с помощью капсульных сетей. Задача связана с распознаванием символов (иероглифов). Суть в том, что капсульная сеть хорошо воспринимает взаимное расположение объектов. В китайских и японских символах много простых элементов, которые могут по-разному располагаться и обозначать разные значения. Капсульные сети могут улучшить качество распознавания таких символов, и я проверяю эту гипотезу.
Когда в работе пробуешь одно, а в дипломе – другое, то легче понять, что больше нравится. По мне главное – это разнообразный опыт. Если не нашел себя в одной сфере, то попробуешь в другой.
Стажировка и работа
Летом, после 3 курса, нам предложили пойти на стажировку в ABBYY. Мне стало интересно, я прошел конкурсный отбор. С июля по август была практика, а в начале 4 курса я начал работать. Во многом это произошло благодаря предмету .Net, который меня заинтересовал еще на стажировке.
Через месяц с начала работы сдал внутренние экзамены по C#, .Net и SQL. Кстати, тут мне пригодились знания, полученные на кафедре. Например, мне задали вопрос про создание адаптера к базе данных. Для этого надо превратить код в древовидную структуру. Ответить мне помогло знание компиляторов: там тоже из кода строится дерево.
Как совмещаю учебу и работу
Много однокурсников уже работают в IT-компаниях. Есть ребята, у которых из-за этого возникли трудности с учебой. Не хотелось, чтобы у меня было так же. Признаюсь, мне сначала было непонятно, как буду совмещать учебу и работу.
В офисе большинство разработчиков, включая меня, сидят в таких кубиклах, а не в опенспейсах. Это помогает концентрироваться на задачах и не отвлекаться на других.
Сейчас я работаю в отделе, который занимается облачным направлением. Работа занимает у меня 32 часа в неделю, то есть четыре дня по 8 часов.
Но все-таки учеба для меня – это главное. Очень удобно, что пары проходят прямо в офисе. Стараюсь все успевать, и в этом мне помогает дисциплина: не забиваешь на пары, не забиваешь на работу. Правильно распределяю время и ресурсы, планирую все важные дела заранее. По вечерам чаще всего доделываю задания по учебе.
Про ABBYY
Мне нравится, что здесь я узнаю что-то новое и применяю знания на практике, получаю опыт, разрабатываю полезные сервисы. Коллеги мне помогают, и я тоже делюсь с ними своим опытом. Приятно участвовать в рабочем процессе.
Ребята все доброжелательные, у меня есть свой круг общения. На этаже почти всех знаю, со всеми здороваюсь. Это круто, что всегда можно обсудить с ребятами что-то, кроме работы.
Вместо заключения
После окончания бакалавриата пойду в магистратуру ABBYY. Хочу продолжить развитие в этой сфере, пока вижу для себя именно такой путь.
Кафедру ABBYY я советую выбрать тем, кто
- готов много вкладывать в свои знания, много учиться,
- хочет много уметь и развиваться в нескольких направлениях, а не иметь узкую специализацию,
- хочет хорошие условия для старта в карьере (гибкий график, возможность совмещать работу с учебой),
- стремится получить опыт в международной IT-компании.
Автор: Alexey__Petrov