Structured learning for experienced developers

Free software architecture courses

Build the knowledge needed to move toward senior and architect responsibilities. Follow structured courses based on foundational concepts, established patterns, and real software architecture examples.

  • Free

System Design Patterns

  • Course
  • 36 Lessons

System design relies on established design patterns. Architects combine them to build distributed systems that are reliable, secure, efficient to operate, and optimized for cost and performance.

  • Free

Digital Bank Architecture

  • Course
  • 16 Lessons

Good architects draw for their audience. Business people need different diagrams from developers, and developers want the why behind each decision. This course walks through a digital banking solution, from the use case diagram to the component diagrams, explaining the reasoning behind each decision.

  • Free

Clean Architecture Pattern Hands-On

  • Course
  • 21 Lessons

Business logic should not depend on data stores, message brokers or UIs. That is how you avoid technology lock-in. This course builds loosely coupled components you can test on their own, covering folder structure, core domain logic (anemic vs. rich), use case orchestration, and gateways that implement the core interfaces.

  • Free

Web Applications Scalability

  • Course
  • 11 Lessons

Scalability is what separates good web applications from excellent ones. This course covers its building blocks: caching, queueing, reducing storage locks, handling asynchrony, and building redundancy.

  • Free

Refactoring Code Smells Hands-On

  • Course
  • 34 Lessons

Garry Kasparov said it is the combination of patterns that matters. Refactoring works the same way. Watch me refactor code that smells, combining techniques across several use cases.