Специальная цена

Разработчик Java

Перед вами первый курс OTUS. Он стартовал в апреле 2017 года. С тех пор идет с неизменным успехом и на настоящий момент насчитывает более 10 запусков.
Подойдет ли мне этот курс?

Длительность

6 месяцев

Начало

28 июня

Занятия

Пт 20:00, Вт 20:00

Общая стоимость

50 000 ₽ 42 500 ₽

В месяц

12 500 ₽ 10 625 ₽

В кредит:

12500 ₽ в месяц

Хочу дешевле
Общая стоимость
50 000 ₽ 42 500 ₽
В месяц: 12 500 ₽ 10 625 ₽
В кредит: 42500 ₽
в месяц
Продолжительность
6 месяцев, 4 академических часа в неделю
Пт 20:00, Вт 20:00
Начало занятий
28 июня
Что даст вам этот курс

Курс обеспечивает глубокое погружение в практику программирования на Java и за 5 месяцев позволяет прокачать свой уровень с Junior до Middle разработчика.

Цель курса

Наша цель - предоставить слушателям с опытом программирования возможность углубленного изучения языка Java. Изучим особенности платформы, стандартную библиотеку, проектирование и тестирование, то, как работать с базами, файлами, веб-фронтендом и другими приложениями.

Кому адресован курс


  • Программисты на Java с опытом разработки от 1 года
  • Программисты на других языках с опытом работы от 3 лет (приветствуются любые языки ООП)

Чему научимся

  • Разработке серверных приложений на Java.
  • Пониманию библиотеки Java, особенностей языка и платформы Java.
  • Основным подходам программиста к проектированию приложений, работе с базами, файлами, веб-фронтендом.
  • Владению низкоуровневыми и высокоуровневыми подходами к созданию многопоточных и многопроцессных приложений.


Продвинутый курс по программированию на Java для Junior разработчиков

Изучаются такие темы как технологии JMH, ASM, classLoader, класс sun.misc.Unsafe

Большое количество практических заданий

Более 400 успешных выпускников курса

"Написание хорошего кода — базовое умение грамотного разработчика. Но настоящего профессионала отличает желание узнавать новое, доводить решения до совершенства и делиться приобретенными знаниями с коллегами".
Виталий Чибриков
Преподаватель курса
"Написание хорошего кода — базовое умение грамотного разработчика. Но настоящего профессионала отличает желание узнавать новое, доводить решения до совершенства и делиться приобретенными знаниями с коллегами".
Виталий Чибриков
Преподаватель курса
Преподаватели
Виталий Куценко
Владимир Красильщик
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
Виталий Чибриков
Генеральный директор «OTUS. Онлайн-образование»
Антон Ле
Егор Шубин
Rovio Entertainment Corporation
Павел Стрекалов
Александр Галилов
Контрактор в Micro Focus & Authasas
Евгений Волосатов
Вадим Тисов
Ведущий разработчик в QIWI
В 2004 году окончил Химический Факультет МГУ им М.В.Ломоносова, в 2005 - вечерний фалькультет МИФИ по специальности инженер-системотехник
Программировать начал ещё в школе, а с 2003 года начал заниматься этим профессионально. Сначала специализировался на Delphi, но в 2007 переключился на Java.
Участвовал в проектах разных размеров и нагрузки, от небольших на несколько рабочих мест одного предприятия до обработки потоков данных крупнейших банков мира. Работал в таких компаниях как Diasoft, 1C, Luxoft, Росгосстрах, Сбербанк.
Адепт идеи о максимальной автоматизации процессов разработки, тестирования и сопровождения ПО. TeamLead по должности и по духу
Эксперт по прагматичной разработке на Java из Санкт-Петербурга с более чем 15-тилетним профессиональным стажем промышленной разработки программного обеспечения и руководства командами. С отличием закончил СПбГЭТУ “ЛЭТИ” по специальности инженер-программист. Работал в больших автомобильных, финансовых и телекоммуникационных проектах в таких крупных компаниях как Exigen Services, Luxoft и Dino Systems. 2 года разрабатывал Яндекс.Маркет в Питерском офисе Яндекса. В настоящее время независимый "Java-вед" и наставник: консультирует по Java, преподает программирование и музыку. Выступает на отраслевых конференциях и митапах по Java, базам данных, разработке и технологиям, таких как Joker, JPoint, SECR и TeamLeadConf. Музыкант-любитель с 30-тилетним опытом игры на фортепиано и гитаре.
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Институт им. Носова, специальность — промышленная электроника.

Компании:
Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк.

Интересы:
JavaScript, многопоточное программирование, сборщики мусора в Java.
Выпускник МФТИ 2004-го года по специальности «Инженер-математик». Профессиональный опыт: 12 лет программирования на Java, C++, C#, JavaScript, PHP, Python. Участник проектов различных уровней сложности: от стартапов на 3 человека/полгода до бизнес-приложений на 200 человек/4 года. 8 лет разработки серверов для клиентских игр на Java. Эксперт в разработке облачных приложений, автоматизации процессов разработки и тестирования.

Разрабатывал и запускал проекты MMORMGs: «Allods Online» и «Skyforge».
Senior Backend Engineer, Revolut
Окончил физический факультет МГУ им. М. В. Ломоносова (кафедра квантовой электроники). На 3-ем курсе университета самостоятельно начал изучать программирование, чтобы автоматизировать анализ лабораторных данных с помощью Python.
В 2014 году прошел отбор в Deutsche Bank Graduate Programme, где начал писать на Java. Работал над продуктами инвестиционного банкинга Deutsche Bank.
С 2017 года работает в британской финтех-компании Revolut: занимается разработкой автоматизированной банковской системы. Пишет на Java 11, Kotlin.
Увлекается сноубордом, серфингом. Считает программирование инструментом для достижения бизнес-целей.
Server Developer в Rovio Entertainment Corporation.

Профессиональный опыт: более 9 лет программирования на Java, Python, C#, C++.

Разрабатывал и запускал MMORPG «Skyforge». Соавтор и преподаватель курса «Углубленное программирование на Java» в Технопарке Mail.Ru Group.

Выпускник МГТУ им. Баумана 2011 года по специальности “Инженер-программист”.

Интересуется разработкой видеоигр и серверными технологиями.
Ведущий специалист в АО "Гринатом".
Более 10 лет опыта профессиональной разработки.
Основной стек: .NET / C#, Java, MS SQL Server.

Full stack разработка систем для внутренних и внешних заказчиков (от анализа требований до реализации, эксплуатации и технической поддержки).

Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности "Вычислительные машины комплексы системы и сети".
Более 12 лет сотрудничает с различными заказчикам в России и за рубежом. C 2012 г. — контрактор в Micro Focus & Authasas в области систем многофакторной аутентификации, использует в работе Java, Python, C#, Swift, Objective C, C++.

Ранее занимался разработкой информационных и технических систем: биллинга для интернет-провайдера и телефонии, ПО для платежных терминалов, бухгалтерского ПО для Pocket PC, геоинформационной системы для Android & iOS.

Закончил Астраханский государственный технический университет. Там же преподавал лекции по дисциплине «Архитектура ЭВМ».

Основные интересы: Java, microcontrollers, Swift, Python, iOS, Android.

Профессиональный программист. Преподаватель языка Java в колледже.
Автор видеокурсов по C#, Java, PHP

20 лет опыта ведущим программистом в разных фирмах и опыта преподавания в университете, колледже. 6 лет опыта ведения вебинаров и создания видеокурсов

Три самых крупных завершенных проекта:
PHP. Служба знакомств в интернете - PHP, MySQL, FreeBSD, C/C++
C#. Программа расчёта заработной платы на АЭС - C#, MS-SQL Server
Java. Видеокурс создания игры Сапёр на Java: https://goo.gl/24DgBg

Статьи на Habrahabr:
Как я создавал методику изучения C# - habr.com/post/239825/
Об альтернативном образовании и про C# - habr.com/post/257957/
Изучение C# — Практический подход - habr.com/post/304142/

Участие в IT-конференциях в Литве, призовое место в конкурсе программирования InfoBalt, призовое место на республиканской олимпиаде по математике и информатике

