Monorepos: Mistakes I Keep Seeing

Abstract code gradient artwork

Our on-call rotation improved the day we deleted half of the alerts. Small pull requests get real reviews, large ones get approvals. We wrote the migration twice: once to learn, once to ship.

Details

Security is mostly about saying no to defaults that were convenient in 2010. Small pull requests get real reviews, large ones get approvals. The fastest query is the one you never send, but the second fastest has a good index. If the error message does not say what to do next, it is half an error message.

The best architecture diagram is the one the new hire can redraw from memory. A boring deploy pipeline is a feature, not a lack of ambition.

A small example

The fastest query is the one you never send, but the second fastest has a good index. We wrote the migration twice: once to learn, once to ship. The best architecture diagram is the one the new hire can redraw from memory. Security is mostly about saying no to defaults that were convenient in 2010.

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

Security is mostly about saying no to defaults that were convenient in 2010. Every retry needs a budget, otherwise it is just a slower outage.

Going further

A boring deploy pipeline is a feature, not a lack of ambition. We wrote the migration twice: once to learn, once to ship. Most production incidents start as a small assumption nobody wrote down.

If the error message does not say what to do next, it is half an error message. Feature flags are debt with an expiration date you must actually enforce.

Code

Takeaway

Our on-call rotation improved the day we deleted half of the alerts.

Tests are documentation that fails loudly when it goes stale. We wrote the migration twice: once to learn, once to ship.

Comments

Leave a Reply

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