- 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.