С окончания школы в 1996 году постоянно преподавал информатику в университете, школе, на кружках, в ДДТ, на предприятиях, в колледже. С 2013 года ведет вебинары онлайн, записывает видеокурсы
https://www.VideoSharp.info/

В 2002 году закончил Вильнюсский государственный университет по специальности «Магистр математики и информатики», а в 2008 году по специальности «Учитель профессии»

«В детстве меня вдохновила "Занимательная ***" серия книг Я. И. Перельмана. Считаю своим призванием создать занимательную методику обучения программированию.»
Закончил магистратуру МФТИ факультет ФИВТ. Занимается разработкой нового платежного процессинга на основе микросервисной архитектуры на Kotlin, Spring Boot, Spring Cloud, Kubernetes.

Интересы:
разработка распределенных систем, DevOps

Компании:
Сбербанк-Технологии, Альфа-Лаборатория

Сертификаты:
Oracle Certified Professional, Professional Scrum Master level 1
Виталий
Куценко
Владимир
Красильщик
Сергей
Петрелевич
Виталий
Чибриков
Антон
Ле
Егор
Шубин
Павел
Стрекалов
Александр
Галилов
Евгений
Волосатов
Вадим
Тисов
Преподаватели
Виталий Куценко
В 2004 году окончил Химический Факультет МГУ им М.В.Ломоносова, в 2005 - вечерний фалькультет МИФИ по специальности инженер-системотехник
Программировать начал ещё в школе, а с 2003 года начал заниматься этим профессионально. Сначала специализировался на Delphi, но в 2007 переключился на Java.
Участвовал в проектах разных размеров и нагрузки, от небольших на несколько рабочих мест одного предприятия до обработки потоков данных крупнейших банков мира. Работал в таких компаниях как Diasoft, 1C, Luxoft, Росгосстрах, Сбербанк.
Адепт идеи о максимальной автоматизации процессов разработки, тестирования и сопровождения ПО. TeamLead по должности и по духу
Владимир Красильщик
Эксперт по прагматичной разработке на Java из Санкт-Петербурга с более чем 15-тилетним профессиональным стажем промышленной разработки программного обеспечения и руководства командами. С отличием закончил СПбГЭТУ “ЛЭТИ” по специальности инженер-программист. Работал в больших автомобильных, финансовых и телекоммуникационных проектах в таких крупных компаниях как Exigen Services, Luxoft и Dino Systems. 2 года разрабатывал Яндекс.Маркет в Питерском офисе Яндекса. В настоящее время независимый "Java-вед" и наставник: консультирует по Java, преподает программирование и музыку. Выступает на отраслевых конференциях и митапах по Java, базам данных, разработке и технологиям, таких как Joker, JPoint, SECR и TeamLeadConf. Музыкант-любитель с 30-тилетним опытом игры на фортепиано и гитаре.
Сергей Петрелевич
Java-разработчик в Технологическом центре Deutche Bank
В отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.

Занимался разработкой "коробочных" систем для внешних заказчиков, разработкой систем для внутренних заказчиков. В 2003 году с отличием закончил Магнитогорский Государственный Институт им. Носова, специальность — промышленная электроника.

Компании:
Магнитогорский Металлургический Комбинат, Компас+, Borlas, СМП Банк.

Интересы:
JavaScript, многопоточное программирование, сборщики мусора в Java.
Виталий Чибриков
Генеральный директор «OTUS. Онлайн-образование»
Выпускник МФТИ 2004-го года по специальности «Инженер-математик». Профессиональный опыт: 12 лет программирования на Java, C++, C#, JavaScript, PHP, Python. Участник проектов различных уровней сложности: от стартапов на 3 человека/полгода до бизнес-приложений на 200 человек/4 года. 8 лет разработки серверов для клиентских игр на Java. Эксперт в разработке облачных приложений, автоматизации процессов разработки и тестирования.

Разрабатывал и запускал проекты MMORMGs: «Allods Online» и «Skyforge».
Антон Ле
Senior Backend Engineer, Revolut
Окончил физический факультет МГУ им. М. В. Ломоносова (кафедра квантовой электроники). На 3-ем курсе университета самостоятельно начал изучать программирование, чтобы автоматизировать анализ лабораторных данных с помощью Python.
В 2014 году прошел отбор в Deutsche Bank Graduate Programme, где начал писать на Java. Работал над продуктами инвестиционного банкинга Deutsche Bank.
С 2017 года работает в британской финтех-компании Revolut: занимается разработкой автоматизированной банковской системы. Пишет на Java 11, Kotlin.
Увлекается сноубордом, серфингом. Считает программирование инструментом для достижения бизнес-целей.
Егор Шубин
Rovio Entertainment Corporation
Server Developer в Rovio Entertainment Corporation.

Профессиональный опыт: более 9 лет программирования на Java, Python, C#, C++.

Разрабатывал и запускал MMORPG «Skyforge». Соавтор и преподаватель курса «Углубленное программирование на Java» в Технопарке Mail.Ru Group.

Выпускник МГТУ им. Баумана 2011 года по специальности “Инженер-программист”.

Интересуется разработкой видеоигр и серверными технологиями.
Павел Стрекалов
Ведущий специалист в АО "Гринатом".
Более 10 лет опыта профессиональной разработки.
Основной стек: .NET / C#, Java, MS SQL Server.

Full stack разработка систем для внутренних и внешних заказчиков (от анализа требований до реализации, эксплуатации и технической поддержки).

Закончил в 2006 году Московский институт электронной техники (МИЭТ) по специальности "Вычислительные машины комплексы системы и сети".
Александр Галилов
Контрактор в Micro Focus & Authasas
Более 12 лет сотрудничает с различными заказчикам в России и за рубежом. C 2012 г. — контрактор в Micro Focus & Authasas в области систем многофакторной аутентификации, использует в работе Java, Python, C#, Swift, Objective C, C++.

Ранее занимался разработкой информационных и технических систем: биллинга для интернет-провайдера и телефонии, ПО для платежных терминалов, бухгалтерского ПО для Pocket PC, геоинформационной системы для Android & iOS.

Закончил Астраханский государственный технический университет. Там же преподавал лекции по дисциплине «Архитектура ЭВМ».

Основные интересы: Java, microcontrollers, Swift, Python, iOS, Android.

Евгений Волосатов
Профессиональный программист. Преподаватель языка Java в колледже.
Автор видеокурсов по C#, Java, PHP

20 лет опыта ведущим программистом в разных фирмах и опыта преподавания в университете, колледже. 6 лет опыта ведения вебинаров и создания видеокурсов

Три самых крупных завершенных проекта:
PHP. Служба знакомств в интернете - PHP, MySQL, FreeBSD, C/C++
C#. Программа расчёта заработной платы на АЭС - C#, MS-SQL Server
Java. Видеокурс создания игры Сапёр на Java: https://goo.gl/24DgBg

Статьи на Habrahabr:
Как я создавал методику изучения C# - habr.com/post/239825/
Об альтернативном образовании и про C# - habr.com/post/257957/
Изучение C# — Практический подход - habr.com/post/304142/

Участие в IT-конференциях в Литве, призовое место в конкурсе программирования InfoBalt, призовое место на республиканской олимпиаде по математике и информатике

С окончания школы в 1996 году постоянно преподавал информатику в университете, школе, на кружках, в ДДТ, на предприятиях, в колледже. С 2013 года ведет вебинары онлайн, записывает видеокурсы
https://www.VideoSharp.info/

В 2002 году закончил Вильнюсский государственный университет по специальности «Магистр математики и информатики», а в 2008 году по специальности «Учитель профессии»

«В детстве меня вдохновила "Занимательная ***" серия книг Я. И. Перельмана. Считаю своим призванием создать занимательную методику обучения программированию.»
Вадим Тисов
Ведущий разработчик в QIWI
Закончил магистратуру МФТИ факультет ФИВТ. Занимается разработкой нового платежного процессинга на основе микросервисной архитектуры на Kotlin, Spring Boot, Spring Cloud, Kubernetes.

Интересы:
разработка распределенных систем, DevOps

