Обучение Software Engineering в России: возможно ли это? нужно ли это?
Как уже сообщалось, Университет Иннополис открыл новую для России магистерскую программу по Software Engineering (совместно с партнером, Университетом Карнеги-Меллон), что порождает много вопросов: что это, зачем это надо, почему в партнеры выбран Карнеги-Меллон? В этом топике мы собрали самые горячие вопросы и попросили ответить на них очевидцев – тех, кто проходит обучение по программе в настоящий момент. Есть вопрос, на который мы не осветили? Задавайте в комментариях!
Вместо предисловия
Хаб “Управление проектами” занимает 6 место в рейтинге хабра и ненамного отстает по популярности от непосредственно “Программирования”. Тем не менее, создается ощущение, что управление разработкой это что-то мифическое, вроде единорогов. Все вроде знают, что это где-то используется, многие слышали, что это важно, но мало у кого есть четкое понимание – как именно это эффективно использовать и где и как этому научиться.
Чтение комментариев хабра показывает, что очень мало у кого есть четкое понимание методологий разработки. Например, тут обсуждение быстро приходит к тому, что между людьми нет однозначного согласия в том, что такое Agile. При этом хабраюзер FurryCat высказывает непопулярную, но очень разумную идею о границах применимости гибкой методологии. Студенты, изучающие информационные технологии в России, да и зачастую разработчики с опытом, часто не понимают, зачем вообще нужно изучать все эти “менеджерские” дисциплины и методологии (здесь они обычно кривят лицо, выражая сомнение и непонимание).
Тем временем, за последние 30 лет наука о том, как реализовывать успешные софтверные проекты, существенно продвинулась вперед. Были изданы тонны литературы на эту тему, а MIT, Stanford University, Carnegie Mellon стали признанными мировыми лидерами в подготовке таких специалистов, если исходить из востребованности выпускников и их зарплат. Несколько иное отношение к этому вопросу наблюдается в России – хотя не везде: в крупных российских профессиональных компаниях-разработчиках таких вопросов нет. Специалисты – менеджеры по разработке ПО самые дефицитные в отрасли (по результатам исследования, сделанного в 2012 году при создании Университета Иннополис).
Для решения проблемы дефицита кадров в этой области Университет Иннополис осуществляет перенос и доработку программы университета-партнера (CMU). Выпускники программы будут знать, как технологически создать ПО и смогут стать тимлидами, менеджерами проектов, аналитиками.
Ниже мы постараемся прояснить ситуацию, ответив на возникающие вопросы. Повторюсь, что если у вас возник вопрос, на который вы не найдете ответ ниже – задавайте в комментариях – я обязательно на него отвечу.
Зачем это нужно?
Кто является целевой аудиторией программы?
Кто точно не является: гениальный программисты с аллергией на слово менеджер, которые любят писать код ради того, чтобы писать код и не очень любят думать о конечном продукте.
Кто является: специалисты с опытом работы в IT от 2-3 лет, которые уже понимают, что написание кода – это лишь 20-30% от временных затрат на создание продукта и чувствуют недостаток знаний в том, как добиться выпуска продукта в срок, с соблюдением бюджета и с должным качеством.
Как уже было сказано — учить программировать в CMU точно не будут.
Чему там учат?
В рамках программы по Software Engineering учат, как ни странно, Software Engineering. Только вот для большинства людей это не ответ, потому что мало кто в России понимает, что это. Большинство знает, что такое Computer Science, а вот что такое Software Engineering?
SE — это то, что обсуждается в хабе “Управление проектами”. А именно: сбор, формализация, уточнение требований; цикл разработке софта: итеративный, инкрементальный подход, спиральный подход; формальные процессы разработки: Agile(XP, Scrum, etc) Waterfall, RUP, методики планирования, архитектура, тестирование и многое другое. Вы можете найти список курсов на офф сайте.
Наука есть? Или какая-нибудь годная инженерия?
Если говорить о науке в рамках программы, то почти по каждому предмету можно взять так называемый independent study — результатом которого по окончании семестра должна быть публикация.
Насчет инженерии — спорный вопрос и зависит от того, что под этим понимать. Если рассматривать только базовые предметы, то получится пополам управленческой и технической стороны инженерии, но можно добавить курсов по выбору и уйти более в техническую часть, став technical lead вместо team lead.
А вообще, управленческая часть здесь очень здравая и полезная, в российских технических вузах (например, на Физтехе) такому не учат.
Мне кажется, более-менее можно это потом прикрутить к созданию собственных стартапов
Да, для стартапа полезно будет, но стартап — это не про код. Хорошо будет ещё тематическими курсами добрать. Возможностей для развития собственного стартапа здесь очень много: даже за один год можно понять что к чему, найти людей, посетить различные хакатоны-конкурсы-акселераторы и начать разрабатывать свою идею.
Кроме того, в Университете Иннополис в ближайший год-два будет создан свой IT-инкубатор и офис трансфера технологий.
Насколько и почему CMU лучше топовых отечественных университетов (скажем, МГУ, МФТИ)?
Отличный вопрос. Но возникает встречный вопрос: А как сравнивать?
Программа MSIT-SE в CMU имеет почти нулевое пересечение с множеством предметов на физтехе (МФТИ). Так что сравнение вряд ли корректно.
Кстати, нам на данный момент известно весьма небольшой количество российских высших учебных заведений, обучающих культуре управления разработкой. Если же попытаться сравнить с ними, то сравнение опять будет некорректным: в России это обычно один-два предмета на протяжении всего времени обучения. В Карнеги — это полновесная магистерская программа.
Стоит ли вся бюрократическая/визовая морока того, чтобы терять свою зону комфорта и неплохой заработок программиста в РФ ради года неопределенности в США?
Выходить из зоны комфорта полезно всегда. Если вы не готовы – это не для вас. КМ – это не неопределенность, это возможность познать новое. КМ – это для тех, кто «засиделся» на работе, уперся в «стеклянный потолок». Для тех, кто хочет развития.
Про Иннополис
Где подвох? 3 млн руб. – очень немалая сумма за год обучения, плюс вы гарантируете трудоустройство в одной из лучших российских компаний – как-то слишком хорошо, чтобы быть правдой. Что требуют в обмен на все это? Зачем компании платить такие деньги студенту, что она от этого получит? Что конкретно покрывают выше обозначенные 3 млн?
«В обмен на все это» Вы должны будете по окончанию программы проработать в компании, оплатившей ваше обучение (в том числе, в Университете Иннополис) 2-3 года. «Выше обозначенные» средства покрывают плату за обучение и все расходы, связанные с этим обучением: проживание, питание, страховку, перелет и т.д.
Могут ли потребовать деньги назад?
Могут, в случае отчисления.
Где конкретно я буду работать после Америки?
Университет Иннополис (Казань/Иннополис) или в компании-партнере, оплатившей ваше обучение/ стипендию.
А если я найду работу и останусь в Америке?
В этом случае все расходы по вашему обучению вы возмещаете сразу, например, при помощи вашего нового работодателя в Америке, или кредитов.
Быт
Хватает ли стипендии и на что?
Иннополис в настоящий момент выплачивает стипендию в размере 34800 рублей в месяц.
• Если не готовить еду самому, то на еду уходить 500-600 долларов в месяц.
• Если готовить, то примерно 500 долларов на двоих.
• Жилье оплачено Иннополисом, приходится платить лишь за электричество, воду и прочее — примерно 150$ на человека в месяц.
• За отопление зимой выходит очень дорого, почти 70 долларов на человека.
• Ну и что-то остается — съездить в Нью-Йорк на выходные, сходить на концерт или в бар и другие небольшие развлечения.
С какими бюрократическими процедурами было больше всего проблем?
Самая большая проблема с Америкой это всегда получение визы. У нескольких студентов выпала административная проверка, что задержало получение визы на почти месяц.
Обучение
Чем отличается система обучения от стандартной Российской
Типичное распределение нагрузки в российском вузе имеет пилообразный характер, которое неплохо выражено в фольклоре: “От сессии до сессии живут студенты весело”. Расписание в Карнеги-Меллон может с непривычки удивить двумя предметами в день и вызвать типичную реакцию “ха, да это ж халява”. Но это не так: нагрузка составляет 60 часов в неделю включая лекции и это реальная нагрузка. Зато там нет ярко-выраженной сессии.
Групповые проекты. Групповые проекты — особенность образования, которая не представлена в российском образовании. Важность наличия групповых проектов сложно переоценить. Для многих становится откровением — как это, оказывается, не просто делать одно дело вместе с кем-то.
Ну и, наконец, возможность брать курсы по выбору (электив): подробнее об этом написано в блоге одного из студентов тут и тут.
Могу ли я набрать 10 дополнительных курсов?
На перебор часов — т.е. ситуацию, когда суммарное количество курсов стоит больше 60 юнитов — нужно официальное разрешение от advisor.
Например, в первом семестре обычно разрешают брать только 1 электив, иногда еще один курс как аудит (посещение без оценки).
Основная причина почему ограничивают количество курсов — это реальная учебная нагрузка; если курс 12 юнитов — то это действительно 12 часов работы в неделю.
Действительно занимает 60 часов?
Зависит от обучаемого и его личных качество/ способностей. По моделям (Models of Software System) вместо 12 часов технически подкованный потратит часов 6.
Нюанс в том, что 12 часов в неделю для 12-юнитового курса — требуется для получения оценки B или B+ в итоге. Если есть желание получить более высокую оценку, извольте тратить сильно больше времени.
Также зависит от элективов. Некоторые элективы очень времязатратные — все 20 часов в неделю, без преувеличения. Некоторые очень легкие и занимают часов 6.
По сравнению с 1м курсом Физтеха, чтобы все А+ были, что надо делать?
Есть тут один индус, который практически не вылезает из лаборатории. Наверно у него будут все А. Но вряд ли будут A+ — для этого нужно сделать что-то фантастическое.
Если сравнивать с первым курсом физтеха — возможно времени надо больше, но сложность ниже, не матан всё-таки. Хотя сравнивать эти курсы не совсем корректно.
На что уходит так много времени?
1. Чтение книг. Иногда можно и не читать, но без них непонятно.
2. Индивидуальные задания. Анализ чего-либо и написание своего решения (в основном различные case study). Так как результат не детерминирован, то могут занимать недетерминированное количество времени.
3. Групповые задания. Часто надо делать достаточно много работы. Очень важна работа в команде и грамотное распределение задач. Если команда хорошая, то на координацию уходит не так много времени, но я видел команды, у которых очень большие проблемы с этим.
Почти все задания — письменные отчёты от 1 до 10 страниц. Плюс презентации и различные тематические проекты на некоторых курсах. Основная причина почему уходит много времени — это ожидание высокого качества работы. Хороший ответ должен быть обоснованным, логически законченным и учитывать все нюансы задания. Кроме того, при проверке учитывают грамматику и стилистику.
А прогать, прогать-то надо?
Нет. На основных курсах почти не надо, зато на элективах может быть под 60% кодинга.
На практикуме количество кодинга зависит от проекта и того как команда распределит задачи.
Поступление
Какие требования к тем, кто хочет попасть в программу
Все требования подробно расписаны на официальной странице программы. Последний день подачи документов — конец декабря. У вас еще есть шансы, дерзайте!
Действительно ли необходим нотариально заверенный перевод?
В ВУЗах (например, МФТИ) в международном отделе делают перевод и заверяют его. Но вообще, американской стороне скорее всего не важна печать нотариуса.
В международном отделе лишь ставят подпись “Переводчик одобрил”, которую потом может заверить нотариус, но естественно этим никто не занимается. Те, кто уже вышел из студенчества, наверно могут поставить подпись любого переводчика (или сами подписать), так как я не представляю, как американская сторона проверит это.
Сколько баллов по toefl/ielts нужно набрать?
Требование CMU — не меньше 100 TOEFL / 6.5 IELTS, хотя для “хороших” ребят есть возможность поступить и не с таким высоким баллом. Но не менее 22 по любому из 4 разделов TOEFL.
Насколько высокая компетенция в английском языке требуется для фактического обучения?
При поступлении на программу в CMU ожидается, что студент не имеет проблем с чтением и пониманием английской речи, может более-менее бегло выразить свои мысли устно и написать грамотный текст. Кроме TOEFL это проверяется на этапе устного собеседования и при подаче документов (например через motivation letter).
Другие публикации по теме
1. Интервью Дениса Анисимова, одного из студентов, обучающегося по программе.
2. Официальный сайт программы.
3. Блог Никиты Чепанова, другого студента, обучающегося по программе.
Автор: GrayStray