Type Systems: Mistakes I Keep Seeing

Abstract code gradient artwork

Caches are easy to add and surprisingly hard to remove. Every retry needs a budget, otherwise it is just a slower outage. We measured first, and the bottleneck was not where anyone expected.

What worked

Naming things well saved us more time than any framework migration. The fastest query is the one you never send, but the second fastest has a good index. Logs answer questions you knew to ask; traces answer the ones you did not. Most production incidents start as a small assumption nobody wrote down.

The fastest query is the one you never send, but the second fastest has a good index. Small pull requests get real reviews, large ones get approvals.

Trade-offs

The best architecture diagram is the one the new hire can redraw from memory. The fastest query is the one you never send, but the second fastest has a good index. Our on-call rotation improved the day we deleted half of the alerts. We measured first, and the bottleneck was not where anyone expected.

  • Alert on symptoms, not causes
  • Measure p95 and p99, not just the mean
  • Write the failure mode down before writing code
  • Pin versions, update on purpose

A boring deploy pipeline is a feature, not a lack of ambition. Latency percentiles tell a story that averages politely hide.

Getting started

Feature flags are debt with an expiration date you must actually enforce. 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.

The fastest query is the one you never send, but the second fastest has a good index.

Latency percentiles tell a story that averages politely hide. We wrote the migration twice: once to learn, once to ship.

Tests are documentation that fails loudly when it goes stale. Security is mostly about saying no to defaults that were convenient in 2010.

Comments

4 responses to “Type Systems: Mistakes I Keep Seeing”

  1. Priya S. Avatar
    Priya S.

    Shared this with my team, it sparked a good discussion.

  2. Could you share more details on the second section?

  3. Jordan Avatar
    Jordan

    This is exactly what I needed today, thank you.

  4. Diego R. Avatar
    Diego R.

    Bookmarked. Looking forward to the follow-up post.

Leave a Reply

Your email address will not be published. Required fields are marked *