Master Technical Foundations
The design judgment that separates senior engineers from everyone else. Not textbook definitions — the trade-offs, the failure modes, and the taste to know when a principle stops helping. Every code example is available in TypeScript, Python, and Java.
Training Modules
SOLID Principles
What the five principles actually mean in practice — including when applying them makes your code worse.
DRY & Abstraction
Knowledge duplication vs. code duplication, the wrong abstraction, and why seniors sometimes copy-paste on purpose.
Object-Oriented Design
Encapsulation as invariant protection, polymorphism replacing conditionals, and composition over inheritance.
Design Patterns
The handful of patterns seniors actually reach for, their modern lightweight forms, and pattern overuse.
Practice Questions
A comprehensive quiz covering every module on this board — senior-level judgment calls, not definitions.
What You'll Be Able To Do
Explain each SOLID principle with a real violation and its refactor — and name a case where applying it would be over-engineering
Distinguish knowledge duplication from incidental duplication, and know when copy-paste beats the wrong abstraction
Use encapsulation to protect invariants instead of writing getter/setter pairs out of habit
Replace type-switching conditionals with polymorphism — and know when a plain conditional is the better call
Recognize the design patterns hiding in modern frameworks and reach for the lightweight version first
How To Use This Board
Work through the modules in order — each one builds on the last. SOLID gives you the vocabulary, DRY & Abstraction sharpens your instinct for when to apply it, Object-Oriented Design puts it all into practice, and Design Patterns names the recurring solutions. Each module ends with a knowledge check; you need 80% to pass.
Use the language tabs on any code example to switch between TypeScript, Python, and Java — your choice is remembered across the whole page.
Ready to level up your design judgment?
Start with SOLID — not the acronym you memorized, but what the principles actually buy you in production code.
Begin with SOLID