В июле 2007 года Яндекс открыл первый набор в Школу анализа данных. Тогда, десять лет назад, в Школе работало всего одно отделение. Не было вступительных экзаменов и даже оценок — первых студентов, которых привели сами преподаватели, оценивали по системе «зачёт — незачёт». Сейчас про ШАД знают даже школьники, а наших выпускников можно встретить и в IT-компаниях, и в научной среде — как в России, так и за рубежом. Открылись филиалы и базовые кафедры в вузах, а в 2014 году в НИУ ВШЭ появился факультет компьютерных наук, который вырос из ШАДа. О прошлом и настоящем ШАДа рассказывают сотрудники Яндекса — выпускники и преподаватели Школы.
В разговоре участвуют директор отделения компьютерных наук ШАДа Елена Бунина, преподаватели Максим Бабенко и Михаил Левин, выпускники, а ныне преподаватели Игнатий Колесниченко и Михаил Ройзнер, а также кураторы филиалов ШАДа в Минске и Екатеринбурге Алексей Толстиков и Ирина Роева.
Как начинался ШАД
Елена Бунина: В 2007 году я была обычным преподавателем и учёным: работала на мехмате МГУ, в Бауманке и в 57-й школе. Для меня история про ШАД началась со звонка моего знакомого, Гриши Кондакова. Он рассказал, что Яндекс хочет создать школу, где будут учить очень умных программистов. Что такое Яндекс, я представляла не очень хорошо, но мысль показалась интересной — и я согласилась в тот же вечер съездить с Гришей в гости к директору Яндекса Аркадию Воложу.
В гостях у Воложа был и Илья Борисович Мучник — учёный, опубликовавший первую работу по распознаванию образов ещё в 1964 году. У Аркадия, Ильи Борисовича и Ильи Сегаловича возникла такая идея: требуются не просто программисты, а программисты со знанием самых современных методов. Требуются люди, которые могли бы перевести Яндекс и весь рынок на новые рельсы. Причём было понятно, что проект нужно делать самим. Сначала думали про образовательные программы с вузами, но найти общий язык тогда не получалось.
Елена Бунина: Когда я приехала, Аркадий спросил: как вы думаете, если мы сами сделаем такой проект, много ли людей придёт к нам учиться? Я сразу ответила, что много. На мехмате ко мне постоянно подходили студенты, которые хорошо знали математику, но не понимали, как распорядиться знаниями. Я рассказывала им, что можно стать преподавателем, а можно, например, пойти работать аналитиком в банк. С открытием ШАДа у меня бы появился ещё один ответ. Так что я сказала, что верю в проект и с удовольствием бы рассказывала о нём студентам.
Елена Бунина: У Аркадия, Ильи и Ильи Борисовича было чёткое понимание того, как должен быть устроен ШАД, но не было человека, который бы всё объединил и организовал. Таким человеком предложили стать мне. Всё развивалось стремительно: первый разговор у нас состоялся в мае, а уже 25 июля мы разместили на странице новостей объявление об открытии набора в Школу анализа данных.
Первые наборы
Миша Ройзнер: Я как раз из тех, кто поступил в ШАД в первом наборе. В Школу я попал, потому что знал Лену Бунину: я учился на мехмате МГУ, а она была моим научным руководителем. Похожая история произошла со многими людьми, которые оказались вместе со мной в ШАДе. В первые годы о Школе узнавали от преподавателей, от друзей по вузу — в общем, работало сарафанное радио.
Игнат Колесниченко: Никаких экзаменов тогда не было, только собеседования. Я из второго набора, и меня собеседовал Максим Бабенко, который вот-вот должен был стать моим научным руководителем в МГУ. Мы с ним поговорили, а потом он дал мне какие-то задачки. Я решил не все и подумал: ну вот, сейчас и в ШАД не возьмут, и без руководителя останусь. Ничего, взяли, а Максим всё-таки стал моим научником.
Елена Бунина: В первый раз провели около 150 собеседований. Разговаривала в основном я, иногда вместе с Максимом. У нас было минут 15-20 на человека, и задачек предлагали мало. Спрашивали элементарные вещи: например, какие знаешь сортировки.
Елена Бунина: В первом наборе было 80 человек. Из них закончили ШАД только 36. На первом курсе почти никого не отчисляли. Потом тех, кто не успевает, всё-таки решили выгонять — и народ сразу начал учиться.
Миша Левин: Я пришёл в ШАД за компанию с подругой. Учился в аспирантуре, готовил студентов к олимпиадам по программированию и работал в московском офисе Google, так что ШАД был для меня был где-то на четвёртом месте. На собеседовании Максим и Лена Бунина двадцать минут внушали мне, что на занятия времени не хватит. И оказались правы: я бросил на втором семестре.
Как устроена учёба
Миша Левин: Я вернулся в ШАД довольно скоро, но уже в качестве преподавателя: начал вести семинары по алгоритмам. Школу я так и не закончил. Честно говоря, в самом начале я относился и к ШАДу, и к Яндексу немножко свысока. Я весь такой из себя аспирант, инженер Google, победитель международных олимпиад. А тут детишки, раздолбаи с мехмата. Их надо сразу брать в ежовые рукавицы, иначе ничего не получится. Вот задача, две недели на теорию, ещё две — на практику. Опоздали на три минуты — ну всё, извините, вас много, а я один. Я именно тот человек, который у всех студентов ШАДа ассоциируется со словом «дедлайн».
Елена Бунина: Сейчас и сам отбор в Школу гораздо строже, чем в первые годы. Иначе нельзя. В 2007 у нас было 300 заявок, а в этом году — больше четырёх тысяч, а берём мы максимум 200. У поступающих в московский ШАД вступительные испытания проходят в три этапа: онлайн-тест, письменный экзамен, собеседование.
Миша Ройзнер: В ШАДе два отделения, анализа данных и компьютерных наук, и специализация «Большие данные». Конкурс на оба отделения общий, а программы частично совпадают. Обучение длится два года, каждый курс состоит из двух семестров. Интересно, что сессий у нас нет; всё строится на домашних заданиях — они продуманные и достаточно сложные. Ты сдаёшь домашку и получаешь за это баллы. В итоге студенты учатся не два раза в год, а в течение всего семестра.
Елена Бунина: Изначально мы решили не устраивать сессий, чтобы бедные студенты могли спокойно сдать экзамены и зачёты у себя в вузе. К 20 декабря и 20 мая ребята должны быть отпущены с занятий, иначе им будет совсем сложно. Только потом мы поняли, что такой способ в принципе лучше работает. При этом история с отчислениями всё равно повторяется из года в год. До конца доходит около половины из тех, кого набрали на первый курс. И это нормально.
Игнат Колесниченко: Люди бросают учёбу в ШАДе по разным причинам: трудно, не хватает мотивации, не получается совмещать с работой и учёбой в вузе. Впрочем, из Школы необязательно уходить насовсем. Всегда есть вариант взять академический отпуск и вернуться через год. Этим вариантом активно пользуются: я знаю человека, который пришёл учиться на год раньше меня, а закончил на два года позже.
Елена Бунина: Те, кто много уходил в академы, на выпускном когда-то получали особый подарок — вино того года, в котором они поступили в ШАД.
Миша Ройзнер: В Школе регулярно проходят учёные советы: мы собираемся и решаем, что нужно улучшать. Учитываем отзывы студентов. В конце каждого семестра проводят анкетирование: можно анонимно рассказать всё, что думаешь о ШАДе. Ребята часто пишут: «А почему нет вот такого-то курса, нам очень бы хотелось». Значит, курс стоит ввести. Некоторые старые курсы либо убираем — если оказалось, что они больше не актуальны, — либо сильно модифицируем.
Максим Бабенко: Я читаю в ШАДе курс по базовым алгоритмам. В сентябре я буду делать это в одиннадцатый раз. Базовые алгоритмы — как базовая грамотность; кардинально ничего не изменишь. Единственный способ не помереть от скуки — постоянно узнавать что-то новое и добавлять его в курс. Важно ездить на конференции и общаться не только с разработчиками, но и с учёными — это люди, которые смотрят на программирование с другой стороны.
Лёша Толстиков: Сначала ШАД работал только в Москве. Первые филиалы в регионах появились в 2011 году, в том числе и филиал в Минске. Он возник даже раньше, чем белорусский офис Яндекса: набор в Школу открыли в июне, а в помещения въехали в августе. Часть лекций в филиалах читают на месте, а часть студенты смотрят в записи: иногда дома, иногда в аудитории с семинаристом. В минском филиале есть курсы, которые читают только здесь. Например, курс, где изучают сразу несколько различных языков программирования. Студентам рассказывают про классификацию языков и особенности разных групп.
Ирина Роева: Филиал в Екатеринбурге открылся годом позже Минска. В нём преподают сотрудники Института математики и компьютерных наук УрФУ и разработчики из екатеринбургского офиса Яндекса. В этом году мы открываем с Институтом совместную магистратуру. У ребят, которые туда поступают, будет возможность получить сразу два диплома: УрФУ и Школы анализа данных.
Максим Бабенко: ШАД — это вечернее образование. Но в какой-то момент нам стало интересно, чем люди заняты днём. Чему их учат в вузе? Надо ли вообще этому учить? А если надо, то, может, как-то по-другому? Нередко нам приходилось переучивать людей и рассказывать им вещи, которые, по-хорошему, они должны были узнать на первом курсе. Так родилась идея базовых кафедр в вузах, а в 2014 году в НИУ ВШЭ в Москве открылся факультет компьютерных наук, программа которого была создана вместе с ШАДом. Это стало своего рода фазовым переходом: у нас появились возможности, которые до этого отсутствовали.
Миша Левин: У тех, кто закончил ШАД, много путей: можно пойти в науку, исследования, разработку, аналитику. А можно сделать квесты «Клаустрофобия», как наш выпускник Богдан Кравцов.
Стажировки
Миша Левин: Когда начинался ШАД, в Яндексе работали суровые разработчики. Они принципиально не брали стажёров, а брали настоящих монстров себе под стать. Было важно их переубедить и показать, что стажёры из ШАДа на многое годятся.
Елена Бунина: Нам не так важна теория. Важно, чтобы студенты делали лабораторные, умели решать задачи, получали практику. Запуская программу стажировок, мы развернули в Яндексе целую пропагандистскую кампанию.
Миша Левин: Убеждали в том числе и личным примером. К моменту, когда появились стажировки, я уже перешёл в Яндекс и собрал себе группу из пяти человек. Четверо из них были стажёрами. Этой компанией мы за восемь месяцев полностью переделали всю матчасть, которая предсказывала Пробки, ускорили работу в несколько раз. Нам в итоге удалось сильно улучшить большой сервис.
Олимпиады
Максим Бабенко: Готовить победителей олимпиад по программированию, в том числе и международных, у нас в стране умели всегда. Не очень получалось готовить людей под нужды индустрии, то есть сильных алгоритмистов, сильных специалистов по обработке данных. Олимпиадники есть практически в каждом наборе ШАДа, но это штучный товар — только на нём нельзя построить сообщество.
Миша Левин: Люди из IT-компаний ведут постоянные холивары о том, стоит ли брать олимпиадников на работу. Олимпиадник нацелен на то, чтобы написать работающий код как можно быстрее, но иногда этот код выглядит как «макароны» — что-то сложное, запутанное, переплетённое. Поэтому я внедрил в ШАДе code review — процедуру разбора кода. Студенты присылают мне код, а я комментирую каждую строчку и объясняю, что мне не нравится.
Максим Бабенко: Мозг у олимпиадников работает с другой скоростью. Они быстро находят решения. Это ценно, но чтобы работать в компании, нужны и другие навыки: умение работать в команде, усидчивость, способность делать не только быстро, но и расширяемо. Если человек этому научится, у него всё будет хорошо.
Максим Бабенко: Многие преподаватели ШАДа — люди с олимпиадным прошлым: они участвовали в соревнованиях сами и готовили к ним других. В ШАДе тренерские подходы работают не всегда. Нельзя замотивировать студента, сказав, что если сегодня ты освоишь этот алгоритм, то завтра благодаря нему выиграешь олимпиаду. Зато можно рассказать, зачем эти алгоритмы нужны в жизни, и это сработает.
Люди ШАДа
Миша Ройзнер: В основном в московский ШАД поступают люди с мехмата, ВМК, Физтеха и технических факультетов Вышки. Хотя бывают и неожиданности. Я как-то раз собеседовал девушку из медицинского. Её взяли, но до конца она, кажется, не дотянула. Ещё была Ася Корсун — она пришла к нам после филологического факультета СПбГУ. Ася успешно закончила ШАД, несколько лет была разработчиком в поиске Яндекса, а сейчас работает в Google в США.
Миша Левин: Мы набираем людей по своему образу и подобию. У нас много народу с мехмата — романтичные математики, у которых нет склонностей к предпринимательству. Многие хотят в науку. Физтехи обычно более практичные.
Игнат Колесниченко: В ШАД приходят после третьего-четвертого курса. Средний возраст студентов — 20-21 год. Но несколько первокурсников в ШАДе всё же было. После первого курса, например, к нам пришёл Аким Кумок. Про него есть такая история: сидит он на семинаре, а преподаватель, Алексей Яковлевич Канель-Белов, рассказывает: вот, мол, есть такая-то открытая задача, и как она решается, непонятно. Аким досидел до конца семинара и спрашивает: погодите, а почему она открытая? Там же динамика по профилю, здесь график делаешь, туда-сюда. Спорили, спорили, а в итоге дело кончилось совместной статьёй.
Миша Ройзнер: Отношения с преподавателями всегда были неформальными. Лёша Бродский, например, в бытность студентом ШАДа поспорил с Леной Буниной, кто из них раньше защитится (Лене предстояла докторская, а Лёше — кандидатская). Лена опередила Лёшу года на полтора, и за это он сводил её в бар на 43 этаже одного из московских небоскрёбов.
Елена Бунина: Граница «ученик — учитель» часто отсутствует. Во-первых, сплошь и рядом ситуация, когда преподаватель моложе студента. А во-вторых, у нас дополнительное образование — из-за отчисления никто не загремит в армию, поэтому отношения в целом более свободные. Такой подход даёт плоды: студенты не боятся высказываться и давать советы, и эти советы меняют школу к лучшему.
Сообщество
Елена Бунина: Первые пару лет нам было трудно найти семинаристов. Всё наладилось, когда появились выпускники. Можно было звать хороших ребят, и они с удовольствием вели семинары. Сейчас это самовоспроизводящаяся система.
Миша Ройзнер: В ШАД возвращаются не только для того, чтобы вести занятия. Программа меняется каждый год: добавляют новые курсы, переделывают старые. Если интересно, ты можешь, уже имея диплом, прийти в Школу вольнослушателем.
Игнат Колесниченко: Возьмём, например, курс по машинному обучению. Это область, в которой всё очень быстро меняется: то, что рассказывали нам, и то, что рассказывают сейчас, — совершенно разные вещи.
Елена Бунина: Два года назад мы с кураторами ШАДа, Стасом и Соней, решили, что нам тоже неплохо бы закончить Школу. Мы, само собой, были страшно заняты, и поэтому решили учиться на троих. Создали виртуальную студентку Лену Федотову, которая якобы поступила на заочное отделение, и поделили между собой курсы, которые ей надо было освоить. Во втором и третьем семестре мне досталось машинное обучение. Я знала, что основоположник курса — Константин Воронцов; он здорово читает лекции, но при этом совершеннейший теоретик. Практический курс машинного обучения составила команда семинаристов, которую Костя собрал вокруг себя. Этот курс, созданный людьми из сообщества, без участия отцов-основателей, оказался просто потрясающим. Я и раньше об этом слышала, но теперь знаю по собственному опыту. Кстати, да — ШАД на троих мы успешно закончили.
Традиции
Миша Ройзнер: В ШАДе есть кураторы — это люди, которые работают напрямую со студентами. Они занимаются не только учебно-организационными задачами, но и всякой развлекухой: водят народ в походы, устраивают игротеки, готовят праздники. Летом после первого курса отмечают экватор: это обычно пицца, напитки и квест с ребусами, который кураторы проводят где-нибудь недалеко от ШАДа.
Игнат Колесниченко: Многие шадовцы по натуре интроверты. Я к концу первого курса знал дай бог половину тех, с кем вместе учился. К тому же у нас вечернее образование — ты приходишь, слушаешь лекцию, участвуешь в семинаре, и всё, уже девять вечера, пора домой. А дома ещё и домашки решать. Чтобы помочь людям социализироваться, лучше узнать друг друга, нынешние кураторы ШАДа Стас Федотов и Соня Техажева проводят игротеки. Раз в несколько недель студенты, а иногда и преподаватели, собираются, общаются и играют в настольные игры.
Елена Бунина: Ещё одна традиция — отмечать выпускной у меня на даче. Она тоже ведёт начало от самого первого выпуска. Тогда это было нестрашно, выпускников-то всего 36 человек. А сейчас их сотня, так что помещаемся с трудом.
Десять лет спустя
Миша Ройзнер: Первых преподавателей в ШАД привлёк Илья Борисович. Сначала их искали штучно: смотрели, кто в чём силён, и приглашали. Со временем хороших людей становилось всё больше, они начали приходить сами. Это как снежный ком, который разрастается и разрастается. Стало престижным и учиться, и преподавать.
Максим Бабенко: Я пришёл в ШАД с кафедры логики на мехмате, и могу сказать, что в сравнении с вузами в Школе бюрократия сведена к минимуму. Не надо составлять программу курса за год до его начала, не надо заполнять кучу бумаг. У ШАДа больше охват: к тебе приходят люди не только из МГУ, но и из других хороших вузов.
Миша Левин: Манят свобода действий, умные студенты и отличные организаторы. Когда приходишь, есть ощущение, что это первое место, где сделали всё как надо.
Миша Ройзнер: ШАД не затевался исключительно как кузница кадров для Яндекса. Была цель развить научную среду — в России в целом и в Яндексе в частности. Сейчас можно сказать, что это действительно удалось. Мы больше не одиночки. Количество выпускников Школы перевалило за 600, и это люди, которые отлично справляются с наукоёмкими задачами и разговаривают на одном языке.
Максим Бабенко: В 2000-х годах в нашей области образовалась своего рода лакуна: были разрозненные люди, которые многое знали и умели, но в широких массах этого знания не было. Прошло время, сложился коллектив, появился общий язык, сформировалось сообщество — и лакуна исчезла.