About
Hi, I'm Caio. This is my digital garden: a place where I plant notes, half-formed ideas, and things I'm learning, and tend them over time.
I'm a software engineer drawn to backend and distributed systems - Go, software architecture, and how systems behave under load. Most of what I write here grows out of that.
Unlike a blog, nothing here is meant to be finished. Notes link to one another and grow as my understanding does.
Now
- Tending
- The performance and latency cluster - six linked notes on how systems behave under load.
- Focus
- Backend and systems engineering, and getting better at explaining it in plain writing.
- Reading
- Designing Data-Intensive Applications, a chapter at a time.
Skills & interests
- Go
- Distributed systems
- Software architecture
- Systems design
- Backend & APIs
- Kubernetes
- Cloud infrastructure
- Databases & data systems
- Python
- TypeScript
- Technical writing
Elsewhere
Latest notes
-
What this digital garden is and how to wander it.
-
Reviewing material at increasing intervals to fight forgetting.
-
Whether your program spends its time computing or waiting decides your concurrency model - and quietly picks the language that will feel effortless.
-
A rate limit reads like a restriction from outside and like a promise from inside - the invariant that keeps a system in a regime where it still works.
-
A queue decouples a producer from a consumer so they need not move at the same speed. Most of the queues in a system are the ones nobody drew on the diagram.