Компании:
Сбербанк-Технологии, Альфа-Лаборатория

Сертификаты:
Oracle Certified Professional, Professional Scrum Master level 1
Отзывы
13
Сергей
Торчиков
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса проводиться День открытых дверей, где можно лично задать вопросы по курсу и более подробно ознакомиться с программой. Я бы хотел по порядку разобрать основные составляющие курса.

Программа.

Изначально конечно в голову закрались сомнения, а есть ли смысл слушать лекции по программированию, которые затрагивают самые азы (типы данных, например), но как говориться повторение – мать учения, решил слушать, и не пожалел. Разбирали действительно все детально и домашние задания очень интересны, одно задание по замеру работы разных сборщиков мусора чего стоит. Приятно, что в программу включены Hibernate и Spring, хоть и основы, но этого действительно достаточно, чтобы понимать в какую сторону копать в случае чего. Достаточно было и сносок на дополнительный материал расширяющий тему урока.

Преподаватель.

Не знаю, стоит ли указывать тут сторонние обучающие ресурсы, но скажем так с лекциями Виталия я знаком уже давно. Всегда нравилось, что Виталий приводит много примеров из жизни. Лично для меня это огромная проблема в программировании, я могу что-то выучить, понимать как это работает, но абсолютно не знать, где это применить Все объяснения доходчивы и понятны. Постоянно спрашивает, о чем бы хотели дополнительно послушать ученики. Примеры с кодом есть на каждую тему и мы даже несколько раз ставили эксперименты прямо на лекциях, пытаясь что-то сломать, было довольно интересно.

Команда OTUS

Тут много я не скажу, так как особо и не сталкивались. Но из личных наблюдений, все вопросы в общем чате для программистов решались и довольно в короткие сроки. Команда очень лояльна к ученикам и идет на встречу. Так что, если есть какие-то вопросы или сомнения всегда можно обращаться.

Минусы.

Те минусы, которые я могу отметь, насколько мне известно, уже исправлены. Например, платформа. Первые лекции были довольно не стабильны, но команда Otus.ru довольно быстро нашла аналог, который устроил всех. Все программисты относились к этому с пониманием, т.к. мы были первым набором, так сказать первопроходцами

Второй минус даже вовсе и не минус, а скорее неудобство – один преподаватель. Будущим группам повезло, у них, насколько я знаю, будет два преподавателя. В основном это относиться к проверке домашнего задания, на проверку уделялось 48 часов и, если есть замечания к решению, есть шанс не сдать в срок, т.к. исправленную версию вновь отправляешь на проверку. Хотя к этому относились также лояльно и никто не ругался, тут скорее проблема в моем перфекционизме, нужно все сдать в срок

Результат.

Через несколько дней я выхожу на работу в Москве именно в ту компанию, где хотел работать. Все интервью организовывали сотрудники Otus, так что результатом я конечно доволен На собеседованиях кстати пригодились те самые знания о сборщиках мусора, о которых я говорил ранее. Так что хотелось бы поблагодарить еще раз всю команду Otus.ru за профессионализм и работу, а также всех ребят с курса за интересные обсуждения и за то, что делились своими знаниями. Я продолжу следить за курсами и если будет что-то интересное для меня, обязательно приду снова!
Читать целиком
Николай
Добровольский
На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу.

Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например тема про GC - были теоретические знания, но без практических навыков).

Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя.

Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java.
После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс)
На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.
Читать целиком
Антон
Матвеев
Курс OTUS "Разработчик Java" был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю - для того чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск.

Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания.

Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!
Читать целиком
Алексей
Маянов
До поступления на курс я программировал на Java от случаю к случаю. Для меня курс во многом стал отправной точкой в систематизации и расширении собственных, уже имеющихся знаний. С абсолютной уверенностью могу сказать: после окончания обучения мои навыки использования Java перешли на новый уровень, в первую очередь этим я благодарен авторам курса.

На мой взгляд, курс достаточно интенсивный, о чем, в принципе, заявлялось на старте обучения. Не всегда получается детально погрузиться в изучаемую тему, отчего могут оставаться пробелы в знаниях. Поэтому важно периодически самостоятельно возвращаться к изученным материалам, где хорошую помощь оказывают записи всех прошедших лекций и семинаров.

По моим ощущениям, проектный месяц получился достаточно скомканным: не удалось получить достаточной обратной связи по проекту. Думаю причина заключается в том, что у многих учеников скопились долги, и весь преподавательский ресурс ушёл на их проверку. Я считаю, что на последнем месяце преподавателям стоит отдавать приоритет работе с проектами, иначе получается, что ученики, которые сдали все задания вовремя и перешли к работе с проектами, стали заложниками долгов остальных учеников.

Отдельно хочу отметить, что вся серия пройденных интервью, на которые я попал, дала мне определенный положительный опыт.
Читать целиком
Павел
Стрекалов
В целом впечатление о курсе положительное, курс был очень полезен для меня.

Как недостаток (или особенность) хотел бы отметить то, что чувствовалась изолированность от группы. При выполнении заданий казалось, что ты один на один с преподавателем (чат в slack не очень спасал в этом плане). Мне кажется, что общение между студентами через code review дало бы хороший эффект. Сначала преподаватель проверяет задание, принимает его, а потом студент должен еще посмотреть, выдать комментарии/замечания по двум-трем выполненным и принятым работам.
Также Виталий упоминал, что хорошо бы делать "выставку интересных работ" - тоже, думаю, что стоит, но не понятно в каком формате, т.к. набираются долги за всё время курса и некоторые задания сдаются в конце.

Хорошо было бы добавить блок теоретических вопросов по каждой теме (но об этом Виталий тоже уже говорил). Работу над проектом начинать в середине курса (месяца с третьего), а не в конце.

О преподавателе хочется отметить - грамотная речь. Вроде незначительно и само собой разумеется, но в русскоязычном Java-мире есть технически грамотные личности, выступления которых порой невозможно слушать из-за обилия паразитических слов. А вебинары OTUS я мог спокойно смотреть, находясь с ребенком в одной комнате, и не боясь, что Виталий выругается или скажет какое-нибудь "крепкое" слово.
Читать целиком
Михаил
Пыльцин
Здравствуйте. Я уже много раз благодарил за курсы, но хочу это сделать еще раз - многие курсы, что сейчас есть в рунете, довольно поверхностны и дают только основы. Ваши курсы как раз дают более глубокие знания по программированию. Сам курс очень интересен, но мне не хватило домашних заданий - нет, сами задания интересны и их довольно много, особенно последнее, но, к сожалению, они не охватывают весь материал. Виталий - высококлассный специалист и преподаватель, думаю, ради него многие и записались на курсы. Честно, устроенные собеседования, хоть и были объявлены, стали сюрпризом, так как не верилось, что такое возможно. Часть собеседований и выполнение тестового задания сорвалось по личным обстоятельствам. Сейчас прохожу несколько финальных собеседований - есть маленький шанс получить первую работу в Москве в сфере программирования. Хотелось бы более углубленные темы по Spring/Spring MVC/Spring Boot/Hibernate/Сокеты/Обмен данных по сети или интернету/более больше данных по ConcurrentCollection. А так - буду советовать Ваши курсы. Очень хочется отдельный курс по тем темам, что написал выше + Java ee (в части, которая наиболее востребована сейчас работодателями).
Читать целиком
Daniil
Klipov
У меня курс оставил только положительные впечатления, он позволил структурировать и углубить знания, почерпнутые из различных статей и пособий для начинающих, а так же задать направление дальнейшего развития. Из положительных сторон хочется отметить, достаточно сложные домашние задания, интересную подачу и качество подбора материала преподавателями. К отличительным особенностям курса можно отнести наличие входного порога и высокую интенсивность занятий. Могу порекомендовать его тем, кто уже овладел основами языка, но не знает в каком направлении продолжать движение.
Читать целиком
Сергей
Новожилов
Давно искал подобный курс, рассчитанный не на новичков. Было очень интересно и полезно. Особенно хочу отметить преподавателей. Не каждый, кто даже очень хорошо знает предмет может доступно рассказать и объяснить. У Виталия и Дмитрия это хорошо получается. Еще большой плюс - это разбор домашних заданий преподавателем, очень полезно получить комментарии, рекомендации. Вообщем, 5 баллов из 5.
Читать целиком
Вадим
Бубликов
Проходил курс в Отус. По качеству норм. По формату удобно, что были записи лекций и можно было смотреть в оффлайн, это выручало. Нужна предварительная подготовка, как они и пишут. Учеба довольно напряжённая, много домашних заданий.
Читать целиком
Ольга
Штыка
В целом курс очень понравился. Нетривиальные домашние задания, понятные и доступные лекции преподавателей. Сами темы занятий актуальные, порой не задумываешься о их значении в текущей разработке, но при обсуждении становится понятна степень необходимости их понимания. Домашние задания проверяют относительно быстро, я сдавала на проверку в выходные и в течение недели их проверяли с подробными комментариями. Единственный минус - это щекотливая ситуация с оплатой. Я платила отдельно за каждый месяц. Все домашние сдала вовремя. На проект, сразу понимала, что физически не хватает времени, поэтому отказалась от его выполнения. И получается, что оплата последнего месяца (в котором нет домашек) предполагает лишь выдачу сертификата. 10000 за сертификат? Не комильфо.
Читать целиком
Алексей
Бодяк
Курс очень понравился и пригодился в работе. Преподаватели готовы ответить на все вопросы с большим удовольствием, а это очень важно. Спасибо за курс, следующий будет Spring :)
Читать целиком
Алексей
Потехин
С апреля 2018 прошел почти год, а кнопку увидел только сейчас).
Если коротко, курс шикарный!

