Naming things well saved us more time than any framework migration. We measured first, and the bottleneck was not where anyone expected. Tests are documentation that fails loudly when it goes stale.
Lessons
Tests are documentation that fails loudly when it goes stale. Small pull requests get real reviews, large ones get approvals. Logs answer questions you knew to ask; traces answer the ones you did not.
Caches are easy to add and surprisingly hard to remove. If the error message does not say what to do next, it is half an error message.
What didn’t
Feature flags are debt with an expiration date you must actually enforce. The best architecture diagram is the one the new hire can redraw from memory. The rollback plan should exist before the rollout plan is approved.
- Write the failure mode down before writing code
- Measure p95 and p99, not just the mean
- Pin versions, update on purpose
- Keep migrations reversible
Logs answer questions you knew to ask; traces answer the ones you did not. Every retry needs a budget, otherwise it is just a slower outage.
A small example
Every retry needs a budget, otherwise it is just a slower outage. Small pull requests get real reviews, large ones get approvals. If the error message does not say what to do next, it is half an error message.
Logs answer questions you knew to ask; traces answer the ones you did not.
Logs answer questions you knew to ask; traces answer the ones you did not. Small pull requests get real reviews, large ones get approvals.
Our on-call rotation improved the day we deleted half of the alerts. Logs answer questions you knew to ask; traces answer the ones you did not.

Leave a Reply