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 acquire 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. Additionally, we will explore how AI can assist architects in their daily tasks.
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
Duration: 3 days
- Day 1: Recap of the previous training, System Architecture, Communication, Documenting your Architecture
- Day 2: Storing Data, Coding your Architecture, Testing complex systems
- Day 3: Continuous Delivery for real systems, Deployment strategies, Database migrations, Leveraging AI in an Architect’s work
Format: 20% workshop / 80% lecture
Training program
1. Recap: Architecture, Architects, and Domain-Driven Design
2. System Architecture
a. Quick Recap: Monolith, Modular Monolith, and Microservices
b. Serverless Computing
c. Strategies for Software Modernization
3. Communication
a. Introduction to API Design
b. Versioning of Sync and Async APIs
c. Producer-side errors
4. Documenting your Architecture
a. Documentation beyond C4
b. Auto-generated documentation for APIs
5. Storing Data
a. Types of Data Stores
b. Applicability of different Data Stores
c. Choosing a proper Data Store
6. Coding your Architecture
a. Different strategies of Code Sharing
b. Effective Code Reviews
c. Pair Programming
d. Mob Programming
7. Testing complex systems
a. Types of Tests
b. Shapes of Tests (Pyramid, Honeycomb, etc.)
c. Contract Testing
d. Acceptance Testing
8. Continuous Delivery for real systems
a. Introduction to Continuous Delivery
b. DORA metrics
c. Branching strategies
d. Pipelines best practices
e. Versioning artifacts
f. Inspecting artifacts
g. Managing environments
9. Deployment strategies
a. Zero downtime deployments
b. Canary deployments
c. Blue-green deployments
10. Database migrations
11. Leveraging AI in an Architect’s work
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.
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.