Просто вивчити мову програмування 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 фреймворків.
Розробка Інтерфейсу Користувача з використанням Thymeleaf та Spring Security: Ви навчитеся створювати простий, але водночас ефективний інтерфейс користувача, використовуючи базові сервлети та JSP. Ми розглянемо використання Thymeleaf, надійного і потужного серверного шаблонного двигуна, який дозволяє створювати більш динамічні веб-сторінки. Додатково, ви засвоїте Spring Security, важливий компонент, який забезпечує захист вашого веб-додатку, керуючи аутентифікацією та авторизацією.

Група 7: Трансформація програми на використання сучасними фреймворками

Цей модуль орієнтований на активне використання Spring Core (IoC, DI) та Hibernate у вашому додатку.

Група 8: трансформація програми на використання Spring MVC

Ми перейдемо до наступного етапу розвитку вашого додатку, де основний акцент зробимо на використанні Spring MVC.

Група 9. Докеризація вашого додатку

Останній, але не менш важливий модуль - це докеризація вашого додатку. Ви навчитеся використовувати Docker, ключовий інструмент для контейнеризації, який спрощує розгортання вашого додатку. Ви навчитеся створювати Docker-образи вашого додатку, що значно спрощує його розгортання в будь-якому оточенні.