Every Friday, I close Slack and pause commits. This weekly ritual keeps me honest. No fluff — just real dev life.
What I learned
-
AbortControllerin fetch prevents memory leaks in React useEffect. - PostgreSQL partial indexes reduce index size by ~70% for soft-deleted rows.
- JavaScript event loop prioritizes microtasks over macrotasks.
- Writing short RFCs before coding saves 3x rework time.
-
git bisectis underrated for finding performance regressions.
What broke
- CI pipeline failed randomly due to a flaky E2E race condition.
- Production search API timed out after adding one new JOIN.
- Mobile build broke because a peer dependency auto-updated.
- Webhook handler crashed silently — stack trace missing from logs.
- Redis OOM killed session cache at 3 AM (no TTL on temp keys).
What I fixed
- Added
awaitin test teardown → flakiness resolved. - Optimized query with a lateral join + pagination → 8s → 120ms.
- Locked dependency versions +
--frozen-lockfilein CI. - Wrapped webhook in try/catch with structured logging + DLQ.
- Set
EXPIREon all Redis writes + maxmemory-policyvolatile-lru.
Takeaway
Most "mysterious" bugs come from missing observability or missing constraints. Learning without shipping is theory. Shipping without learning is gambling. Documenting failures publicly isn't shame — it's how teams stop repeating mistakes.
Next week's goal: cut MTTR from 45 min to under 15.
Try this recap for one sprint. You'll be surprised what patterns emerge.
👇 Share your own "learned / broke / fixed" in the comments.
Top comments (0)