Программисты hand made: в Петербурге начали образовательный эксперимент

Сергей Иванов, ​декан факультета математики и компьютерных наук СПбГУ Сергей Иванов, ​декан факультета математики и компьютерных наук СПбГУ (Фото: Александра Сидоркина/РБК Петербург)

Спрос на «цифровые» профессии в России вырос в 14 раз за последние 10 лет, прозвучало на недавно завершившемся IDC Future of Work Summit 2019. В Москве и Петербурге растет число вакансий и уровень их зарплат, обостряется дефицит специалистов в области IT, констатирует HeadHunter Северо-Запад – средняя зарплата программиста с опытом работы от 1 до 5 лет в Петербурге превысила 108 тыс. руб., а по отдельным вакансиям достигала в сентябре 400 тыс.

В ответ на этот вызов бизнес усиливает свое участие в подготовке IT-специалистов вузами. Новый эксперимент поставлен в Петербурге: в СПбГУ с осени работает факультет математики и компьютерных наук, открытый в партнерстве с компаниями «Яндекс», JetBrains и «Газпром нефть». Конкурс на его программу «Современное программирование» оказался максимальным среди всех образовательных программ университета. Руководитель программы, представитель JetBrains Александр Куликов и декан факультета Сергей Иванов рассказали РБК Петербург, в чем типичные проблемы российского образования для IT-специалистов, как обучиться на программиста с высокой зарплатой и скоро ли IT-девелоперов вытеснят роботы.

ОБРАЗОВАТЕЛЬНЫЕ АНОМАЛИИ

Программа «Современное программирование» провела набор с рекордным конкурсом, хотя факультет только начал работать осенью. Значит, популярна не столько конкретная программа, сколько само программирование, как профессиональная область высоких зарплат?

С.И.:

У нас, действительно, на «Современное программирование» получился конкурс в 60 человек на место. С одной стороны, это значит, что, да, многим ребятам интересно программировать, с другой – на программе всего 25 мест, и большое число желающих совпало с маленьким набором. Произошла ещё одна аномалия: число абитуриентов, имеющих право на поступление без экзаменов – победителей всероссийских олимпиад и других особо отличившихся ребят – превысило число бюджетных мест. Это было обидно, потому что университеты конкурируют за таких поступающих, но они не «помещались» в бюджетные места. Тогда компании-партнеры пошли нам навстречу, и всех имеющих право поступать без экзаменов приняли за счет пожертвований. Что касается программы, то она реализуется не первый год, только теперь те же преподаватели делают это на новом факультете. В университете образовательная программа – относительно автономная единица: у нее свой учебный совет, свои студенты.

А.К.:

Наши абитуриенты делают выбор очень осмысленно. Они знали, что «Современное программирование» создали те же люди, что построили Computer Science Centre – это еще одна образовательная инициатива «Яндекс» и JetBrains, которую мы развиваем с 2010 года, там тоже большой конкурс. И конечно, известна Лаборатория Чебышева, из которой выросли и программа, и новый факультет. Это уже бренд.
Alexander Kulikov Александр Куликов, руководитель программы «Современное программирование» факультета математики и компьютерных наук СПбГУ (Фото: JetBrains)

Зачем СПбГУ третий факультет математики? Многие преподаватели выступали против, говоря о «разбазаривании ресурсов».

С.И.:

Изначально эту идею предложил основатель Лаборатории Чебышева, лауреат Филдсовской премии Станислав Смирнов. Руководство университета, как и IT-компании, его в этом поддержали.

Есть разные образовательные системы. Матмех СПбГУ придерживается классической немецкой системы: там есть кафедры, есть большой объем обязательных для изучения дисциплин, меньшая доля курсов по выбору. На новом факультете нет кафедр, у нас только индивидуальные траектории обучения. Каждый студент – как отдельный проект; его программа собирается из важных для него элементов, как конструктор. Даже сложно расписание составить. Когда нужно такой подход сочетать с классическим, возникает масса организационных неудобств. Кроме того, матмех – гораздо более масштабный факультет; там большие наборы. Наши группы – камерные, и мы принципиально хотим, чтобы они такими оставались. Маленький набор позволяет нам много времени уделять каждому студенту: лично принимать у студентов решения математических задач и периодически проводить code review (рецензирование кода).

