HomeBlog
Blog
Distributed systems, reliability and backend engineering: what happens when things need to keep running.
Featured
Series · 3 posts
Resilience in practice
How distributed systems deal with failure, from retries to circuit breakers, and when it is time to stop insisting.
More posts
System Design
System DesignLatency vs ThroughputWhat latency and throughput are, two core system design metrics, and how they relate to each other when you evaluate the performance of a system.Dec 1, 2025 · 2 min readSystem Design
System DesignScalability and PerformancePerformance is how fast a system works with fixed resources. Scalability is handling more load by adding resources. Understand the difference.Nov 26, 2025 · 2 min readGo
GoHow to ensure thread-safety in GoWhat happens when several goroutines change the same data at the same time, and how to use a Mutex to avoid race conditions in Go.Nov 13, 2024 · 2 min readGo
GoUnbuffered and Buffered ChannelsThe difference between unbuffered and buffered channels in Go, how each one blocks on send and receive, and when to use each type in practice.Nov 6, 2024 · 2 min read.NET
.NETCI/CD in Github Actions for .NET 5 applications with DockerStep by step: build a .NET 5 WebApi with tests, package the application with Docker and set up CI/CD in Github Actions to validate every change.Dec 18, 2020 · 3 min readFollow upcoming posts
No newsletter, no spam: subscribe to the feed or follow me on LinkedIn.