Build software that lasts
Learn the design fundamentals that turn working code into software that survives change, scale, and time.
30-day money-back guarantee. Cancel anytime. Buying for your team? Team seats and invoicing .
Tools change. Frameworks change. AI changes.
The fundamentals of good software design do not.
Most developers struggle not because they lack tools, but because they were never taught how to structure, reason about, and evolve software . Without those fundamentals, speed just means getting stuck faster.
Twenty-five years of teaching software design, in one program
I taught software design at university for 25 years. My courses have been followed by thousands of students , and my YouTube content has helped millions of developers worldwide.
Over the years, I've learned what actually works when teaching developers: in the classroom, online, and at scale. This program is the result of all that experience. It's my definitive take on how software design should be taught today.
I wish I'd had access to this when I was learning.
This is not just another online course
Most programs hand you patterns. This one builds the judgement to know when to use them.
Deep fundamentals
A guided path built to go deep, not wide. You learn why designs break, and how to prevent it.
Trade-offs, not rules
You work through real examples, not toy problems, and make the design calls yourself.
AI without losing control
Collaborate with AI on real systems without giving up control of your architecture.
Progress you can see
Clear progress from beginner to intermediate to expert, so you always know where you are.
Built to grow with you
Intuition that transfers across projects, teams and tools, not content you binge and forget.
The curriculum
This program teaches you how to design software by balancing forces, so your code doesn't just work, it holds up over time. Whether you write it yourself or collaborate with AI.
Level 01
Core Designer
Design code that stays clear and stable
This is where most developers struggle: not because they can't write code, but because their code doesn't stay maintainable. In this phase, you'll learn how to recognize structural problems and refactor toward clarity and stability, including how to spot and correct issues introduced by AI-generated code.
Learn to see what's wrong before trying to fix it.
- Identify coupling and cohesion issues in real code
- Apply SRP, DRY, KISS, and YAGNI in context (not as rules)
- Understand the Law of Demeter and why it matters
- Recognize when patterns like Strategy are emerging naturally
- Detect common structural issues in AI-generated code
Level 02
System Designer
Design applications that stay maintainable as they grow
Once your code is well-structured, the next challenge is keeping systems understandable and adaptable as complexity increases. This phase teaches you how to design Python applications that can evolve without turning into tightly coupled, fragile systems.
Level 03
Master Designer
Make the hard architectural trade-offs
Great software architects don't memorize patterns. They develop judgment. In the Master Designer phase, you'll learn how to evaluate competing priorities, make intentional trade-offs, and design systems that remain successful as they evolve.
Throughout the program, you'll also learn how to use AI as a tool, while you stay in control of structure, decisions, and long-term quality.
What you'll be able to do
This is not a collection of patterns or tips. It's a system for thinking about design.
My courses get 5-star Google reviews!
Arjan delivers complex concepts in a an easy to understand way. His courses are full of good examples and ready-to-apply cases, which makes them totally recommended.
Methodology and common sense combined. These courses are really excellent and have enabled me to look at code in an intelligent and structured way. Wikipython man has provided us with a wealth of content that I won't tire of revisiting over time. The youtube channel is a delight, these courses are a nectar. Thank you Arjan!
I very much enjoyed Arjan's courses (the 30-day challenge and Software design mindset)! I hope to see and learn from more great content from him in the future and would recommend his courses to anyone who's starting out in programming and want a more holistic view of how to write clean, extensible, and maintainable code!
Choose your plan
Start with the pathway or get everything. Upgrade at any time.
Basic
Master the complete software design pathway
-
All 3 levels of Software Design Mastery
-
30+ lessons, exercises and quizzes
-
Student community
-
All updates to the core program
Complete
Go beyond the core program
Everything in Basic, plus:
-
Full Mastery Content Library, including:
Pythonic Patterns courseDomain Modeling courseAdvanced Python courseDesign Wins seriesWorkshop & live-session archive -
New library content added over time
Complete Lifetime
Your permanent software design reference
Everything in Complete, plus:
-
Lifetime access
-
All future Mastery updates
-
All future additions to the Content Library
-
No recurring payment
Prices in EUR. Buying for your team? Team seats and invoicing .
It's completely risk-free
Software Design Mastery is built to change how you think about software, not just what you can build. I've put everything I know about teaching design into it.
Yearly and lifetime plans come with a 30-day, 100% money-back guarantee.
Work through the program, apply what you learn, and if you don't find it valuable within the first 30 days, send me an email. I'll refund you, no questions asked.
Monthly plans aren't covered by the guarantee. Instead, you can cancel at any time and you won't be charged again.
If it's not the right fit, I'd rather you put your time and energy where it serves you best.
Bring Mastery to your team
Team seats with central billing and invoicing, so your whole team learns to design software the same way.
Frequently Asked Questions
Learn software design the right way
One program, three levels, and a way of thinking that outlasts every framework.