Понравилась манера подачи материала, подготовленность преподавателей к занятию, если возникали вопросы в ходе занятия отвечали на них сразу же, даже была возможность спросить голосом. Нравились домашние задания, по началу это были дз направленные на понимание языка или технологии(web, jdbc). Потом начались повеселее, свой junit-framework например. Очень понравились домашние задания по design pattern и json-сериализатор. Домашки проверяли часто, советы и подсказки куда копать были всегда по делу. Иногда было видно, что проверяющий старается намекнуть на ошибку по разному. Т.е. не было такого, что исправь здесь и я приму. Так же проверяющие могли дать задание с + домашней работе. Правда я помню отказался, уж очень хотел закончить все, а по факту был с долгами.

Не понравилась платформа, через которую проходил вебинар ее меняли несколько раз - лагает, зависает, интернет обрывается, ужас одним словом). Надеюсь сейчас стало лучше. Некоторые темы, которые рассматривались были очень сильно скомканы и скакали по ним галопом. Есть объективно большие темы в java и в рамках 1-2 занятий их не объяснишь(Темы связанные с бд).

Я бы еще пошел, пусть меня научат, но готовлюсь к OCA/OCP
Всем удачи!
Читать целиком
Юрий
Суворов
В апреле стукнул год как я занимаюсь программированием на java, имея в виду начало прям с базового курса. Резюме в плане java-экспиренса не блещет, но независимые эксперты, дающие тестовые задания и проверяющие код говорят, что пишу аки миддл, и что джуниору нужно полгода работы для написания 'так'. На самом деле курсы OTUS, это мощный бустер в практике написания. Имея полгода небольшого опыта в java, взял сразу два курса здесь на OTUS, это "Разработчик Java" и "Разработчик Java Enterprise". Выполненные за последующие полгода(на самом деле заметно меньше) 28 домашних заданий с ревью преподователей(на самом деле специальных проверяющих) определенно не прошли даром. Такое количество домашних заданий это конечно невероятный time-kill, поэтому сильно думайте прежде чем взять два курса сразу. На данном курсе "Разработчик Java" у вас будет 'всего' 16 разномастных заданий, но и их вывозят далеко не все. В общем будет интересно. Чего не будет так это принуждений в виде тестирования после каждой пройденной темы, хотя незнаю, может администрация и заведет(завела). А также не будет принуждения к написанию проектной работы по окончанию курса, и, что хуже, те кто решатся на проект останутся с ним один на один, но с возможностью задавать вопросы. А вот возможности получить опыт промышленной разработки в рамках проектной работы не предоставится, поэтому получайте его на решении д.з..
Читать целиком
Сергей
Торчиков
Для меня принять решение об обучении на курсе по языку Java было довольно просто, достаточно было посмотреть на преподавателя и структуру курса, также огромным плюсом было увидеть в партнерах Otus.ru компанию, в которой я хотел работать. Очень важно, что перед началом курса проводиться День открытых дверей, где можно лично задать вопросы по курсу и более подробно ознакомиться с программой. Я бы хотел по порядку разобрать основные составляющие курса.

Программа.

Изначально конечно в голову закрались сомнения, а есть ли смысл слушать лекции по программированию, которые затрагивают самые азы (типы данных, например), но как говориться повторение – мать учения, решил слушать, и не пожалел. Разбирали действительно все детально и домашние задания очень интересны, одно задание по замеру работы разных сборщиков мусора чего стоит. Приятно, что в программу включены Hibernate и Spring, хоть и основы, но этого действительно достаточно, чтобы понимать в какую сторону копать в случае чего. Достаточно было и сносок на дополнительный материал расширяющий тему урока.

Преподаватель.

Не знаю, стоит ли указывать тут сторонние обучающие ресурсы, но скажем так с лекциями Виталия я знаком уже давно. Всегда нравилось, что Виталий приводит много примеров из жизни. Лично для меня это огромная проблема в программировании, я могу что-то выучить, понимать как это работает, но абсолютно не знать, где это применить Все объяснения доходчивы и понятны. Постоянно спрашивает, о чем бы хотели дополнительно послушать ученики. Примеры с кодом есть на каждую тему и мы даже несколько раз ставили эксперименты прямо на лекциях, пытаясь что-то сломать, было довольно интересно.

Команда OTUS

Тут много я не скажу, так как особо и не сталкивались. Но из личных наблюдений, все вопросы в общем чате для программистов решались и довольно в короткие сроки. Команда очень лояльна к ученикам и идет на встречу. Так что, если есть какие-то вопросы или сомнения всегда можно обращаться.

Минусы.

Те минусы, которые я могу отметь, насколько мне известно, уже исправлены. Например, платформа. Первые лекции были довольно не стабильны, но команда Otus.ru довольно быстро нашла аналог, который устроил всех. Все программисты относились к этому с пониманием, т.к. мы были первым набором, так сказать первопроходцами

Второй минус даже вовсе и не минус, а скорее неудобство – один преподаватель. Будущим группам повезло, у них, насколько я знаю, будет два преподавателя. В основном это относиться к проверке домашнего задания, на проверку уделялось 48 часов и, если есть замечания к решению, есть шанс не сдать в срок, т.к. исправленную версию вновь отправляешь на проверку. Хотя к этому относились также лояльно и никто не ругался, тут скорее проблема в моем перфекционизме, нужно все сдать в срок

Результат.

Через несколько дней я выхожу на работу в Москве именно в ту компанию, где хотел работать. Все интервью организовывали сотрудники Otus, так что результатом я конечно доволен На собеседованиях кстати пригодились те самые знания о сборщиках мусора, о которых я говорил ранее. Так что хотелось бы поблагодарить еще раз всю команду Otus.ru за профессионализм и работу, а также всех ребят с курса за интересные обсуждения и за то, что делились своими знаниями. Я продолжу следить за курсами и если будет что-то интересное для меня, обязательно приду снова!
Читать целиком
Николай
Добровольский
На курс записался в большей степени потому, что преподавателем был объявлен Виталий Чибриков. Знал преподавателя по другим курсам, плюс ранее прослушаны записи лекций в МГТУ им. Баумана в рамках проекта ТЕХНОПАРК (Москва). Поэтому сразу решил записаться в группу.

Курс очень понравился. Впечатление очень положительное. Был освящен достаточно большой список тем. Некоторые моменты до курса были не очень хорошо знакомы (например тема про GC - были теоретические знания, но без практических навыков).

