Отзывы
Максима Шелестюк
Вот и завершился курс. Во-первых курс не для новичков - не пришлось тратить время на выслушивание того, что такое list, tuple, with и т.п. Во-вторых рассматриваются несколько сфер, где актуален Python. Django/DRF был лишь одной из них. Половина времени посвящена Data Engineering и Highload. Теперь понимаешь как это устроено в продакшене, видишь картину целиком. На лекциях иногда возникали вопросы, которые Станислав не оставлял без внимания. Всегда можно было обратиться за разъяснением в чате. Что особенно понравилось, так это ДЗ. Задачи были максимально приближены к боевым условиям, и их решения тщательно проверялись. Редко удавалось с первого раза разделаться хотя бы с одним - в ответ Станислав присылал замечания, буквально построчно указывая что не так. В целом курс оказался довольно сложным и занимал довольно много свободного времени, но при этом ни разу не появлялось сомнений по поводу ценности получаемых навыков и знаний. В итоге курс полностью оправдал мои ожидания, за что я благодарен команде Отус и лично Станиславу за отличный материал и терпение.
Эльвира Родных
Я мог бы отметить два момента, которыми данный курс выгодно отличается от тех вариантов, что я видел раньше: 1. Объемные ДЗ-проекты, которые часто либо надо писать с нуля, либо очень существенно перерабатывать на базе базового примера (но в последних случаях все равно получается что 90% кода дописывается с нуля). По моему мнению только так можно повысить свои навыки программирования. Никаких "вставьте ваш код здесь", которые дают лишь иллюзию освоения нового материала 2. Очень широкий и глубокий охват возможностей языка: анализ CPython, тесты, асинхронность, мультипоточность, Django, немного numpy и pandas, C extensions итд. Если до курса был небольшой опыт с Python то становится понятно в каких направлениях дальше развивать навыки, но даже для опытных разработчиков это хороший курс для систематизации знаний и иненсивной тренировки в тех областях, где есть пробелы В целом на мой взгляд этот курс один из лучших вариантов по соотношению цена-качества для тех, кому нужно без отрыва от работы улучшить свои навыки разработчика Python.
Зиновия Ословский
Наткнулся на описание курса по DevOps совершенно случайно, но по стечению обстоятельств в нужный момент - я тогда активно внедрял Ansible в своих рабочих проектах, немного использовал Docker для окружения в разработке, имел обрывочную информацию о Hashicorp Stack (Packer, Terraform, …), что-то слышал про Kubernetes - в первую очередь благодаря подкастам DevOps Deflope и Hangops.ru. Одновременно с этим я понимал, что мои знания не систематизированы и хаотичны, хотелось всё разложить по полочкам. Я в первую очередь разработчик, а не системный администратор, у меня не было желания и времени углубляться в темы администрирования Linux, но хотелось владеть базовыми инструментами на стыке Dev и Ops. Прочитав программу курса, я выделил для себя темы которые были однозначно актуальны (Ansible, Docker), и прочие для расширения кругозора. Финальным аргументом "ЗА" стало то, что среди преподавателей увидел знакомые имена из подкастов про DevOps - к этим ребятам уже было какое-то доверие. Я проходил курс с первым потоком (первым набором) и иногда это было заметно, материал курса проходил проверку боем впервые. Иногда в материалах были ошибки или опечатки, но они быстро разрешались либо смекалкой, либо обсуждением в Slack чате, чувствовалось что ведущие курса реально переживали за своё дело, старались помочь, разъяснить, исследовать возникшие проблемы - честно говоря, я такого не ожидал! Сквозной нитью через весь курс проходит некое приложение, аналог Reddit, инфраструктуру для которого мы постепенно описывали и разворачивали различными инструментами. Практические занятия на мой взгляд составляют 80% всей ценности в этом курсе и составлены они весьма хорошо. Представляю какой титанический труд был проделан для проектирования и описания всей этой учебной инфраструктуры в методических материалах. Самой большой трудностью для меня было то, что часть учебного приложения написана на Ruby и puma, с которыми я никогда не работал и не имею никакого опыта. Править код приложения не требовалось, но были сложности с установкой и настройкой system сервиса puma с использованием rvm - эта часть была задана как ДЗ. Через час слепых попыток по мотивам ответов на stackoverflow я понял, что просто теряю время. Разбираться с нюансами запуска Ruby мне было совершенно не интересно и не практично, я посмотрел как выполнили это задание мои коллеги по курсу (другие студенты) и просто использовал их решение. Таких моментов было несколько - не стеснялся брать чужие решения, если считал тему не интересной для собственного глубокого погружения. Домашние задания обычно содержали основную задачу и дополнительную задачу "со звёздочкой", которую можно выполнять по желанию. И тут опять же - некоторые мне были реально интересны и я погружался в тему, а некоторые задания "со звёздочкой" пропускал, чтобы не тратить время и идти дальше. Большую часть лекций я смотрел в записи, т.к. время online вещания лично для меня было не удобно. Кажется, всего 3 лекции я посмотрел в режиме реального времени. И так оказалось даже лучше. Во-первых, записи я смотрел с ускорением 1.25-1.5 - очень экономит время без ущерба восприятию материала. Во-вторых, мог ставить на паузу, некоторые лекции смотрел в метро по дороге. По ходу курса я сильно отстал, пропустил около 1,5 месяцев, но не чувствовал себя "за бортом" и получал помощь и полезные советы от преподавателей на ровне со всеми. Судя по чату, больше меня отстал всего один человек и это даже как-то подбадривало, что я не самый последний. В конце курса был дипломный проект, по желанию, но для тех кто сдал домашние работы по 23 лекцию включительно (всего лекций было около 30). Я поставил себе цель наверстать всё вплоть 23 лекции и переходить к проекту, чтобы успеть до окончания. Таким образом я пропустил последнюю часть курса про Kubernetes, зато успешно поработал над дипломным проектом. В качестве дипломного проекта предлагалось готовое приложение, которое нужно было развернуть в Google Cloud Platform с использование лучших практик и полученных знаний, Выбор конкретных инструментов оставался за студентом. Как вариант, можно было использовать своё собственное приложение. Я взял своё приложение, над которым трудился по работе. Сначала описал предполагаемую архитектуру и обосновал выбор инструментов в отдельном документе в Google Docs, расшарил в Slack чате, получил пару рекомендаций, начал работать. Как я быстро обнаружил, дипломный проект является важной частью обучения - это закрепления материала. Пересматривая слайды старых презентаций и выполненное мной когда-то ДЗ, некоторые темы открывал для себя в новом свете. И, хотя эти темы были давно пройдены, я не стеснялся задавать свои свежие вопросы в чате и получал помощь от коллег-студентов и преподавателей. По ходу дипломной работы пришлось уменьшить амбиции касательно архитектуры, иначе я бы просто не успел к сроку показа первой версии. Успел! Дмитрий Мищенко, один из преподавателей, сделал очень подробное ревью первой версии, показал слабые места в архитектуре, за что ему огромное спасибо! В итоге я успешно сдал более-менее работающий проект, получив зачёт. А ещё через пару недель, доведя всё до ума, вывел этот проект в production, ведь это с самого начала была реальная живая задача по работе, которая к тому же прошла тщательное ревью специалистом из Express 42. Думаю, если бы я нанимал компанию Express 42 в качестве внешних консультантов на проект, их работа могла бы оказаться дороже, чем я заплатил за курс обучения на Otus. Такой лайфхак, берите на заметку ;) Пропущенные лекции и ДЗ по Kubernetes так и лежат на моём компьютере, возможно, я к ним вернусь, но уже без возможности получить проверку домашней работы. Зато чат остаётся активным, думаю, всегда смогу задать вопрос и получить совет от бывших студентов или даже от преподавателей. В конце курса выдаётся сертификат. Наверное, он доступен где-то в личном кабинете, но, честно говоря, не знаю зачем он мне мог бы пригодиться. Также по было предложение пройти собеседование в одной из компаний-партнёров или даже во всех (этот момент не очень понял - действительно можно было напроситься на собеседования ко всем компаниям партнёрам?). Я отказался, т.к. вакансия DevOps инженера меня не интересовала, я лишь хотел подтянуть свои знания современных инструментов, чтобы стать более эффективным и полезным как разработчик. В общем, материалом курса и самим процессом остался очень доволен. А результат, в частности реально запущенный проект, превзошли все ожидания! Рекомендую, чтобы не тратить время на самостоятельный сбор информации по современным DevOps практикам, запишитесь лучше на курс, очень эффективно всё разложат по полочкам. Плюс сейчас уже материал обкатан и отшлифован с учётом прошедших потоков. И слушайте подкасты - интересно, не напряжно и расширяет кругозор!
Тереза Постригань
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса проводиться День открытых дверей, где можно лично задать вопросы по курсу и более подробно ознакомиться с программой. Я бы хотел по порядку разобрать основные составляющие курса. Программа. Изначально конечно в голову закрались сомнения, а есть ли смысл слушать лекции по программированию, которые затрагивают самые азы (типы данных, например), но как говориться повторение – мать учения, решил слушать, и не пожалел. Разбирали действительно все детально и домашние задания очень интересны, одно задание по замеру работы разных сборщиков мусора чего стоит. Приятно, что в программу включены Hibernate и Spring, хоть и основы, но этого действительно достаточно, чтобы понимать в какую сторону копать в случае чего. Достаточно было и сносок на дополнительный материал расширяющий тему урока. Преподаватель. Не знаю, стоит ли указывать тут сторонние обучающие ресурсы, но скажем так с лекциями Виталия я знаком уже давно. Всегда нравилось, что Виталий приводит много примеров из жизни. Лично для меня это огромная проблема в программировании, я могу что-то выучить, понимать как это работает, но абсолютно не знать, где это применить Все объяснения доходчивы и понятны. Постоянно спрашивает, о чем бы хотели дополнительно послушать ученики. Примеры с кодом есть на каждую тему и мы даже несколько раз ставили эксперименты прямо на лекциях, пытаясь что-то сломать, было довольно интересно. Команда OTUS Тут много я не скажу, так как особо и не сталкивались. Но из личных наблюдений, все вопросы в общем чате для программистов решались и довольно в короткие сроки. Команда очень лояльна к ученикам и идет на встречу. Так что, если есть какие-то вопросы или сомнения всегда можно обращаться. Минусы. Те минусы, которые я могу отметь, насколько мне известно, уже исправлены. Например, платформа. Первые лекции были довольно не стабильны, но команда Otus.ru довольно быстро нашла аналог, который устроил всех. Все программисты относились к этому с пониманием, т.к. мы были первым набором, так сказать первопроходцами Второй минус даже вовсе и не минус, а скорее неудобство – один преподаватель. Будущим группам повезло, у них, насколько я знаю, будет два преподавателя. В основном это относиться к проверке домашнего задания, на проверку уделялось 48 часов и, если есть замечания к решению, есть шанс не сдать в срок, т.к. исправленную версию вновь отправляешь на проверку. Хотя к этому относились также лояльно и никто не ругался, тут скорее проблема в моем перфекционизме, нужно все сдать в срок Результат. Через несколько дней я выхожу на работу в Москве именно в ту компанию, где хотел работать. Все интервью организовывали сотрудники Otus, так что результатом я конечно доволен На собеседованиях кстати пригодились те самые знания о сборщиках мусора, о которых я говорил ранее. Так что хотелось бы поблагодарить еще раз всю команду Otus.ru за профессионализм и работу, а также всех ребят с курса за интересные обсуждения и за то, что делились своими знаниями. Я продолжу следить за курсами и если будет что-то интересное для меня, обязательно приду снова!
Радость Кречникова
По сути, этот курс даже не про Python, а про решение реальных задач в реальном боевом окружении. Мое любимое слово, которое постоянно сопровождало меня в течении всего процесса обучения, — хардкор. А если более развернуто, то ощущения примерно такие, словно устроился на подработку, и тебе на выходные кидают реальные таски, которые надо закрыть. Это тяжело и требует времени, но при должной мотивации, такой подход работает очень эффективно. Что понравилось: - Большинство заданий курса — практически продакшен или близкие к нему задачи. - Очень широко раскрывается тема об особенностях многопоточной и многопроцессорной обработки на Python. - Отдельная большая тема посвящена интерпретатору CPython. Понимание того, как работает сборка мусора, GIL и другие особенности реализации, помогают намного более адекватно оценивать Python как инструмент решения задач, для каких он подходит, а для каких нет. - C и Go — наличие компилируемых языков на курсе по Python поначалу выглядит странно. Но после понимаешь, что связка C и Python позволяет решать практически любой круг задач, а Go приближает это значение к 100%. Плюс было очень интересно решить одну и туже задачу на Go и на Python и посмотреть разницу в концептуальных подходах и производительности. - Numpy и Pandas — очень эффективные инструменты не только для анализа данных, но и для текущей работы и даже повседневной жизни. Их знание как минимум будет не лишним. - Общие лекции о проектировании и построении сложных и отказоустойчивых систем. Сразу скажу, что объективных минусов у курса нет, но если оценивать субъективно, я бы обратил внимание на следующие вещи: - Стоит больше внимания уделить асинхронному программированию, которое в курсе затрагивается достаточно поверхностно. - Я бы уменьшил количество лекций по Django в пользу того же асинхронного программирования или переделал бы их структуру. Для людей которые с Django до этого не работали (типа меня) от лекций мало пользы, слишком advanced, а для тех кто хорошо знаком с этим фреймворков, возможно, этот материал будет и так очевиден. Подводя итог, хочу сказать Станиславу большое спасибо за отлично проведенный курс, фидбек по задачам и великолепно проделанную работу по сбору и подготовке материалов. Надеюсь, что запаса его мотивации и энтузиазма хватит еще надолго!
Алиса Коккинаки
Как много курсов посвященных "Advanced Python" вы знаете? До появления OTUS я не встречал ни одного подобного курса. Иногда можно услышать: "Зачем мне курс? Все материалы можно найти в сети". Это правда, но ценность материалов без классного ментора и хорошей практики резко падает. Станислав отличный ментор, а уж над практикой точно придется попотеть. Поначалу немного смущало, что в курсе используется Python 2.7, но в итоге быстро понимаешь, курс не завязан на версию языка (да и Станислав при необходимости делает ремарки Py2 vs Py3). Web/Data Science/Highload - плотность материалов очень высокая, поэтому советую быть готовым к тому, что придется уделить курсу достаточно много времени (особенно домашкам посвященным C extensions и Golang). Важно то, как сами преподаватели относятся к своим курсам. Стас дает хороший фидбек, после его code review иногда приходилось еще на несколько часов засаживаться за домашку. К концу курса на свой код смотришь уже немного другими глазами. В итоге могу сказать, что курс отличный :)
Северина Гавето
После прохождения курса я приобрел, во-первых, понимание того как python устроен и работает вплоть до погружения на уровень кода интерпретатора, что собственно, помогает уяснить с какими нюансами можно будет столкнуться при использовании языка в целом (что полезно для проектирования приложений, профилирования кода и т.п.), а также получить опыт создания C-extentions для специфических задач расширения функционала python. Во-вторых, практику в написании качественного кода (иного просто не зачтут) для самых разнообразных задач с которыми можно столкнуться при эксплуатации языка в продакшн среде для разных областей применения: Web, DataEngineering, HighLoad и т.д. Задачи которые придется решать в ходе обучения не высосаны из пальца, они имеют под собой вполне реальную основу, т.е. с чем-то похожим можно будет вполне реально столкнуться в процессе будущей деятельности. Как и подобает курсу Advanced, курс сложный, иначе о росте не могло бы быть и речи, нужно будет приготовится к очень серьезной работе. Однако, приложенные усилия будут вознаграждены. Лично я вижу разницу в написании собственного, понимании чужого кода до и после курса, она существенна, так что не жалею о приложенных усилиях, потраченном времени и средствах, все окупилось сторицей. В общем, если есть желание поднять собственный уровень разработки на python, здесь у вас будет такая возможность. Дерзайте и успехов.
Марьина Федосимов
Здравствуйте. Я уже много раз благодарил за курсы, но хочу это сделать еще раз - многие курсы, что сейчас есть в рунете, довольно поверхностны и дают только основы. Ваши курсы как раз дают более глубокие знания по программированию. Сам курс очень интересен, но мне не хватило домашних заданий - нет, сами задания интересны и их довольно много, особенно последнее, но, к сожалению, они не охватывают весь материал. Виталий - высококлассный специалист и преподаватель, думаю, ради него многие и записались на курсы. Честно, устроенные собеседования, хоть и были объявлены, стали сюрпризом, так как не верилось, что такое возможно. Часть собеседований и выполнение тестового задания сорвалось по личным обстоятельствам. Сейчас прохожу несколько финальных собеседований - есть маленький шанс получить первую работу в Москве в сфере программирования. Хотелось бы более углубленные темы по Spring/Spring MVC/Spring Boot/Hibernate/Сокеты/Обмен данных по сети или интернету/более больше данных по ConcurrentCollection. А так - буду советовать Ваши курсы. Очень хочется отдельный курс по тем темам, что написал выше + Java ee (в части, которая наиболее востребована сейчас работодателями).
Лариса Сайфина
В целом впечатление о курсе положительное, курс был очень полезен для меня. Как недостаток (или особенность) хотел бы отметить то, что чувствовалась изолированность от группы. При выполнении заданий казалось, что ты один на один с преподавателем (чат в slack не очень спасал в этом плане). Мне кажется, что общение между студентами через code review дало бы хороший эффект. Сначала преподаватель проверяет задание, принимает его, а потом студент должен еще посмотреть, выдать комментарии/замечания по двум-трем выполненным и принятым работам. Также Виталий упоминал, что хорошо бы делать "выставку интересных работ" - тоже, думаю, что стоит, но не понятно в каком формате, т.к. набираются долги за всё время курса и некоторые задания сдаются в конце. Хорошо было бы добавить блок теоретических вопросов по каждой теме (но об этом Виталий тоже уже говорил). Работу над проектом начинать в середине курса (месяца с третьего), а не в конце. О преподавателе хочется отметить - грамотная речь. Вроде незначительно и само собой разумеется, но в русскоязычном Java-мире есть технически грамотные личности, выступления которых порой невозможно слушать из-за обилия паразитических слов. А вебинары OTUS я мог спокойно смотреть, находясь с ребенком в одной комнате, и не боясь, что Виталий выругается или скажет какое-нибудь "крепкое" слово.
Градислава Чейченец
До поступления на курс я программировал на Java от случаю к случаю. Для меня курс во многом стал отправной точкой в систематизации и расширении собственных, уже имеющихся знаний. С абсолютной уверенностью могу сказать: после окончания обучения мои навыки использования Java перешли на новый уровень, в первую очередь этим я благодарен авторам курса. На мой взгляд, курс достаточно интенсивный, о чем, в принципе, заявлялось на старте обучения. Не всегда получается детально погрузиться в изучаемую тему, отчего могут оставаться пробелы в знаниях. Поэтому важно периодически самостоятельно возвращаться к изученным материалам, где хорошую помощь оказывают записи всех прошедших лекций и семинаров. По моим ощущениям, проектный месяц получился достаточно скомканным: не удалось получить достаточной обратной связи по проекту. Думаю причина заключается в том, что у многих учеников скопились долги, и весь преподавательский ресурс ушёл на их проверку. Я считаю, что на последнем месяце преподавателям стоит отдавать приоритет работе с проектами, иначе получается, что ученики, которые сдали все задания вовремя и перешли к работе с проектами, стали заложниками долгов остальных учеников. Отдельно хочу отметить, что вся серия пройденных интервью, на которые я попал, дала мне определенный положительный опыт.
Вильгельм Парнова
Курс OTUS "Разработчик Java" был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю - для того чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск. Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания. Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!
Фотина Саинская
На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу. Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например тема про GC - были теоретические знания, но без практических навыков). Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя. Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java. После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс) На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.