Rust vs Go for Backend Services
Both Rust and Go are excellent choices for backend work, but they optimize for different things. A practical, opinionated comparison of memory safety, performance, developer experience, and team ergonomics.
The archive
Every essay we've published, in one place. Use the topic filters or search the full archive.
Both Rust and Go are excellent choices for backend work, but they optimize for different things. A practical, opinionated comparison of memory safety, performance, developer experience, and team ergonomics.
How B-trees and hash indexes actually work, why your queries are slow, and how to design indexes that make reads nearly free. A hands-on deep dive with concrete examples.
From a single job to a deployable pipeline. How to structure CI/CD pipelines that are fast, reliable, and debuggable — with real examples for GitHub Actions and GitLab CI.
Clean Architecture is not about layers and folders — it's about dependency direction. A practical explanation of the pattern, the dependency rule, and when it's worth the ceremony.
Server state, client state, URL state — the three kinds of state and why choosing the right tool for each matters more than picking a 'winner'. A practical framework for React and friends.
Most test suites give false confidence. A practical guide to writing tests that fail for real reasons: testing behavior over implementation, using realistic data, and building a meaningful suite.
Replication, consensus, partitioning, and the fallacies that make distributed systems hard. A clear foundation for engineers building their first distributed service.
From entry point to a single optimized file. The parse-graph-transform-bundle pipeline explained with real code, including tree shaking, code splitting, and source maps.
The chain of trust from your laptop to your production containers. Dependency audits, SBOMs, signing, and reproducible builds — a practical checklist for engineering teams.