Мы все знаем, что не достаточно знать язык Java, чтобы найти работу. Требуется знание многих фреймворков и еще - масса умений (от умения находить ответ в интернете до умения себя продать). Можно было бы пойти по проторенной дороге и повторять учебные курсы так, как мы и сами когда-то учили. Вместо этого, мы спросили рынок - что ему надо и составили наш курс только из тех вопросов, которые рынок требует. безжалостно исключив из него все, что "может пригодится. Нашей учебной программе уже более 2.5 лет и она непрерывно совершенствуется. 
На сегодняшний момент программа состоит из следующих групп заданий:

Группа 1: задания на Clean code 

Эти задания позволяют новичку в Java освоиться с новым для него языком и с достаточно жесткими требованиями по оформлению кода, принятыми в мире Java. Так же эта группа заданий обучает студента пользоваться таким мощным инструментом разработки, как юнит-тесты. И таким основополагающим фреймворком, Collection framework. 

Группа 2: дополнительные языки - SQL

Без знания SQL ни один джавер не сможет нормально работать. Для опытного программиста задания этого блока займут максимум пару часов. Если они занимают больше, то явно есть пробелы в знаниях.

Группа 3: задачи на декомпозицю и построение архитектуры приложения. 

В эту группу входят два задания на  построение диаграмм предметных областей (UML) и создания кода на основе собственной декомпозиции. Именно умение строить декомпозицию позволяет программисту избежать проблем с кучей бессмысленно потраченых усилий и миллионов переделок при уточнении знаний по предметной области. Так же эти навыки снимают проблему старта создания архитектуры (трехтирового приложения, традиционного для Java) с нуля 

Группа 4: работа с леером доступа к базе данных
В этом блоке студент учится работать с  базой данных средствами стандартного Java фреймворка - JDBC. И строить второй из трех лееров - Data Access Layer.  Естественно в чистом виде в современных приложениях plain JDBC практически не используется, но лежит под капотом всех возможных ORM (Object-Relational Mapping) систем. И без понимания того. как работает JDBC полноценно понимать ORM фреймворки Не получится. 

Группа 5: дополнительные инструменты и средства

Что отличает школьную поделку от профессионального продукта? Наличие следующих вещей - error handling, logging, тесты и документация. Тестами и документацией мы пока оставим, а вот обработка ошибок и логирование, а так же maven - самая популярная сейчас система сборки - то, без чего ни один проект не может быть профессиональным.  

Группа 6: пользовательский интерфейс

Для того, чтобы завершить трехтировое приложение, в этом блоке мы делаем самый примитивный UI, с использованием базовой функциональности - сервлетов и JSP. Точно так же, как и с  ДАО слоем, в чистом виде такое решение сейчас не используется, но оно лежит под капотом у всех современных UI фреймворков.

Группа 6: трансформация приложения на использование современными фреймворками. Включая сверхпопулярный сейчас Spring Core (IoC, DI) и Hibernate

Группа 7: трансформация приложения на использование Spring MVC