← All Learning Boards

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

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