Implementing Modern Architecture – Part 2

Kurs 2024

Dager: 3

Pris: 21900

Kurskategori: Applikasjonsutvikling

This training builds on the popular “Implementing Modern Architecture” training by going deeper into key topics and covering those that couldn’t fit into the first training. Over 3 days, participants will gain tools applicable to their daily work as architects.

We will cover important subjects such as Architecture Modernization, Serverless architecture, versioning and evolution of synchronous and asynchronous APIs, and best practices in documenting your architecture beyond traditional diagrams. The course will also demonstrate how to approach testing complex systems, storing data effectively, and shaping an environment that enables teams to quickly and safely ship code to production. In addition, we will explore how AI can support architects in their daily work.

Through a series of tasks and discussions, participants will learn how to apply the tools, strategies, and methodologies presented during the training to the products they work on.

Audience: Architects, Tech Leads, Senior Developers
Format: 20% workshop / 80% lecture
Duration: 3 days

Day 1. 

 

  • Recap: Architecture, Architects, and Domain-Driven Design 
  • System Architecture
    • Quick Recap: Monolith, Modular Monolith, and Microservices
    • Serverless Computing
    • Strangler Fig Pattern strategies
  • Communication
    • Quick Recap of the main topics from the previous training: Sync and Async communication, Commands and Events, Concurrency, Processing Order, Errors, and Reliable communication
    • Versioning of Sync and Async APIs
    • Producer-side errors
  • Documenting your Architecture
    • Documentation beyond C4
    • Auto-generated documentation for API

Day 2. 

  • Event Sourcing
    • Quick Recap of the concept
    • Specific solutions for various challenges
  • Storing Data
    • Types of Data Stores
    • Applicability of different Data Stores
    • Choosing a proper Data Store
  • Coding your Architecture
    • Different strategies of Code Sharing
    • Effective Code Reviews
    • Pair Programming
    • Mob Programming
  • Testing complex systems
    • Types of Tests
    • Shapes of Tests (Pyramid, Honeycomb, etc.)
    • Contract Testing
    • Acceptance Testing

Day 3. 

  • Continuous Delivery for real systems
    • DORA metrics
    • Branching strategies
    • Pipelines best practices
    • Versioning artifacts
    • Inspecting artifacts
    • Managing environments
  • Deployment strategies
    • Zero downtime deployments
    • Canary deployments
    • Blue-green deployments
  • Database migrations
  • Making your system resilient
  • AI
    • Introduction into LLMs
    • Leveraging AI in Architect’s work

Kursinstruktør

Marek Dominiak i a CTO of a software house, a hands-on architect, and a Trainer with 18 years of experience (15 years in Norwegian market) mainly in the Java world. He spent a lot of time mentoring developers and leading teams, with a big focus on creating sustainable solutions – systems that will last for many years. This set him on the path of learning about Software Craftsmanship, Domain-Driven Design, and code quality early on.

Marek has trained more than 500 people in modern architecture and testing. I like to share my knowledge at conferences related to software development. On some occasions I’m speaker on Software Development conferences: DevoxxPL, DevoxUK, JPrime, JDD in Krakow, Warsaw IT Days,…)

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.

Ø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.

Henrik Buzzi