Отзывы
Все
Андрей Акопов
На данный момент я работаю Oracle разработчиком. Так как в нашей стране происходит импортозамещение и все госы уходят от данной СУБД, а так же современные веяния убирают всю бизнес логику из базы данных, для меня остро встал вопрос перехода на более современные и актуальные технологии. Работодатель сам предложил в рамках переквалификации выбрать курсы и оплатить их, и после советов знакомых и коллег выбор пал на Otus, а именно на Kotlin Backend Developer Professional. Таким образом я сохраняю своё основное направление - бэк разработку, но уже на уровне веб приложения, а не БД. Мне понравилось как составлен курс, практические домашние задания это не просто набор задач, а небольшие составляющие, из которых складывается выпускная работа, которую в конце нужно показать и защитить. Это давало бОльшую вовлечённость в то что я делал. Лекции обычно разбиты на две части - теория и лайв. Преподаватели являются практикующими разработчиками в крупных конторах, один даже из jetbrains =)) Всегда есть обратная связь, как во время лекций есть специальные перерывы на вопросы и обсуждения, так и вне занятия в общем чате можно задать вопрос и не остаться без ответа. Кроме этого есть практические занятия примерно раз в 5 лекций, которые посвящены только вопросам, обсуждениям и консультациям по ДЗ. Курс затрагивает множество актуальных тем, cовременных технологий (ktor, spring boot, kafka, sql/nosql/графовые БД и тп ) и подходов к разработке (за паттерн CoR Сергею отдельный респект, мне понравился, буду его применять). Обратная сторона того, что на курсе рассматривается так много тем - неглубокое погружение в каждую из них. Это очевидно и ожидаемо, есть курсы которые один спринг изучают по пол года, потому что это отдельный мир, да и курс не про спринг, а про подходы к разработке, поэтому не надо ждать, что курс сделает из вас гуру кафки или спринга. Но я бы увеличил продолжительность курса, например до 8 месяцев или его интенсивность - не по 2 лекции в неделю, а по 3, что бы лучше раскрывать каждую из тем. На лекции по Kafka преподаватель предложил пройти тест по результатам теоретический части - мне показалось это круто и полезно, я бы внедрил это повсеместно на каждой лекции, это тоже даёт бОльшую вовлечённость и лучшее усвоение теории. Так же важно понимать, что самому языку Kotlin тут уделяется около трёх лекций, предполагается, что принципы ООП студент уже знает. На курсе учат именно правильно разрабатывать: как строить проект, паттерны разработки, структуре и архитектуре проекта, а не println("Hello world"), повторюсь, это важно понимать! Для себя сделал вывод, что курс был мне полезен и дал достаточное количество знаний для перехода на веб разработку, в своей компании я начну просить небольшие задачи уже в качестве веб разработчика бэкенда.
Спартак
До обучения в OTUS я уже много лет работал в ИТ. Начинал (в далеком 2003 году) с Delphi, С, а сейчас в основном занимаюсь бэкенд-разработкой на Kotlin, Java и Go. В работе использую Spring Boot, Docker, Kubernetes и другие инструменты, связанные с разработкой и эксплуатацией современных сервисов. Курс «Проектирование и разработка Kotlin-бэкенда» я выбрал потому, что хотел не просто изучить отдельные возможности Kotlin, а систематизировать свои знания и лучше разобраться в проектировании полноценных бэкенд приложений. Особенно интересовали архитектурные подходы, многомодульная структура проекта, Ktor, корутины, паттерны проектирования и организация бизнес-логики. Больше всего в обучении мне понравилась практическая направленность. Домашние задания были связаны между собой и постепенно складывались в полноценный проект. Благодаря этому новые темы не оставались только теориеи -их можно было сразу применять на практике и видеть, как отдельные решения влияют на архитектуру всего приложения. Отдельно хочу отметить вклад автора курса Сергея Окатова. Видно, что за программой стоит большой практический опыт. Курс выстроен не как набор разрозненных лекций, а как последовательный путь от базовых вещей к проектированию и реализации полноценного бэкенд-приложения. Материалф и архитектурные подходы помогли посмотреть на разработку более системно, а не только с точки зрения написания отдельных классов и функций. Полезными для меня были темы, связанные с архитектурой, паттернами, Ktor, многопоточностью, корутинами и разделением приложения на слои. Итоговый проект позволил пройти весь путь разработки: от формирования требований и проектирования архитектуры до реализации, тестирования и защиты готового решения. При этом некоторые темы, на мой взгляд, можно было бы сделать более компактными. Например, вводную тему про типы и объявление переменных. Для курса профессионального уровня ей уделено довольно много внимания. Также отдельное занятие, посвящённое обработке персональных данных, показалось мне не совсем сбалансированным. Сама тема важная и достаточно объемная, но полноценно раскрыть её в рамках одного занятия сложно, а большая часть представленной информации доступна в открытых источниках. Освободившееся время я бы предложил направить на дополнительные занятия по корутинам, многопоточности и реактивному подходу. В целом курс оправдал мои ожидания. Он помог мне систематизировать уже имеющийся опыт, глубже разобраться в Kotlin и получить дополнительные инструменты для проектирования бэкенд-систем. Особенно полезен курс будет разработчикам, которые уже знакомы с Kotlin или Java, но хотят перейти от изучения языка к проектированию и созданию полноценных приложений.
Ангелина Лебедева
До обучения и на данный момент занимаюсь разработкой апи и интеграций на low-code платформе. Обучение оплатил работодатель, так как планируем менять стэк. Выбрала с работодателем этот курс, так как он оказался одним из немногих именно по разработке бекенда на Kotlin (почти везде предлагалась Android-разработка), по программе прямо идеально укладывался в нужные технологии (postgres, kafka), ну и по стоимости и продолжительности обучения подходил) Курс помог освоить базу котлина, в принципе, чувствую в себе силы в следующем году перейти на него и нарабатывать опыт) Конечно, мне как не джависту было сложновато, но если есть общее понимание, что и как работает в разработке, но всё по силам. Возможно, было бы полезно в курс добавить какие-нибудь небольшие проверочные тесты по теории))) Очень понравились преподаватели, хорошо объясняли и терпеливо отвечали на вопросы, даже если это выходило за рамки положенного времени
Иван Павлов
Отличный, объемный и интересный курс. Что понравилось - интересные темы занятий, актуальные фреймворки и технологии, опытный и профессиональный преподаватель, изучили язык Kotlin, посмотрели на оригинальные подходы к разработке бизнес логики, настроили окружение для запуска приложений. Что улучшить - добавить занятие по многопоточке и корутинам (посмотреть больше примеров), добавить занятие по Gradle, DevOps (например развертывание приложения в облаке), убрать теоретиечское занятие по маркетингу, безопасности, нейронным сетям, графовым базам данных (по ним нужен отдельный курс - именно только по графовым базам данных, я знаю что есть курс по NoSql базам сейчас в OTUS). Также, как вариант, можно разделить большое приложение в курсе на несколько более простых (обязательно с Spring). Тему развертывания многопрлатформенного сервера также можно опустить, было бы интереснее посмотреть на примененеие (на примере) разработки на Kotlin фронтового приложения под основные платформы (JS, IOS). В любом случае, контент курса и сейчас очень интересный и полезный. Спасибо огромное!
Олег Болденков
В целом, курс оставил очень хорошее впечатление! Несмотря на то, что в Котлине я не новичок и за плечами у меня уже была пара проектов на нём, у меня не хватало целостного взгляда на него и его экосистему. В ходе прохождения курса я расширил свой кругозор, познакомился с архитектурными подходами, которые широко применяются в мире Java (использование мапперов, xxx-agnostic-архитектура) и которые упоминаются повсюду в интернете, но с которыми я до этого не сталкивался в своей работе. Особенно хотелось разобраться в технологии WebSocket, которую не удалось осилить в предыдущие годы, но которая просилась в качестве базы для некоторых клиент-серверных веб-приложений. В итоге, как говорится, «я сделал это!» в рамках курсового проекта и оно работает )) Тем, кто подумывает о его прохождении хотелось бы поделиться следующим. Весь курс — это некий поток взаимосвязанных тем, каждая из которых базируется на кодовой базе, сложившейся в референсном проекте на текущий момент. Обучение предполагает выполнение домашних заданий и приведение кодовой базы собственного проекта в нечто подобное референсному. Так вот - не запускайте выполнение домашних заданий, поскольку каждая новая тема усложняет навёрстывание. Перепрыгивания через этапы у вас, скорее всего, не получится и вы, в конце концов, просто запутаетесь. Ну и без домашек вас просто не допустят до защиты. Если говорить о себе, то приступить к содержательной части своего проекта мне удалось лишь тогда, когда я сдал почти все домашки. Дело в том, что развитие своего проекта предполагает серьёзное вмешательство в код, отчего он начинает расходиться с референсным и это затрудняет его сопоставление для воспроизведения в ходе выполнения ДЗ по следующим темам. Во многом процесс обучения заключается в повторении всего того, что делается на занятиях, причём именно в процессе выполнения этой чёрной работы на ум часто приходит какое-то своё, иногда даже более удачное решение. Происходит переосмысление пройденного материала и всё начинает худо-бедно укладываться в голове после своеобразного «взрыва мозга» на занятиях. Не стесняйтесь обсуждать и задавать самые на ваш взгляд бестолковые вопросы — от этого не должно быть стыдно. Что касается организации курса, то я бы уменьшил количество повторений одного и того же в начале занятий, а также объём некоторых теоретических блоков, которые несут минимальную полезность. Лучше увеличить время реального кодинга с объяснением конкретных шагов и приёмов. Лидером в таком подходе, без сомнения, является ведущий куратор нашего курса Евгений Непомнящий, глубокий профессионализм которого великолепно сочетается с ярким преподавательским талантом. Хотелось бы пожелать и другим начинающим преподавателям стремиться достичь такого же уровня. Курс однозначно must have!