Effective Java Software Design

längd, varaktighet: 2.0 dagar

During this intensive and practical 2-day workshop, you will learn how to develop modern, clean, and maintainable applications using the latest Java best practices, frameworks, and libraries. You will be equipped with practical solutions to your daily coding, design, and architecture challenges.

  • You will unlearn old-school patterns that most Java applications suffer from.
  • You will learn that you might not need Kotlin at all.


  • Design a lightweight and clean architecture for your enterprise app. 
  • Structure and layer your modules, packages, classes and tests.
  • Mix and apply modern object-oriented, functional, and reactive design patterns.
  • Write an expressive, readable, modular, and testable code that even grandma can understand.
  • Turn buzzwords such as SOLID, GRASP, and SLAP into real practice.
  • Keep code complexity under tight control and get out of technical debt.
  • Craft a rich domain model with the business logic using real-world DDD and Clean Code techniques.
  • Design a flexible service layer with CQRS, Commands, Reactions and Pipelines.
  • Decouple classes, packages and services using event bus, scheduling, and eventual consistency.
  • Define and enforce the consistency of architecture and design.
  • Deal with data like a boss, and make Hibernate (and jOOQ) work for you (not the other way around).
  • Implement fault tolerance patterns such as Retries, Bulkheads and Circuit Breakers in modern Java.
  • Understand what to test, how to test, and how to find a balance between the unit and high-level testing.


  • The course is based on real-world project code, stories and examples.
  • The course demos are built using real-world libraries such as Spring, Hibernate, and Guava.
  • The course includes practical Lab work and an optional homework assignment.
  • The course is updated to support Java 13 additions and functional programming idioms (but is relevant for apps that run on older Java versions).
  • You will get a list of books, videos, GitHub projects to learn from, and lifetime support from Eduards.

Target audience: No matter if you’re a recent graduate or an experienced developer this intensive masterclass will help grow and improve your technical skillset. The course is designed for professional Java developers who want to expand their knowledge beyond basic and easy-to-google concepts.

Learning methods: Practical exercise, independent work.
Assesment methods: Execution of independent work.
Assesment form: Independent practical tasks on relevant topics.

Price includes:

  • Coffee breaks and lunch in restaurant “Lusikas”