Каждый студент – как отдельный проект; его программа собирается из важных для него элементов, как конструктор.

То есть это hand made подготовка?

А.К.:

Это камерная подготовка профи с крепкой базой, способных к решению нетривиальных задач.

Что такое крепкая база?

А.К.:

Сильная математическая база – и для математиков, и для программистов. Математическая база программистам нужна, в частности, для работы в таких областях, как машинное обучение и анализ данных. Поэтому открыть направления по анализу данных и современному программированию по соседству с бакалавриатом математиков — очень естественный, правильный шаг. Кроме того, необходимо, чтобы будущих практиков учили практики – в значительной мере. У нас на «Современном программировании» и «Анализе данных» больше половины курсов ведут действующие сотрудники JetBrains и «Яндекса». Плюс к этому, каждый студент делает практические работы – проекты – со своим ментором, тоже из бизнеса, уже за рамками курсов. На программе «Математика» доля практиков меньше, но и там программированию учат действующие программисты.

С.И.:

Вуз медленнее, чем жизнь и чем информационные технологии, в частности. Но, поскольку у нас набор небольшой, мы держим руку на пульсе. У нас нет такого, что нам говорят – вот стандарт, утвержденный 10 лет назад, извольте читать по нему. Мы переделываем программы дисциплин, чтобы они были современными. У нас в советах программ и математики, и профессиональные разработчики, в том числе из Google и Facebook, и в том числе из США. Так мы стараемся учитывать лучшие практики – не забюрократизироваться, не отстать от жизни.

ЗАЧЕМ ПРОГРАММИСТУ ГЕОМЕТРИЯ ЛОБАЧЕВСКОГО

Из ваших слов можно сделать вывод, что большинство российских программистов не знает математики.

С.И.:

Это так. Многие заканчивали технические вузы, где не дают теоретической математики. Там читают высшую математику на первых курсах, а это совсем другое. Вообще в стране не так много вузов, где хорошо преподают теоретическую математику, – не больше десяти. И во многих вузах есть еще проблема, что преподаватели недостаточно хорошо знают свой предмет. Отсюда низкий уровень выпускников.

Есть другая крайность – инженеров и программистов стараются ориентировать на конкретную работу; грубо говоря, на конкретный конвейер. Человек выпускается из вуза – тот конвейер уже разобрали, надо работать совсем на другом. Высшее образование нужно для того, чтобы человек быстро учился сложным вещам. Старый станок выбросили – новый построили, и хороший инженер переучится на ходу, потому что понимает принципы. Теоретические науки как раз формируют мышление, склонное к быстрому переобучению.

Меня периодически приглашают консультировать инженеров в тех или иных компаниях. Я вижу их узкое место: люди, погрузившиеся в свою технологию, забыли базовые вещи. Его тренировали нажимать на красную кнопку, потом на зеленую – пришло оборудование, раскрашенное иначе, и человек беспомощен. Один мой ученик пришел вспоминать с моей помощью геометрию Лобачевского – какой-то большой IT-компании она понадобилась в связи с кластерными построениями. Так что необдуманный прикладной фокус образования, начиная еще со школьного, это проблема: люди хотят учиться технологиям XXI века и не знают геометрии двухсотлетней давности. А она нужна.

Люди хотят учиться технологиям XXI века и не знают геометрии двухсотлетней давности. А она нужна.

А.К.:

Со своей стороны я вижу проблемы высшего образования для программистов в том, что у многих вузов есть установка: преподавать должен человек со степенью и публикациями. Но в IT более важно, чтобы учил практикующий профессионал. Вы можете сказать: вот программист, создавший продукт, который принес компании столько-то миллионов долларов – он еще и руководил командой, знает про лидерство, про рынки. Мы его уговорили учить студентов – ура! А вуз отвечает: где его публикации в академических изданиях? Здесь, в СПбГУ, мы постепенно научились эти вопросы обсуждать и решать. Но в целом в системе образования – это проблема. Она приводит к тому, что если программист все-таки устраивается преподавателем в университет, на зарплату, то ему говорят – теперь пиши статьи. И картина мира меняется: уже не важно быть на переднем крае технологий – важно иметь формально необходимые публикации. И постепенно всё приходит к тому, что программировать студентов учит человек, который сам давно не программировал.

КОГДА РОБОТЫ БУДУТ ПИСАТЬ КОД

Почему одни программисты получают 60 тыс. рублей, а другие – 400 тысяч, работая в том же городе? Чему надо учиться, чтобы получать 400 тысяч?

А.К.:

– Такого рецепта я дать не могу. Но программирование – крайне широкая область деятельности, и задачи различаются по характеру и сложности настолько, насколько контрольная для младшей школы может отличаться от докторской диссертации. Например, можно быстро научиться делать сайты-визитки или даже простенькие интернет-магазины (сегодня их можно даже почти одной мышкой как из конструктора собирать). Можно уже на втором курсе пойти зарабатывать таким образом. Но это не то, что стоит делать вместо учебы! Мы всегда будем говорить это нашим студентам.

Потому что, если таким заниматься, то останешься надолго на низшем уровне зарплаты. Пойдёшь на втором курсе делать простые сайты и получать за это, скажем, сорок тысяч рублей в месяц. Это будет на целых сорок тысяч рублей больше, чем будут получать твои однокурсники! Но вот только через два года эти однокурсники выпустятся и устроятся на сто пятьдесят тысяч в месяц, а ты так и будешь получать сорок. И сейчас люди приходят к нам в Computer Science Center, чтобы научиться много чему не освоенному раньше в вузе — в частности, той же математике. Чтобы вас приняли в ведущие IT-компании, надо успешно пройти не только технологическое интервью, но также интервью по алгоритмам. В некоторых компаниях на этом алгоритмическом интервью до 90% соискателей отсеиваются.

Возвращаясь к названным вами суммам, скажу, что на огромную зарплату берут людей с опытом и достижениями – обычно это люди, пришедшие из другой компании. Стандартный путь вчерашнего студента – расти с позиции junior-developer, в какой-то момент стать team leader, и так далее. Параллельно будет расти его зарплата. Но сначала важно доучиться. До недавнего времени существовала повальная практика – идти работать в IT со второго-третьего курсов; серьезно учиться до выпуска считалось экономически невыгодно. Я сам наступал на эти грабли. Я не делал сайты для интернет-магазинов, зарабатывал математическим программированием, но все равно потом жалел, что в вузе прогулял несколько важных учебных курсов. Экономически выгоднее получить базовые знания в том возрасте, когда их хорошо впитываешь и имеешь специально выделенное для образования время. Потом эти временные затраты быстро окупятся.

Экономически выгоднее получить базовые знания в том возрасте, когда их хорошо впитываешь и имеешь специально выделенное для образования время.

Сейчас ваша индустрия уникальна с точки зрения стоимости специалистов – надолго ли? В Индии уже начались увольнения программистов, и есть прогноз, что эта профессия окажется в числе исчезающих. Нейросети, роботы будут писать код – им не надо платить по 100-400 тыс.

С.И.:

Я читал, что волнуются таксисты, веб-дизайнеры, но не программисты.

А.К.:

Есть в массовом сегменте IT индустрии рутинные операции, которые пока почему-то не автоматизированы, и это вопрос ближайшего времени. За квалифицированных программистов я бы волновался в последнюю из всех профессий очередь – с каждым годом открываются новые большие области деятельности, в которых они востребованы. Какие-то профессии заменят роботами, конечно, и наши выпускники как раз и будут реализовывать этих роботов.

С.И.:

– Нейросеть сама себя тренирует, но ее архитектуру должен делать и совершенствовать специалист следующего уровня. Может быть, это будет робот, но пока не похоже. Сначала нужно, чтобы роботы научились открывать двери.

