Ми всі знаємо, що недостатньо знати мову Java, щоб знайти роботу. Потрібно знання багатьох фреймворків та ще безліч навичок (від уміння знаходити відповідь в інтернеті до уміння себе продати). Можна було б піти второваною дорогою і повторювати навчальні курси так, як ми й самі колись навчали. Натомість, ми запитали ринок - що йому треба і склали наш курс тільки з тих питань, які ринок вимагає, безжально виключивши з нього все, що "може стати в нагоді". Нашій навчальній програмі вже понад 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