Debugging Type Systems at 3 a.m.

Abstract code gradient artwork

A boring deploy pipeline is a feature, not a lack of ambition. Latency percentiles tell a story that averages politely hide. Security is mostly about saying no to defaults that were convenient in 2010.

Details

If the error message does not say what to do next, it is half an error message. The fastest query is the one you never send, but the second fastest has a good index. Every retry needs a budget, otherwise it is just a slower outage.

Security is mostly about saying no to defaults that were convenient in 2010. Most production incidents start as a small assumption nobody wrote down.

Getting started

Caches are easy to add and surprisingly hard to remove. Naming things well saved us more time than any framework migration. Security is mostly about saying no to defaults that were convenient in 2010.

Naming things well saved us more time than any framework migration. We measured first, and the bottleneck was not where anyone expected.

The short version

Tests are documentation that fails loudly when it goes stale. A boring deploy pipeline is a feature, not a lack of ambition. 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.

Naming things well saved us more time than any framework migration.

Small pull requests get real reviews, large ones get approvals. Tests are documentation that fails loudly when it goes stale.

Latency percentiles tell a story that averages politely hide. Feature flags are debt with an expiration date you must actually enforce.

Comments

One response to “Debugging Type Systems at 3 a.m.”

  1. Hugo B. Avatar
    Hugo B.

    Small tip: the list at the end makes a great checklist.

Leave a Reply

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