Is this Program right for YOU?

If you’re a Senior Developer, you’re likely worried that learning and growing professionally is over for you. That’s it. You’re done.

Luckily: NO! Now is when the real fun begins.

You now have the prerequisite skills needed for a career upgrade! We’ll guide you to become a Next-Gen Architect.

Designing Next-Gen Architecture is not “just another course”. It’s a comprehensive career growth program. During a few months, we’ll share our Software Architecture expertise - both in theory and in practice.

You will learn everything you need to know to succeed as a Next-Gen Architect.

We have already dominated our local market and we’re now bringing DNA to all software developer worldwide! Join 9,000+ developers who have trusted Designing Next-Gen Architecture - a Program bringing new quality of development to companies of all sizes.

DNA in numbers:


What makes this Program unique?

Most courses are led by people who are good at theorizing.

Ours isn’t.

You’ll learn from seasoned practitioners, founders, and consultants: Jakub Pilimon, Jakub Kubryński, and Łukasz Szydło.

Software Architecture merges business with development so there’s no room for monotony. A skilled Software Architect needs to combine expert knowledge with a readiness to take on new challenges.

We’re not interested in co-creating Architects who get lost in what they’re doing. Every Next-Gen Architect needs to be self-aware and confident. That’s why we always supplement theoretical knowledge with practical tasks.

Is there another way?
You bet.

books Books

— Books are LIFE, but they focus on broader theoretical contexts. To problem-solve effectively, Next-Gen Architects need to be able to ask questions and get specific answers from practitioners.

trainings On-the-job training on live architecture

— Otherwise referred to as “Mission Impossible” or “The Holy Grail”. Most commercial projects don’t let you experiment and learn from your mistakes... and for a good reason.

tutorials Tutorials

— We’ve all been there. It’s way too easy to save a video for later or spend $20 on a course you’ll never complete (or frankly, never even start). Tutorials typically only scratch the surface and that’s just not enough. How do you know a given course will be of value? We promise ours is.


One comprehensive career growth Program merging theory and practical exercises (white horse not included). Learn from seasoned Architects who walk you through real business cases.

This Program is tailor-made for Senior Developers who can only learn from practitioners and real business cases.

Being a Senior is not the end of your career.
It’s only the beginning.

What’s in it for you?

Designing Next-Gen Architecture is an advanced career growth Program you won’t find anywhere else. As the course was designed with Seniors in mind, it’s NOT for everyone.

careercareer upgrade
ddd-espractical application of DDD and ES
microservicesa balanced look at microservices
designdesign architecture skills
navigateability to navigate existing software systems
analyticalanalytical skills

Meet the Mentors

What makes our Mentors exceptional? They’re both practitioners and instructors. They deal with software architecture every day, but they also know how to teach. The waiting list for their on-site training is ridiculously long (up to 1 year!).


Jakub Pilimon

Architect / Trainer / Consultant

Principal Technologist, independent consultant. Domain Driven Design enthusiast and unit testing fanatic. A huge fan of Event Storming.
After hours: kitesurfing and motorcycles.

Domain Driven Design
Unit testing
Evolutionary architecture
Event Storming


Jakub Kubryński

Architect / Consultant / Trainer // Devskiller

Programming for the last 30 years. He wrote his first program at the age of 7 in Fortran 77 with the support of his Dad.
Over 15 years ago, he turned his passion into a career that still brings him joy every day. He started out as a developer and gradually progressed to becoming a designer, architect, team leader, and manager. Today, he is a trainer, consultant, and entrepreneur - he is the CEO and co-founder of

For years now, his focus has been on distributed systems and optimizing the software production process. His aim is always to speed things up and increase efficiency. He also is a strategic advisor and IT process auditor.

Distributed systems


Łukasz Szydło

Architect / Developer / Trainer // Bottega

Programmer, architect, and consultant. Professional trainer at Bottega IT Minds. A huge fan of Software Craftsmanship. Father of six.

Domain Driven Design
Continuous Delivery
Java EE
Unit testing

Maciej Aniserowicz

Designing Next-Gen Architecture founder and coordinator.