Понравилась сама подача материала, затрагиваемые темы рассматривались без отрыва от реальной жизни, сопровождались конкретными примерами из реальных проектов. Множество интересных примеров от преподавателя.

Курс помог не только систематизировать уже имеющиеся знания, а также приобрести новые. Особенно понравились темы про GC, JVM, многопоточность в Java, межпроцессное взаимодействие в Java.
После окончания курса гарантированы приглашения на собеседования, так что это огромный плюс)
На мой взгляд было бы здорово в рамках курса более подробно рассмотреть Spring, но основным направлением курса изначально было заявлено Java Core, поэтому за этой темой возможно стоит записываться на курс по Java EE.
Читать целиком
Антон
Матвеев
Курс OTUS "Разработчик Java" был очень полезен для меня, не имевшего ранее опыта коммерческой Java-разработки. Именно он помог собрать воедино знания, полученные посредством самообучения и других курсов. В отличие от других курсов был упор на формирование понимания процесса: как работает та или иная технология и какие задачи решает, а не на общее описание ее возможностей. Домашние задания подобраны таким образом, что заставляют проявить творчество и перечитать немало полезной информации. Особенно интересными были задания: написать json сериализатор, упрощенный тестовый фреймворк, свою маленькую orm, сервер обмена сообщения между бд и фронтэндами. Хотя домашние задания, может быть за исключением первых, совсем не укладывались в заявленное время на домашнюю работу по 4 часа в неделю - для того чтобы успеть сделать последние 2 задания в курсе мне пришлось брать отпуск.

Конечно основную ценность курс представляет из-за преподавателя. Очень качественное объяснение: не помню, чтобы хоть какой-то заданный по теме вопрос остался без ответа, также очень приятно и полезно было получать от Виталия не только информацию о недоработках в ДЗ, но и предложения об их возможной доработке уже за рамками задания.

Ну и, конечно, очень важна возможность пройти собеседования в крупные компании. Каждое такое собеседование это очень интересный опыт сам по себе, независимо от результата. Лично я нашел себе работу и очень рад что не пожалел денег на обучение!
Читать целиком
Алексей
Маянов
До поступления на курс я программировал на Java от случаю к случаю. Для меня курс во многом стал отправной точкой в систематизации и расширении собственных, уже имеющихся знаний. С абсолютной уверенностью могу сказать: после окончания обучения мои навыки использования Java перешли на новый уровень, в первую очередь этим я благодарен авторам курса.

На мой взгляд, курс достаточно интенсивный, о чем, в принципе, заявлялось на старте обучения. Не всегда получается детально погрузиться в изучаемую тему, отчего могут оставаться пробелы в знаниях. Поэтому важно периодически самостоятельно возвращаться к изученным материалам, где хорошую помощь оказывают записи всех прошедших лекций и семинаров.

По моим ощущениям, проектный месяц получился достаточно скомканным: не удалось получить достаточной обратной связи по проекту. Думаю причина заключается в том, что у многих учеников скопились долги, и весь преподавательский ресурс ушёл на их проверку. Я считаю, что на последнем месяце преподавателям стоит отдавать приоритет работе с проектами, иначе получается, что ученики, которые сдали все задания вовремя и перешли к работе с проектами, стали заложниками долгов остальных учеников.

Отдельно хочу отметить, что вся серия пройденных интервью, на которые я попал, дала мне определенный положительный опыт.
Читать целиком
Павел
Стрекалов
В целом впечатление о курсе положительное, курс был очень полезен для меня.

Как недостаток (или особенность) хотел бы отметить то, что чувствовалась изолированность от группы. При выполнении заданий казалось, что ты один на один с преподавателем (чат в slack не очень спасал в этом плане). Мне кажется, что общение между студентами через code review дало бы хороший эффект. Сначала преподаватель проверяет задание, принимает его, а потом студент должен еще посмотреть, выдать комментарии/замечания по двум-трем выполненным и принятым работам.
Также Виталий упоминал, что хорошо бы делать "выставку интересных работ" - тоже, думаю, что стоит, но не понятно в каком формате, т.к. набираются долги за всё время курса и некоторые задания сдаются в конце.

Хорошо было бы добавить блок теоретических вопросов по каждой теме (но об этом Виталий тоже уже говорил). Работу над проектом начинать в середине курса (месяца с третьего), а не в конце.

О преподавателе хочется отметить - грамотная речь. Вроде незначительно и само собой разумеется, но в русскоязычном Java-мире есть технически грамотные личности, выступления которых порой невозможно слушать из-за обилия паразитических слов. А вебинары OTUS я мог спокойно смотреть, находясь с ребенком в одной комнате, и не боясь, что Виталий выругается или скажет какое-нибудь "крепкое" слово.
Читать целиком
Михаил
Пыльцин
Здравствуйте. Я уже много раз благодарил за курсы, но хочу это сделать еще раз - многие курсы, что сейчас есть в рунете, довольно поверхностны и дают только основы. Ваши курсы как раз дают более глубокие знания по программированию. Сам курс очень интересен, но мне не хватило домашних заданий - нет, сами задания интересны и их довольно много, особенно последнее, но, к сожалению, они не охватывают весь материал. Виталий - высококлассный специалист и преподаватель, думаю, ради него многие и записались на курсы. Честно, устроенные собеседования, хоть и были объявлены, стали сюрпризом, так как не верилось, что такое возможно. Часть собеседований и выполнение тестового задания сорвалось по личным обстоятельствам. Сейчас прохожу несколько финальных собеседований - есть маленький шанс получить первую работу в Москве в сфере программирования. Хотелось бы более углубленные темы по Spring/Spring MVC/Spring Boot/Hibernate/Сокеты/Обмен данных по сети или интернету/более больше данных по ConcurrentCollection. А так - буду советовать Ваши курсы. Очень хочется отдельный курс по тем темам, что написал выше + Java ee (в части, которая наиболее востребована сейчас работодателями).
Читать целиком
Daniil
Klipov
У меня курс оставил только положительные впечатления, он позволил структурировать и углубить знания, почерпнутые из различных статей и пособий для начинающих, а так же задать направление дальнейшего развития. Из положительных сторон хочется отметить, достаточно сложные домашние задания, интересную подачу и качество подбора материала преподавателями. К отличительным особенностям курса можно отнести наличие входного порога и высокую интенсивность занятий. Могу порекомендовать его тем, кто уже овладел основами языка, но не знает в каком направлении продолжать движение.
Читать целиком
Сергей
Новожилов
Давно искал подобный курс, рассчитанный не на новичков. Было очень интересно и полезно. Особенно хочу отметить преподавателей. Не каждый, кто даже очень хорошо знает предмет может доступно рассказать и объяснить. У Виталия и Дмитрия это хорошо получается. Еще большой плюс - это разбор домашних заданий преподавателем, очень полезно получить комментарии, рекомендации. Вообщем, 5 баллов из 5.
Читать целиком
Вадим
Бубликов
Проходил курс в Отус. По качеству норм. По формату удобно, что были записи лекций и можно было смотреть в оффлайн, это выручало. Нужна предварительная подготовка, как они и пишут. Учеба довольно напряжённая, много домашних заданий.
Читать целиком
Ольга
Штыка
В целом курс очень понравился. Нетривиальные домашние задания, понятные и доступные лекции преподавателей. Сами темы занятий актуальные, порой не задумываешься о их значении в текущей разработке, но при обсуждении становится понятна степень необходимости их понимания. Домашние задания проверяют относительно быстро, я сдавала на проверку в выходные и в течение недели их проверяли с подробными комментариями. Единственный минус - это щекотливая ситуация с оплатой. Я платила отдельно за каждый месяц. Все домашние сдала вовремя. На проект, сразу понимала, что физически не хватает времени, поэтому отказалась от его выполнения. И получается, что оплата последнего месяца (в котором нет домашек) предполагает лишь выдачу сертификата. 10000 за сертификат? Не комильфо.
Читать целиком
Алексей
Бодяк
Курс очень понравился и пригодился в работе. Преподаватели готовы ответить на все вопросы с большим удовольствием, а это очень важно. Спасибо за курс, следующий будет Spring :)
Читать целиком
Алексей
Потехин
С апреля 2018 прошел почти год, а кнопку увидел только сейчас).
Если коротко, курс шикарный!

