Picture-first software engineering

Learn the big ideas the easy way.

Short lessons with diagrams, real-life analogies and small code examples, from clean code and SOLID to Kafka and Kubernetes.

Topics
11
Lessons
137
Hours
8
Library notes
0

Suggested learning path

Each topic builds on the ones before it. Jump in anywhere you like.

  1. 1Clean Code & SOLIDReadable code and flexible designs
  2. 2Design PatternsProven answers to common problems
  3. 3Software ArchitectureShape systems that last
  4. 4Data Structures & AlgorithmsThink like a problem solver
  5. 5Backend EngineeringServers, data and scale
  6. 6Frontend EngineeringFast, safe, delightful UIs
  7. 7MicroservicesSmall services, big systems
  8. 8Apache KafkaThe event streaming backbone
  9. 9KubernetesRun containers at scale
  10. 10System Design L6Design for scale, failure and recovery
  11. 11Database Design & PerformanceModel data, protect correctness, scale reads and writes

Everything in one place

137 of 137 lessons

✨Clean Code & SOLID16 lessons · 0.9 h
  1. 01What Is Clean Code?B
  2. 02Meaningful NamesB
  3. 03Small Functions That Do One ThingB
  4. 04Comments & FormattingB
  5. 05Clean Error HandlingB
  6. 06KISS: Keep It Simple, StupidB
  7. 07DRY: Don't Repeat YourselfB
  8. 08YAGNI: You Aren't Gonna Need ItB
  9. 09Code Smells & RefactoringI
  10. 10Clean ArchitectureI
  11. 11SOLID at a GlanceB
  12. 12S — Single Responsibility PrincipleB
  13. 13O — Open/Closed PrincipleB
  14. 14L — Liskov Substitution PrincipleI
  15. 15I — Interface Segregation PrincipleB
  16. 16D — Dependency Inversion PrincipleI
🏛️Software Architecture13 lessons · 1.3 h
  1. 01What Is Software Architecture?B
  2. 02Layered (N-Tier) ArchitectureB
  3. 03MVC, MVP & MVVMB
  4. 04Clean Architecture in DepthI
  5. 05Hexagonal Architecture (Ports & Adapters)I
  6. 06Onion Architecture & Clean vs Hexagonal vs OnionI
  7. 07Domain-Driven Design: Strategic DesignI
  8. 08Domain-Driven Design: Tactical PatternsA
  9. 09Event-Driven ArchitectureI
  10. 10Microkernel (Plugin) ArchitectureI
  11. 11Serverless ArchitectureI
  12. 12Vertical Slice Architecture & the Modular MonolithI
  13. 13Choosing an ArchitectureI