The Axiom
Learning Path12 topics · ~7h

Software Engineer

Clean code, design patterns, system design, databases, and APIs. Plus the behaviour-under-stress topics most paths skip.

  1. CS Fundamentals

    Software Engineering Brain

    Central hub for all software engineering knowledge. Every page in the SE brain connects here.

  2. CS Fundamentals

    Clean Code

    Writing code that is easy to read, understand, and change. Clean code is not about aesthetics — it's about reducing the cognitive cost of every future change.

  3. CS Fundamentals

    System Design

    How to design systems that scale — the vocabulary, tradeoffs, and building blocks used in every production architecture interview and real backend design conversation.

  4. CS Fundamentals

    Database Design

    Designing relational database schemas for correctness, performance, and maintainability. Good schema design prevents bugs, makes queries fast, and reduces the cost of future changes.

  5. CS Fundamentals

    API Design

    Designing HTTP APIs that are intuitive, consistent, and maintainable. Good API design is about the consumer's experience — the API is a product, not just an implementation detail.

  6. CS Fundamentals

    Test-Driven Development

    Write a failing test before writing code. The test defines the contract; the implementation satisfies it.

    Test-driven development in practice

  7. CS Fundamentals

    Concurrency

    Running multiple tasks that overlap in time. Concurrency is about structure (managing many tasks); parallelism is about execution (running on multiple CPUs simultaneously).

    Threads, async, race conditions, locks — most production bugs live here

  8. CS Fundamentals

    Distributed Systems

    Systems where computation spans multiple machines connected by a network.

    Retries, idempotency, eventual consistency

  9. CS Fundamentals

    Error Handling Patterns

    Designing error handling that is informative, testable, and does not silently swallow failures.

    Timeouts, retries, circuit breakers — real backend engineering

  10. CS Fundamentals

    Performance Optimisation

    Systematic approach to improving system performance: measure first, optimise the bottleneck, measure again.

    CPU vs IO, memory leaks, slow queries — measure, do not guess

  11. CS Fundamentals

    Debugging Systems

    Debugging as a first-class engineering skill — systematic elimination, correlation IDs, tracing across services, and reproducing production failures.

    Systematic debugging under pressure: correlation IDs, tracing across services, reproducing production bugs

  12. CS Fundamentals

    OS Internals

    OS behaviour that explains production failures — processes vs threads, virtual memory, CPU scheduling, file systems, and what OOM kills and context switches actually cost.

    Why your process was OOM killed, what a context switch costs, processes vs threads

12 pages · ~7h estimated reading time

← Browse all topics