“Retired” developer with years of experience, blog/vlog author, and podcaster at DevTalk. Publisher of the book Occupation: Programmer, and Git Course. Publisher of multiple bestselling Programs: Domain Drivers, Next-Gen Architecture, Frontend Basics, DBMaster, SmartTesting, Frontend Architecture and Legacy Fighter.

Maciej is on a mission to empower the programming community with game-changing educational programs designed by best-in-class experts. He believes that the Designing Next-Gen Architecture program will transform the way IT seniors improve their skills.

How has architecture
transformed your career?

Kuba Pilimon


Throughout my career, there were two major breakthroughs.

First, I realized that I could knowingly break the rules. Putting theoretical skills into practice is totally different from academic knowledge. Know-how is important, but know-when-to is critical to becoming a mature developer.

The second breakthrough came as I was working as an architecture consultant. I became the link between the world of business and programming. As a software architect, I can propose the best business solutions without being a specialist in this area. How so? I understand how systems work, which allows me to choose the right solution.

I really like programming, but there’s a caveat. I like programming solutions I’ve devised myself, for business purposes. Whenever I work with an organization, I feel like I am creating a brand-new startup. It’s a fantastic feeling I want our course participants to experience for themselves.

Kuba Kubryński


I vividly remember the three key events that changed my career forever.

The first one came when was working in a team of three on our own project. We were in charge of design, configuration, production, and maintenance. We launched the product on a production computer, users started interacting with it… and it worked for them, not just for us!

This was an epiphany. A moment of clarity that made me feel confident about my skills.

This success gave us the courage to start a consulting business and eventually open our own software house. After signing the first customers, I had to think in broader terms. On top of thinking HOW to deliver a given feature, I was also asking questions from the business perspective - like WHAT type of feature should be delivered. The questions typically asked by development and business teams are different. As developers, our goal was to understand HOW to overcome an obstacle and how to go from A to B. Our newly found business angle meant focusing on the RESULTS of going from A to B and IF it the journey was even worth taking.

My final breakthrough was understanding how distributed systems work. In the first decade of my career, I thought they were just like the multiplication table. I didn’t understand the reasoning but merely memorized the sets of decisions taken in certain scenarios. I didn’t question WHY action A resulted in phenomenon B. When things finally clicked, I launched my own distributed systems course.

The lessons learned in the first decade of my career are context-specific and hard to share. In this program, I am focusing on breakthroughs #2 and #3 - collaborating with business and understanding distributed systems.

Łukasz Szydło


When you start using TDD, Agile, or SCRUM practices in a large project, you’re bound to hit a wall. How to implement them in a large team? I used to think it was impossible...

Good code practices work perfectly well in small teams of programming veterans. Implementing them in a large team requires creating a new framework. To me, Domain Driven Design was a revelation - a gateway to the world of software architecture. Thanks to DDD, you can divide a project into segments to be handled by teams of several developers working autonomously. In other words, DDD is a bridge between business and programming.

In short, architecture is the missing building block that structures the entire project. It allows us to put the techniques we learn into practice and successfully develop the project.

Need a DEMO?

Need to see what Designing Next-Gen Architecture is like for yourself? No problem.
Check out our sample video lessons.
Let us show you why 9K+ developers have trusted us.


Agile Achitecture [DNA DEMO, Module 01 Lesson 05]

Cohesion [DNA DEMO, Module 08 Lesson 05]

Contract Tests [DNA DEMO, Module 15 Lesson 03]

What’s inside?

// here’s what you get

Program resources
  • 20 weeks of guided Software Architecture training
  • engaging lessons designed by our Mentors
  • comprehensive learning resources — videos, audio materials, transcripts, paired with real-life examples, engaging presentations, and code
  • lifetime access to the Program
Your own way of learning
  • learn at your own pace (we recommend 3-4 hours a week)
  • presentation PDFs — you can download these and learn on the go
  • audio versions of every lesson — you can listen to DNA like podcast episodes!
  • lesson transcripts — if you prefer to read
Bonus materials
  • FREE Program updates — if we change/refresh any resources, you’ll get the latest version free of charge
  • homework — our experts are practitioners AND trainers, so they know how to teach
  • examples in the following programming languages: Java / C# / PHP / JavaScript
  • an interesting side effect — on top of improving your tech skills, you will also grow your analytical skills


