Learn · connect · apply

The concepts behind
better software.

A structured reference for the problems developers meet every day—from competing threads to resilient systems and reusable design patterns. Open any card for a detailed explanation, a real-world use case, code you can study, and mistakes to avoid. Multi-term entries compare responsibilities, alternatives and ways to combine them. Distributed systems, caching, scaling, architecture, email and domain entries include visual normal-flow and failure/recovery paths.

Start with fundamentals, then concurrency, data, security, distributed systems and scaling. Explore email and domains to connect DNS, authentication and reliable delivery. Study patterns after you recognize the problems they solve. This is a broad learning map, not an exhaustive list of everything in software engineering.

Reading the examples

Every lesson and exercise reference has five tabs: Java / Spring Boot, C# / .NET (ASP.NET Core), PHP / Laravel, Python / FastAPI and Node.js / Express. Your selected language applies throughout the guide and is remembered. Code, setup and explanations switch together. Every code tab has offline syntax highlighting, line numbers and a complete downloadable local lab project under “Run this example”. Use Left/Right arrows, Home or End within a tab strip.

Targets: Java 21+, modern ASP.NET Core with C# 12+, 64-bit PHP 8.2+, Python 3.11+ with Pydantic 2, and Node.js 22+ with Express 5. Short snippets explain the integration boundary. Open “Run this example” for the complete files, imports, dependency manifests, fixtures, install commands and run instructions. Application-core examples show native domain logic; design sketches are decision data, not executable framework configuration.

Choose a language in any example.

Quiz & scenario understanding0 / 131 correct0 checked · latest submitted quiz and scenario choices
Practical application0 / 45 self-checkedCheck every acceptance criterion to complete an exercise.