Понравилась манера подачи материала, подготовленность преподавателей к занятию, если возникали вопросы в ходе занятия отвечали на них сразу же, даже была возможность спросить голосом. Нравились домашние задания, по началу это были дз направленные на понимание языка или технологии(web, jdbc). Потом начались повеселее, свой junit-framework например. Очень понравились домашние задания по design pattern и json-сериализатор. Домашки проверяли часто, советы и подсказки куда копать были всегда по делу. Иногда было видно, что проверяющий старается намекнуть на ошибку по разному. Т.е. не было такого, что исправь здесь и я приму. Так же проверяющие могли дать задание с + домашней работе. Правда я помню отказался, уж очень хотел закончить все, а по факту был с долгами.

Не понравилась платформа, через которую проходил вебинар ее меняли несколько раз - лагает, зависает, интернет обрывается, ужас одним словом). Надеюсь сейчас стало лучше. Некоторые темы, которые рассматривались были очень сильно скомканы и скакали по ним галопом. Есть объективно большие темы в java и в рамках 1-2 занятий их не объяснишь(Темы связанные с бд).

Я бы еще пошел, пусть меня научат, но готовлюсь к OCA/OCP
Всем удачи!
Читать целиком
Юрий
Суворов
В апреле стукнул год как я занимаюсь программированием на java, имея в виду начало прям с базового курса. Резюме в плане java-экспиренса не блещет, но независимые эксперты, дающие тестовые задания и проверяющие код говорят, что пишу аки миддл, и что джуниору нужно полгода работы для написания 'так'. На самом деле курсы OTUS, это мощный бустер в практике написания. Имея полгода небольшого опыта в java, взял сразу два курса здесь на OTUS, это "Разработчик Java" и "Разработчик Java Enterprise". Выполненные за последующие полгода(на самом деле заметно меньше) 28 домашних заданий с ревью преподователей(на самом деле специальных проверяющих) определенно не прошли даром. Такое количество домашних заданий это конечно невероятный time-kill, поэтому сильно думайте прежде чем взять два курса сразу. На данном курсе "Разработчик Java" у вас будет 'всего' 16 разномастных заданий, но и их вывозят далеко не все. В общем будет интересно. Чего не будет так это принуждений в виде тестирования после каждой пройденной темы, хотя незнаю, может администрация и заведет(завела). А также не будет принуждения к написанию проектной работы по окончанию курса, и, что хуже, те кто решатся на проект останутся с ним один на один, но с возможностью задавать вопросы. А вот возможности получить опыт промышленной разработки в рамках проектной работы не предоставится, поэтому получайте его на решении д.з..
Читать целиком
Минимальные знания
  • Опыт разработки на Java от одного года или опыт разработки на другом языке от 3 лет (приветствуются любые языки ООП).
  • Знание основных структур данных и алгоритмов, принципов ООП, опыт работы с базами данных и понимание основ веб-разработки облегчат прохождение курса для программиста, но не являются обязательными.
Подготовительный курс
Формат: видео лекции (4 модуля по 3 видеолекции каждый).
Прохождение подготовительного курса даст:
- необходимые базовые знания для курса «Разработчик Java»;
- возможность поступить на курс «Разработчик Java» без вступительного тестирования;
- скидку на приобретение курса «Разработчик Java», равную стоимости подготовительного курса;
- приглашение в slack-чат курса «Разработчик Java».
Записаться
Процесс обучения
Обучение проходит в формате вебинаров (онлайн). Слушателям предлагаются к выполнению домашние задания, которые позволят применить на практике полученные во время вебинаров знания. По каждому домашнему заданию преподаватель дает развернутый фидбек.
Преподаватель находится в едином коммуникационном пространстве с группой на протяжении всего курса, т. е. в процессе обучения слушатель может задавать преподавателю уточняющие вопросы по материалам лекций и домашних заданий.
Программа обучения
Модуль 1
Язык и платформа Java
Модуль 2
Проектирование
Модуль 3
Работа с окружением
Модуль 4
Многопоточность
Модуль 5
Проектная работа
Язык и платформа Java
В этом модуле изучаются фундаментальные основы работы Java Virtual Machine (JVM) и "тонкие" аспекты языка Java. В результате обучения студет сможет достаточно подробно рассказать как выполняется Java программа и что проиходит "под капотом".
Тема 1: Подготовка к курсу. ДЗ
познакомиться с программой курса,
изучить основные инструменты
28 июня, 20:00 — 21:30
Лектор: Вадим Тисов
Домашние задания: 1
1 Проект maven с модульной структурой
1) Создать аккаунт на github.com (если еще нет)
2) Создать репозиторий для домашних работ
3) Сделать checkout репозитория на свой компьютер
4) Создайте локальный бранч hw01-maven
5) Создать проект maven
6) В проект добавьте последнюю версию зависимости
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
7) Создайте модуль hw01-maven
8) В модуле сделайте класс HelloOtus
9) В этом классе сделайте вызов какого-нибудь метода из guava
10) Добавьте нужный плагин maven и соберите "толстый-jar"
11) Убедитесь, что "толстый-jar" запускается.
12) Сделайте pull-request в gitHub
13) Ссылку на PR отправьте на проверку.
Тема 2: Дополнение к maven, история изменения языка
Познакомиться со Shade Plugin
Углубить знания о maven
Познакомиться с текущей ситуацией в мире java
5 июля, 20:00 — 21:30
Лектор: Вячеслав Лапин
Тема 3: Контейнеры и алгоритмы. ДЗ
Познакомиться с Generic-ами в Java и со стандартными коллекциями
9 июля, 20:00 — 21:30
Домашние задания: 1
1 DIY ArrayList
Написать свою реализацию ArrayList на основе массива.
class DIYarrayList<T> implements List<T>{...}

Проверить, что на ней работают методы из java.util.Collections:
Collections.addAll(Collection<? super T> c, T... elements)
Collections.static <T> void copy(List<? super T> dest, List<? extends T> src)
Collections.static <T> void sort(List<T> list, Comparator<? super T> c)

1) Проверяйте на коллекциях с 20 и больше элементами.
2) DIYarrayList должен имплементировать ТОЛЬКО ОДИН интерфейс - List.
3) Если метод не имплементирован, то он должен выбрасывать исключение UnsupportedOperationException.
Тема 4: Инструменты для преобразования контейнеров, unsafe, jmh
На примере изучить принципы создания коллекций.
Познакомиться с пакетом unsafe, утилитой JMH и
популярными библиотеками коллекций.
12 июля, 20:00 — 21:30
Тема 5: QA и тестирование
Познакомиться с junit и mockito
На примере понять, что такое "тестируемое приложение"
16 июля, 20:00 — 21:30
Тема 6: Аннотации. ДЗ
Познакомиться с механизмом Reflection.
Узнать что такое Аннотации и как их можно сделать
19 июля, 20:00 — 21:30
Домашние задания: 1
1 Свой тестовый фреймворк.
Написать свой тестовый фреймворк.

Поддержать свои аннотации @Test, @Before, @After.

Запускать вызовом статического метода с именем класса с тестами.

Т.е. надо сделать:
1) создать три аннотации - @Test, @Before, @After.
2) Создать класс-тест, в котором будут методы, отмеченные аннотациями.
3) Создать "запускалку теста". На вход она должна получать имя класса с тестами, в котором следует найти и запустить методы отмеченные аннотациями и пункта 1.
4) Алгоритм запуска должен быть следующий::
метод(ы) Before
текущий метод Test
метод(ы) After
для каждой такой "тройки" надо создать СВОЙ объект класса-теста.
5) Исключение в одном тесте не должно прерывать весь процесс тестирования.
6) На основании возникших во время тестирования исключений вывести статистику выполнения тестов (сколько прошло успешно, сколько упало, сколько было всего)
Тема 7: Углубленные основы (примитивные типы, Remote debug, Hot swap).
Узнать детали устройства типов данных в Java.
Познакомиться с механизмами Remote Debug и Hot swap.
Знакомство с утилитой Jol
23 июля, 20:00 — 21:30
Тема 8: Байт код, class-loader, инструменатция, asm. ДЗ
Познакомиться с принципами работы виртуальной машины Java, ClassLoader-ами и байт-кодом
26 июля, 20:00 — 21:30
Домашние задания: 1
1 Автомагическое логирование.
Разработайте такой функционал:
метод класса можно пометить самодельной аннотацией @Log, например, так:

class TestLogging {
@Log
public void calculation(int param) {};
}

При вызове этого метода "автомагически" в консоль должны логироваться значения параметров.
Например так.

class Demo {
public void action() {
new TestLogging().calculation(6);
}
}

В консоле дожно быть:
executed method: calculation, param: 6

Обратите внимание: явного вызова логирования быть не должно.
Тема 9: Сборщик мусора. ДЗ
Знакомство со сборщиком мусора в Java
30 июля, 20:00 — 21:30
Домашние задания: 1
1 Сравнение разных сборщиков мусора
Написать приложение, которое следит за сборками мусора и пишет в лог количество сборок каждого типа
(young, old) и время которое ушло на сборки в минуту.

Добиться OutOfMemory в этом приложении через медленное подтекание по памяти
(например добавлять элементы в List и удалять только половину).

Настроить приложение (можно добавлять Thread.sleep(...)) так чтобы оно падало
с OOM примерно через 5 минут после начала работы.

Собрать статистику (количество сборок, время на сборки) по разным GC.

!!! Сделать выводы !!!
ЭТО САМАЯ ВАЖНАЯ ЧАСТЬ РАБОТЫ:
Какой gc лучше и почему?

Выводы оформить в файле Сonclusions.md в корне папки проекта.
Результаты измерений сведите в таблицу.
Тема 10: Java 8
Введение в функциональное программироавние (ФП).
Знакомство с возможностями ФП, которые появились в Java 8.
2 августа, 20:00 — 21:30
Проектирование
В этом модуле рассматриваются принципы проектирования SOLID и паттерны проектирования GOF.
В ходе выполнения Домашних Работ студент сможет на практике научиться применять паттерны проектирования и их комбинации.
Тема 1: Концепты проектирования ООП. ДЗ
Изучить принципы SOLID и общие критерии идеальной архитектуры
20 августа, 20:00 — 21:30
Домашние задания: 1
1 Эмулятор банкомата
Написать эмулятор АТМ (банкомата).

Объект класса АТМ должен уметь:
- принимать банкноты разных номиналов (на каждый номинал должна быть своя ячейка)
- выдавать запрошенную сумму минимальным количеством банкнот или ошибку если сумму нельзя выдать
Это задание не на алгоритмы, а на проектирование.
Поэтому оптимизировать выдачу не надо.
- выдавать сумму остатка денежных средств
Тема 2: Behavioral patterns
Изучить поведенческие паттерны проектирования
23 августа, 20:00 — 21:30
Тема 3: Structural patterns. ДЗ
Изучить структурные паттерны проектирования
27 августа, 20:00 — 21:30
Домашние задания: 1
1 Департамент ATM
Написать приложение ATM Департамент:
1) Департамент может содержать несколько ATM.
2) Департамент может собирать сумму остатков со всех ATM.
3) Департамент может инициировать событие – восстановить состояние всех
ATM до начального (начальные состояния у разных ATM могут быть
разными).
Это тренировочное задание на применение паттернов.
Попробуйте использовать как можно больше.
Тема 4: Creational patterns
Изучить "создающие" паттерны проектирования
30 августа, 20:00 — 21:30
Работа с окружением
Этот блок посвящен вопросам взаимодействия java-приложения с внешним миром.

Рассматриваются операции с файловой системой, механизмы сериализации/десериализации объектов.

Большое внимание уделяется работе с реляционными базами данных. Подробно изучаются jdbc и Hibernate. При этом не забываем про noSQL. В качестве примера работы с noSQL рассматривается реактивное взаимодействие с MongoDb.

Особое внимание уделяется разработке Web-серверов. Изучаем TomCat как пример контейнера war-приложений и Jetty - как встроенный web-сервер, учимся применять технологию web-сокетов.

В качестве примера Dependency Injection изучаем Spring и Spring Boot.
Тема 1: Сериализация. ДЗ
Познакомиться с функционалом сериализации объектов
3 сентября, 20:00 — 21:30
Домашние задания: 1
1 Cвой json object writer
Напишите свой json object writer (object to JSON string) аналогичный gson на основе javax.json.

Поддержите:
- массивы объектов и примитивных типов
- коллекции из стандартный библиотеки.
Тема 2: NIO. Логирование
познакомиться с методами логирования в Java.
познакомиться с NIO
6 сентября, 20:00 — 21:30
Тема 3: JDBC. ДЗ
Познакомиться с транзакцией в реляционной СУБД и jdbc
10 сентября, 20:00 — 21:30
Домашние задания: 1
1 Самодельный ORM
Работа должна использовать базу данных H2.
Создайте в базе таблицу User с полями:

• id bigint(20) NOT NULL auto_increment
• name varchar(255)
• age int(3)

Создайте свою аннотацию @Id

Создайте класс User (с полями, которые соответствуют таблице, поле id отметьте аннотацией).

Напишите JdbcTemplate, который умеет работать с классами, в котрых есть поле с аннотацией @Id.
Executor должен сохранять объект в базу и читать объект из базы.
Имя таблицы должно соответствовать имени класса, а поля класса - это колонки в таблице.

Методы JdbcTemplate'а:
void create(T objectData);
void update(T objectData);
void createOrUpdate(T objectData); // опционально.
<T> T load(long id, Class<T> clazz);

Проверьте его работу на классе User.

Метод createOrUpdate - необязательный.
Он должен "проверять" наличие объекта в таблице и создавать новый или обновлять.

Создайте еще одну таблицу Account:
• no bigint(20) NOT NULL auto_increment
• type varchar(255)
• rest number

Создайте для этой таблицы класс Account и проверьте работу JdbcTemplate на этом классе.
Тема 4: Общие вопросы работы с СУБД, myBatis
Рассмотреть CAP-теорему
Рассмотреть методы организации блокировок
Познакомиться с MyBatis
13 сентября, 20:00 — 21:30
Тема 5: Hibernate. ДЗ
Закомство с Hibernate
17 сентября, 20:00 — 21:30
Домашние задания: 1
1 Использование Hibernate
Работа должна использовать базу данных H2.

Возьмите за основу предыдущее ДЗ (Самодельный ORM)
и реализуйте функционал сохранения и чтения объекта User через Hibernate.
(Рефлейсия больше не нужна)
Конфигурация Hibernate должна быть вынесена в файл.

Добавьте в User поля:
адрес (OneToOne)
class AddressDataSet {
private String street;
}
и телефон (OneToMany)
class PhoneDataSet {
private String number;
}

Разметьте классы таким образом, чтобы при сохранении/чтении объека User каскадно сохранялись/читались вложенные объекты.
Не забывайте про сохранение абстракций в приложении (см. комментарий в вебинаре).
Тема 6: JPQL
Познакомиться с Connection Pool
Узнать методы конструирования запросов в Hibernate
20 сентября, 20:00 — 21:30
Тема 7: Типы ссылок. Кэширование. ДЗ
Узнать какие в java есть виды ссылок и для чего они нужны
Понять как устроены кэши
Познакомиться с "промышленным" кэшом Ehcache
24 сентября, 20:00 — 21:30
Домашние задания: 1
1 Свой cache engine
Напишите свой cache engine с soft references.
Добавьте кэширование в DBService из задания про Hibernate ORM
Тема 8: No SQL
Познакомиться с noSQL базами данных
Понять отличия SQL от noSQL, когда и что следует использовать.
Познакомится с MongoDB
27 сентября, 20:00 — 21:30
Тема 9: Web сервер. ДЗ
На примере Jetty понять принципы работы Web-сервера и servlet API
1 октября, 20:00 — 21:30
Домашние задания: 1
1 Веб сервер
Встроить веб сервер в приложение из ДЗ про Hibernate ORM.
Сделать админскую страницу, на которой админ должен авторизоваться.
На странице должны быть доступны следующие функции:
- создать пользователя
- получить список пользователей