// here’s what you’ll learn


Module 01

Intro to Designing Next-Gen Architecture

01 Introduction to software architecture
02 C4 Model - Architecture Visualization
2a Assignment - C4
03 Architectural Drivers - What are those? How to discover them?
3a Assignment - Architectural Drivers
3a Assignment - ADR
04 Number-driven Architecture
4a Assignment - Architectural Metrics
05 Agile Architecture
Module 02

Strategic DDD (Domain Driven Design) Problem Space

01 Architecture and Business
02 Domain and Subdomains
03 Discovering Subdomains
04 Big Picture Event Storming
05 Discovering Subdomains in Practice
06 Metrics for Business
07 Assignment - Subdomains
08 Assignment - Big Picture Event Storming
09 Assignment - Metrics for Business
Module 03

Strategic DDD (Domain Driven Design) Solution Space

01 Bounded Context
02 Subdomain and Bounded Context
03 Validating Context Boundaries
04 Defining Bounded Contexts in Practice
05 Local Architectural Drivers
06 Conway's Law
07 Assignment - Subdomain and Bounded Context
08 Assignment - Bounded Context
Module 04

Architecture Styles (Corporate and System)

01 Monolith
02 Distributed Systems
03 Enterprise Service Bus (ESB)
04 Microservices
05 Autonomy
06 Choosing System Architecture
07 Assignment - Architecture Overview


Module 05

Application Architecture Styles

01 Layered Architecture
02 Hexagonal Architecture
03 Pipes and Filters Architecture
04 Microkernel Architecture
05 Matching Architecture to the Model
06 Testing Strategy and Architectural Style
Module 06

Design level

01 Domain Model
02 “Design Level Event Storming”
03 Strategic DDD (Domain Driven Design)
04 Estimation
05 Implementation of the Domain Model
06 Aggregates
07 CQRS (Command Query Responsibility Segregation)
08 Long-running Processes
09 Bonus - Design Level and Live Coding Demo
10 Assignment - Design Level Event Storming
Module 07

Tactical DDD

01 Structural Elements
02 Implementation of Value Objects
03 Implementation of Entities
04 Breaking Business Rules
05 Implementation of Events
06 Implementation - Services
07 Publication of Events
08 Transport of Events
09 Selecting a Pattern
10 Assignment - Implementation of Structural Elements
Module 08


01 Introduction to Modularization
02 Encapsulation
03 Coupling
04 Tools for Measuring Coupling
05 Cohesion
06 Single Responsibility Principle
07 Selecting Models
09 TDD (Test Driven Development) Done Right
10 Assignment - Cohesion
Module 09


01 REST Basics
02 Resources in REST
03 Domain in REST
04 Caching
05 HATEOAS (Hypermedia as the Engine of Application State)
06 REST Versioning
07 Testability of REST
08 REST Documentation
09 CORS (Cross-Origin Resource Sharing)
10 Assignment - API Overview


Module 10


01 Transactions
02 Concurrency Anomalies
03 Reactive Data Sources
04 ORM (Object-Relational Mapping)
05 CAP, BASE and Eventual Consistency
06 Distributed Consensus
07 Choosing a Database Engine
Module 11

Event Sourcing

01 Event sourcing
02 Domain model and event sourcing
03 Event persistence
04 Read model
05 Event versioning
06 Event sourcing - optimisations
07 Live coding


Module 12

Distributed Systems

01 Causes of system distribution
02 Division of project work
03 Incorrect assumptions in system distribution
Module 13


01 Microservices and Distributed Systems
03 Availability
04 Temporal coupling
05 Zero-downtime Deployments
06 Assignment - SLA/SLO/SLI
07 Assignment - Temporal Coupling
Module 14


01 “Design for failure”
02 Synchronous vs Asynchronous Communication
03 Asynchronous Communication Fire & Forget
04 Distributed Sagas
05 Public API vs Private API
06 Circuit breaker
07 Service discovery
08 Client side load balancing
Module 15

