LEVEL 11 · BACKEND ENGINEERING

Course Core

Software design and architecture

Give code a shape that survives growth: design principles, SOLID and design patterns solving real problems, layered and clean architecture, architecture styles, and a small framework you build yourself so no framework is magic.

0 of 2 lessons done

Start lesson 1 →

When you finish, you can

  • Spot high coupling and low cohesion, and refactor it
  • Apply SOLID, DRY, KISS and YAGNI with judgement
  • Use factory, builder, adapter, decorator, proxy, strategy, observer, command and chain of responsibility where they solve a problem
  • Structure a backend in layers with ports and adapters
  • Compare monoliths, modular monoliths, microservices and event-driven systems
  • Build and explain the parts of a backend framework

You build: A miniature TypeScript framework with a container, router, middleware and validation

Course checkpoint

Prove you can move on. The checkpoint picks 10 questions at random from every lesson in this course. Get 8 right to pass. Your result is saved in this browser only.