Добротно и качественно - платформа, ведущие, процесс
Я занимаюсь экспертизой безопасности проектов автоматизации - вместе с продуктовыми командами проектирую и провожу приёмку программных продуктов, на разных языках. На Otus пошёл чтобы подтянуть институтские навыки по разработке ПО, чтобы поддержать себя в форме на экспертизе. За последние десять лет многое нового, что ещё руками не щупал, записался освоить. Сначала прошёл курс Spring Framework, потом CPP Pro, сейчас приступаю к отложенному на потом курсу Android Pro.
Расскажу как от меня видится обучение в Otus.
Образовательная платформа и инструменты
Образовательная платформа функциональная, гибкая, конструируемая. Например, если не успел на текущем потоке всё освоить, то могут перетащить на следующий поток с сохранением моих образовательных артефактов (сделанных домашек итд), они адаптируются перестраиваются под новый поток курса.
Порадовало что замечания и предложения по платформе, которые я давал год назад воплотились в жизнь. Например, я сетовал что в видео плеере не хватает возможности отмотать немного назад если не расслышал последнюю фразу (приходилось мышкой на оси времени пытаться попасть в нужное время) и уже в этом году в плеере появились кнопки +/- 15 секунд. Очень удобно. В плеере есть и другие полезные фишки, вероятно он активно развивается под влиянием студентов и созидающих преподавателей.
На время обучения дают инструментарий (зависит от курса) - лицензию на продукты Jetbrains (использовал IDEA для Spring, CLion для CPP, видел что для других курсов ещё и Яндекс Облако).
По каждому занятию выкладывают разноплановую дополнительную информацию - как по теме урока, так и факультативные видео-занятия по смежным темам. Это удобно когда хочу рассмотреть тот или иной вопрос ещё глубже.
В целом (за редким исключением) учебные программы толково подобраны - есть все актуальные направления по теме курса, без излишней детализации (без ухода в то что можно самому почитать и погуглить).
Ведущие занятий
Преподаватели от занятия к занятия периодически сменялись, так что сложные для понимания вещи рассказывались разным языком с разных сторон - сначала одним ведущим, потом другим, это способствует лучшему пониманию сложных тем, например таких как реактивного программирования или ORM.
Костяк занятий по языкам программирования, на каких я занимался, примерно такой: теория и применимые паттерны программирования, упражнения прямо на занятии, домашки - меткие чтобы прочувствовать язык, курсовой проект и его защита в конце курса. По всем языкам затрагивалась тема внутреннего устройства, реактивная составляющая, БД и сеть.
Слушателю дают самому выбирать уровень вовлеченности, так что я в зависимости от интересности конкретной темы урока шёл то глубже, то более поверхностно: просто смотреть занятия в записи, участвовать интерактивно в обсуждении и практике на занятии, обсуждать в чате опосля, делать или не делать домашки, созидать в курсовике или не вообще не браться за него.
Курсы на которых занимался
Курс "Spring Framework" - баланс презентаций / структурированного материала с одной стороны и практики - кодинга и анализа поведения сервисов с другой. Как пользоваться "магией" спринга, как всё изнутри устроено, освоить серьёзные инструменты на которых строятся такие платформы как Netflix. На занятиях лично мне очень зашли темы систематизации баз данных и ORM решений, транзакций и реактивного программирования. Отдельно отмечу дельные советы и разбор ведущими домашек прямо комментариями по строкам кода на github, на курсе Spring тема домашек сверх замечательно раскрыта.
Курс "CPP Pro" - разбор внутреннего устройства и нововведений CPP, олимпиадные задачки, на занятиях больше сидели в коде чем в презентациях (даже часть материала презентаций - текстом внутри кода). Наверное именно такое и есть программирование CPP, в моей команде разработчики CPP именно такие. Здесь лично мне очень зашли темы нововведений CPP и паттернов программирования, многопоточность и ML.
Курс "Android Pro" - дружественный интерфейс у преподавателя, наверное как сами мобильные приложения, при этом даже сложные вопросы ведущий показывают простым образом, как просветлённые растолковывают простыми словами сложные жизненные ситуации. Ровно как и мобильные приложения должны быть простые, дружественные и удобные для пользователей. По Андройд я только начал заниматься (всё откладывал его на потом), поэтому это пока только первое впечатление.