Communication Quality

01 Communication Quality
02 E2E Tests
03 Contract Tests
04 Consumer driven contracts
05 Contracts in Local Development
06 Distributed tracing
07 Live Demo

expand 05 CI/CD

Module 16

Continuous Integration, Deployment & Delivery

01 Deployment pipeline
02 Continuous Delivery
03 Continuous Integration and Deployment
04 Fail safe vs safe-to-fail
05 Post-mortem
06 Performance Testing
07 Monitoring
08 Major Performance Issues


Module 17

Infra I

01 Infrastructure
02 Infrastructure as Code
03 Application Configuration Management
04 Centralized Logging
05 Mechanisms for Improving Performance and DDoS Protection
06 Designing Infrastructure with a Focus on HA (High Availability)
07 Implementing Disaster Recovery Processes
Module 18

Infra II

01 Cloud
02 Containers
03 Kubernetes
04 Service Mesh
Module 19


01 Introduction to Security
02 Kerberos
03 SAML 2.0
04 OAuth 2.0 + OpenID Connect
05 JWT
06 Edge Service
07 Managing Access to System Components
08 Secure development policy
09 Case Study on Securing Applications


Module 20

“Big Ball Of Mud” Refactoring

01 Introduction
02 Refactoring to a Modular Monolith
03 Details of Extracting Modules
04 Refactoring Modular Monolith to Microservices

How much is it?

// here’s what you’re paying for

20 weeks of practice-oriented software architecture training
free resource updates
lifetime access to the Program
a closed community for Program participants
satisfaction guarantee: get your money back if you don’t like the Program

All this for 999 EUR net.
That's less than ~50 EUR per week!

It’s time for you to take action!

Ready to become a Next-Gen Architect?


Remember what is waiting for you:


100% satisfaction money-back guarantee!

We’re confident that you’re going to find the Program valuable. In fact, we’re so confident that we’ll give you a full refund if you don’t.

You can claim a refund until 30 days after purchase! All it takes is one email - we’ll transfer the money back to your account. No drama.

Questions? Fire away!

We have nothing to hide.
If you need more information, please reach out:

Friendly reminder:
before you reach out, please check the FAQ section below. We may have already answered your question.

It’s decision o’clock!

Time to act!
Do you want to become a Next-Gen Architect?

Purchase DNA (preorder) for 999 EUR net »


When will I get access to the resources?


As soon as you make a payment, we will set up your account on our educational platform.
You will have access to the 1st module right away! Later, new modules will be published for you once a week.

Can I get an invoice?


Of course! In most countries, you can charge it off, but check your local regulations. VAT rules are also location-specific.

How long do I get access to the Program for?


You get lifetime access to the training materials. If there are any updates, you will receive them free of charge.

What languages are used in DNA?


The lessons are in English. :).
The code is available in Java, C#, PHP, and JavaScript.

20 weeks seems like a long time. Is this really necessary?


Our Mentors have designed this Program to cover every subject on the agenda without rushing over it. Learning Software Architecture in a few days is impossible - you’ll barely scratch the surface. 20 weeks is just right.

Do you offer Company packages?


We do! Find out more here (CLICK »).

Can I download the videos and watch them offline?


No: the videos are streamed. But you can download the code, presentations, and all additional resources.

How much time do I need for self-study?


We recommend allocating 4-5 hours a week to self-study. This will entail watching videos and doing homework.

When is the last day to withdraw from DNA with a full refund?


The refund window closes 30 days after purchase (so you will get access to 4 full modules, one every week). All you need to do is email us and we’ll take it from there.

How is the course structured? What type of resources are available to participants?


You get access to pre-recorded video lessons supplemented with downloadable code and presentations.
We also provide audio and text (transcription) of each lesson. See for yourself: take a look at the DEMO lessons »!

Is this course available on an open platform?


Our courses are hosted on our own platform » and we’re not planning to change that.

Do I get access to all course materials at once?


No, you don’t. We add new lessons and materials every week to keep everyone motivated and to help you create a learning habit and discipline.

Time to sign up for
Designing Next-Gen Architecture!

I am getting the Designing Next-Gen Architecture! »