УНИВЕРСИТЕТ VS ОНЛАЙН-УНИВЕРСИТЕТ

Могут ли сегодняшние факультеты для программистов быть вытеснены онлайн-образованием?

А.К.:

Онлайн-образование не вытеснит университет никогда. Но оно будет все больше входить в университетскую жизнь. Я сам записал немало онлайн-курсов и уже читал специально подготовленный курс, в котором занятия онлайн и в аудитории совмещались. Я предлагал студентам смотреть лекции дома. Когда же мы встречались в классе, я фокусировался на их вопросах и наиболее сложных для понимания фрагментах темы. Для меня это ценно: не повторять несколько лет подряд одну и ту же лекцию, а углубляться в интересные аспекты, для чего аудитория должна быть предварительно подготовлена. Так что преподаватели никуда не денутся, но их время с помощью онлайн распределится более разумно. В онлайн-мире есть много минусов: часто есть ощущение, что ты послушал и все понял, но на самом деле не понял или, что хуже, понял неправильно.

В онлайн-мире есть много минусов: часто есть ощущение, что ты послушал и все понял, но на самом деле не понял или, что хуже, понял неправильно.

Но есть и колоссальные плюсы онлайн-образования. Студенты могут смотреть учебные видео каждый со своей скоростью. Профессор читает лекцию 20, а то и 100 слушателям. Лекцию по математике, физике, программированию половина аудитории не усваивает в том темпе, в котором она читается. Пересматривают дома конспекты, там ошибки, пропуски – с видео студентам легче. Плюс онлайн-образования еще и в широте того спектра качественных курсов, которые ты можешь прослушать. Вряд ли один университет может дать такой набор дисциплин, причем от лучших преподавателей, который доступен онлайн уже сейчас – а со временем будет в разы больше.

Но все равно эффективное обучение – это сочетание самостоятельных занятий с живым общением. Ты изучил материал – теперь нужно обсудить его с учителем, задать вопросы и понять, что изучать дальше. Также очень много дает общение с однокурсниками, особенно если учиться в хорошем месте – они станут профессионалами, работающими по всему миру, твоим социальным клубом. Так что университет не исчезнет никогда, я согласен, но и онлайн-университеты будут расширяться.

УТЕЧКА И ВОЗВРАЩЕНИЕ МОЗГОВ

О работе по всему миру: есть ли корреляция между качеством образования и скоростью эмиграции выпускников? Пытаются ли компании-участники образовательных программ привязать студентов к работе в своих российских офисах?

С.И.:

Такая закономерность, что лучшие уезжают – не все, но многие – есть. Российская математическая школа, одна из лучших в мире, сильно пострадала в последние десятилетия из-за «утечки мозгов». Но нередко наши талантливые ученые возвращаются, интегрируя приобретенный ими на Западе опыт в российскую науку. Мы не должны замыкаться в себе, обмен знаниями и технологиями крайне важен. Если мы будем стараться, большинство выпускников, поучившись в аспирантурах за рубежом, пройдя стажировки, вернутся работать в Россию. Мы стараемся, чтобы наш факультет стал одним из привлекательных для них мест работы.

Нередко наши талантливые ученые возвращаются, интегрируя приобретенный ими на Западе опыт в российскую науку.

А.К.:

Мы не требуем, чтобы студенты после выпуска обязательно шли работать в JetBrains или «Яндекс». Но многие студенты, конечно, сами этого хотят. Что касается «утечки мозгов», то большинство, по моим наблюдениям, едет не за другим уровнем образования или технологий, даже не за более привлекательным рабочим местом, а за более высоким качеством жизни в целом. Этому в рамках одной образовательной программы сложно что-либо противопоставить. В долгосрочной перспективе я искренне считаю, такое образование делает страну, ее экономику лучше – и работает на возвращение талантливых людей в Россию. В JetBrains есть немало специалистов с опытом работы в США и Западной Европе, которые пополнили российский штат компании.

Елена Кром
Опубликовано на сайте издания «РБК».