P.S. при желании вместо Hibernate и H2 можно использовать MongoDB
Тема 10: Dependency injection. ДЗ
Изучить принципы работы контейнера TomCat
Изучить принципы работы framework Spring
4 октября, 20:00 — 21:30
Домашние задания: 1
1 Приложение с IoC контейнером
Собрать war для приложения из предыдущего ДЗ.
Создавать кэш и DBService как Spring beans, передавать (inject) их в сервлеты.
Запустить веб приложение во внешнем веб сервере.
Тема 11: Asynchronous Web applications
Узнать как можно сделать ассинхронный web-сервис на java.
Познакомиться со Spring Boot
8 октября, 20:00 — 21:30
Многопоточность
Этот модуль посвящен многопоточности в разных ее проявлениях.
Начинаем изучение с разбора Java Memory Model, какова цель ее создания, что решается и как это использовать.
Заканчиваем Completable Future.
Начинаем рахрабатывать многопоточные приложения и переходим к разработке многопроцессорных приложений - приложения, отдельные части которох работают на разных хостах.

Чтобы понять как объединить такие приложения, изучаем блокирующие и неблокирующие сокеты (NIO).
Тема 1: Thread
Познакомиться с основными принципами многопоточности
Узнать как управлять потоками в Java
29 октября, 20:00 — 21:30
Тема 2: JMM. ДЗ
Познакомиться с основными проблемами многопоточности.
Понять зачем придумали JMM
Узнать основные положения JMM
1 ноября, 20:00 — 21:30
Домашние задания: 1
1 Последовательность чисел
Два потока печатают числа от 1 до 10, потом от 10 до 1.
Надо сделать так, чтобы числа чередовались, т.е. получился такой вывод:
Поток 1:1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3 4....
Поток 2: 1 2 3 4 5 6 7 8 9 10 9 8 7 6 5 4 3 2 1 2 3....
Тема 3: Message System. ДЗ
Познакомиться с потокобезопасными контейнерами
Познакомиться с паттерном - "система обмена сообщениями"
5 ноября, 20:00 — 21:30
Домашние задания: 1
1 MessageSystem
Добавить систему обмена сообщениями в ДЗ про веб сервер с IoC контейнером.
Пересылать сообщения из вебсокета в DBService и обратно.
Организовать структуру пакетов без циклических зависимостей.
Тема 4: Executors
Познакомиться с пулами потоков в Java
8 ноября, 20:00 — 21:30
Тема 5: Многопроцессные приложения. ДЗ
Изучение сетевого взаимодействия в java.
Изучение принципов работы "клиент-серверного" приложения в Java
12 ноября, 20:00 — 21:30
Домашние задания: 1
1 MessageServer
Cервер из предыдущего ДЗ про MessageSystem разделить на три приложения:
• MessageServer
• Frontend
• DBServer
Запускать Frontend и DBServer из MessageServer.
Сделать MessageServer сокет-сервером, Frontend и DBServer клиентами.
Пересылать сообщения с Frontend на DBService через MessageServer.

Запустить приложение с двумя серверами фронтенд и двумя серверами баз данных на разных портах.
Если у вас запуск веб приложения в контейнере, то MessageServer может копировать root.war в контейнеры при старте
Тема 6: NIO
Изучение основ сетевых возможностей NIO
15 ноября, 20:00 — 21:30
Тема 7: Netty
изучить основные принципы работы Netty.
11 октября, 20:00 — 21:30
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц, однако к защите надо разработать действующий прототип, который пояснит идею проекта.

В процессе написания по проекту можно получить консультации преподавателей.

Для достижения результата работа над проектом организуется в виде недельных итераций.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Студет может самостоятельно выбрать технологии из числа изученных на курсе и/или использовать что-то дополнительно.

Примеры тем:
- телеграм-бот
- распределенный кэш
- web сервер (разберите протокол)
- socket сервер на NIO (как netty)
- свой ORM
- кэш для hibernate
Тема 1: Консультация по ДЗ и проектам
получить ответы на вопросы по проекту
22 ноября, 20:00 — 21:30
Домашние задания: 1
1 Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Примеры тем проекта:
- web сервер (разберите протокол)
- socket сервер на NIO (как netty)
- свой ORM
- распределенный кэш
- кэш для hibernate
Тема 2: Консультация по ДЗ и проектам
получить ответы на вопросы по проектной работе
26 ноября, 20:00 — 21:30
Тема 3: Защита проектов
защитить свой проект и получить рекомендации экспертов
29 ноября, 20:00 — 21:30
Выпускной проект
Заключительный месяц курса посвящен проектной работе. Свой проект — это то, что интересно писать слушателю. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Также проект станет примером кода и отличным кейсом в портфолио, который оценят потенциальные работодатели.


Примеры тем проекта:

  • web сервер (разберите протокол);

  • socket сервер на NIO (как netty);

  • свой ORM;

  • распределенный кэш;

  • кэш для hibernate​.

Прошедшие открытые вебинары по курсу
Открытый вебинар — это настоящее занятие в режиме он-лайн с преподавателем курса, которое позволяет посмотреть, как проходит процесс обучения. В ходе занятия слушатели имеют возможность задать вопросы и получить знания по реальным практическим кейсам.
Java и Docker
Сергей Петрелевич
День открытых дверей
20 июня в 20:00
Для доступа к прошедшим мероприятиям необходимо пройти входное тестирование
Возможность пройти вступительное тестирование повторно появится только через 2 недели
Результаты тестирования будут отправлены вам на e-mail, указанный при регистрации.
Тест рассчитан на 30 минут, после начала тестирования отложить тестирование не получится!
Пройти вступительное тестирование
После обучения вы

  • получите материалы по всем занятиям (видеозаписи занятий, презентации, примеры кодов);

  • существенно повысите свою компетенцию в сфере разработки на Java;

  • научитесь разрабатывать коммерческие приложения самостоятельно и в команде;

  • получите сертификат об окончании курса;

  • получите приглашение пройти собеседование в компаниях-партнерах (в случае успешного обучения на курсе).

Дата выдачи сертификата: 8 февраля 2020 года
Ваш сертификат

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик Java»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.

онлайн-образование

Сертификат №0001

Константин Константинопольский

Успешно закончил курс «Разработчик Java»
Выполнено практических заданий: 16 из 16

Общество с ограниченной ответственностью “Отус Онлайн-Образование”

Город:
Москва

Генеральный директор ООО “Отус Онлайн-Образование”
Виталий Чибриков

Лицензия на осуществление образовательной деятельности
№ 039825 от 28 декабря 2018г.
Общая стоимость
50 000 ₽ 42 500 ₽
В месяц: 12 500 ₽ 10 625 ₽
В кредит: ₽ в месяц
Продолжительность
6 месяцев
Начало занятий
28 июня
Java – это один из языков программирования, с помощью которого создают приложения для работы и игр. Такие продукты устанавливаются на стационарные компьютеры, мобильные устройства и облачные высоконагруженные кластеры. Высокая востребованность разработчиков, владеющих этим языком, делает популярными курсы Java. Если вы хотите стать настоящим профессионалом в сфере IT, приглашаем пройти обучение в нашем центре.
Условия и результаты
Сразу отметим, что Java-изучение у нас предусматривает подготовку не с нуля. Чтобы стать слушателем, необходимо владеть базовыми знаниями и иметь определенный опыт работы с этим или другим языком. Если ваш уровень слишком низкий, можете пройти подготовительные курсы, где получите требуемые навыки взаимодействия с Java.
Подготовительные и основные занятия проводятся в формате онлайн. После выпуска вы:
сможете заниматься разработкой серверных приложений;
освоите разные подходы к созданию программных продуктов;
поймете особенности языка и платформы;
получите все видеозаписи и материалы, используемые во время занятий.
Также обучение Java в OTUS – это шанс на трудоустройство в крупную IT-компанию. Проходите вступительное тестирование и записывайтесь на курсы по телефону или онлайн.