Implementing Modern Architecture

To be a successful architect, one needs to know the pros and cons of different architectures and under what conditions they are applied in a project. In addition, a good knowledge of the development process and project support in production is also very valuable.

Varighet: 3 dager, kl. 08:45 - 16:00

Pris: 22 600 kr

Kurskategori: Arkitektur

Kursdatoer er ikke helt avklart ennå, men kontakt [email protected] for påmelding!

In this training, we will go on a journey starting with the definition of architecture and continuing with Domain-Driven Design, System Architecture, coding it, and finishing with running our Architecture in production. Participants will also learn about the pitfalls of misapplying architectural styles to certain problems. We'll also cover topics like Microservices, CQRS, Hexagonal Architecture, Event Sourcing, System stability, Development quality, and more.

Audience: Architects, Team Leads, Senior Developers

Duration: 3 days
-   Day 1: Architecture and Architects, Domain-Driven Design, System Architecture, Documenting your Architecture
-   Day 2: Communication, REST API, Coding your Architecture
-   Day 3: Tactical DDD, Command Query Responsibility Segregation, Event Sourcing, Stability of your System, Securing your System, Monitoring your System

Format: 20% workshop / 80% lecture

Training program

1.   Architecture and Architects
           a.   What is “architecture”?
           b.   What is good architecture?
           c.   Who is a good architect?
           d.   Architectural drivers

2.   Domain-Driven Design
          a.   Why use DDD?
          b.   How to discover a Bounded Context?

3.   System Architecture
         a.   Monolith
         b.   Microservices
         c.   Modular Monolith
         d.   How to make a choice?
         e.   A path from Monolith to Microservices

4.   Documenting your Architecture
        a.   Sharing main decisions
        b.   Visualizing architecture

5.   Communication
        a.   Synchronous and Asynchronous communication
        b.   Commands vs Events
        c.   Big and Small Events
        d.   Message Naming
        e.   Event Choreography and Orchestration
        f.   Message Concurrency 
        g.   Message Processing Order
        h.   Dealing with Errors
        i.   Idempotent Consumers
        j.   Outbox and Inbox

6.   REST API
       a.   General principles
       b.   Task-based REST API
       c.   Dealing with Errors: Problem Details

7.   Coding your Architecture
       a.   Project structure
       b.   Applying Hexagonal Architecture principles
       c.   Package structure
       d.   Code quality automation

8.   Tactical Domain-Driven Design
       a.   Designing Aggregates and Value Objects
       b.   Ensuring Invariants in Domain Model

9.   Command Query Responsibility Segregation

10.   Event Sourcing: advantages and challenges

11.   Stability of your System
      a.   Common failures and stability antipatterns
      b.   Stability patterns

12.   Securing your System

13.   Monitoring your System
     a.   Aspects of monitoring
     b.   Metrics to expose
 

PS: BRING YOU OWN COMPUTER

Kursdatoer er ikke helt avklart ennå, men kontakt [email protected] for påmelding!

 

Fenomenalt kurs. Obligatorisk for alle systemarkitekter.

Veldig kompetente kursledere, mange gode «real life» eksempler på hvordan man drar nyte av arkitektursprinsippene som var presentert.

Kursholderne var flinke til å relatere det teoretiske innholdet til praktiske eksempler og tilpasse dette til vårt forventningsnivå.

Veldig bra kurs, vil absolutt anbefale det for andre

The course had a good pace and covered almost only interesting themes

An extremely helpful and informative course, especially in conjunction with appropriately prepared material.

Kursinstruktør

Vadzim Prudnikau is a Hands-on Architect, IT Trainer, and Conference Speaker with 20+ years of experience (7 years in the Norwegian market), passionate about building high-quality software, mentoring developers, and sharing knowledge. He has trained over 500 professionals in Architecture, EventStorming, and TDD, built and deployed more than 10 production-ready projects, led multiple development teams, and created a successful Java department from scratch. Along the way, I’ve mentored 20+ developers and conducted 100+ technical interviews.

His expertise lies in Java, but he also have experience with Kotlin, Groovy, and other programming languages. Vadzim believe that strong technical skills, continuous learning, teamwork, and knowledge-sharing are the keys to success in software development.

Marek Dominiak is a CTO, hands-on architect, IT trainer, and conference speaker with 19 years of experience, mainly in the Java world, including 15 years working in the Scandinavian market. He is passionate about building sustainable software, mentoring developers, and sharing knowledge. Over the years, he has designed and delivered many production systems, led teams, worked closely with customers, interviewed developers, and introduced technologies proven in real-world use.

He has trained more than 700 people in modern architecture, Domain-Driven Design, EventStorming, and testing. Marek regularly shares his experience at software development conferences, speaking about architecture, technical leadership, software design, testing, and practical challenges of building and evolving real systems.

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Heidi Jakobsen Strømme
Produktansvarlig kurs