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