Concepts

Pages

  • Clean Code Notes
    A checklist of clean code rules covering naming, functions, comments, source structure, objects, tests, and common code smells.
  • Concurrency Parallelism And Multithreading
    Clarifies concurrency, parallelism, asynchronous execution, and multithreading, and explains why event-loop async beats threads for I/O-bound work.
  • Designing For Distributed Failure
    How to design a multi-service system around failure: timeouts that mean unknown, partial failure, clock skew, replication lag, sagas and compensation, duplicate or out-of-order messages, retry budgets, tracing, and the trade-offs behind each choice.
  • Distributed Systems Problems
    Explains the core problems of distributed systems: partial failures, unreliable networks and clocks, synchronous versus asynchronous networks, and long-tail latency.
  • Modular Monolith Vs Microservices
    When a modular monolith is enough and when splitting into services pays off: boundary enforcement, in-process calls versus network calls, the Orders–Billing example, Spring Modulith and ArchUnit, and a Strangler Fig migration path.
  • Scaling Organizations
    Applies the Universal Scalability Law and Little's Law to scaling teams, with lessons on delegation, communication overhead, and limiting work in progress.