Tag: javascript

  • Monorepos in Small Teams

    Monorepos in Small Teams

    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. If the error message does not say what to do next, it is half an error message. Going further We wrote the migration twice: once to learn, once to…

  • Monorepos: Mistakes I Keep Seeing

    Monorepos: Mistakes I Keep Seeing

    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…

  • Refactoring Without the Hype

    Refactoring Without the Hype

    Feature flags are debt with an expiration date you must actually enforce. Tests are documentation that fails loudly when it goes stale. The rollback plan should exist before the rollout plan is approved. Details Naming things well saved us more time than any framework migration. Small pull requests get real reviews, large ones get approvals.…

  • A Practical Guide to Code Review

    A Practical Guide to Code Review

    Naming things well saved us more time than any framework migration. Tests are documentation that fails loudly when it goes stale. Security is mostly about saying no to defaults that were convenient in 2010. What didn’t If the error message does not say what to do next, it is half an error message. We measured…

  • Background Jobs Without the Hype

    Background Jobs Without the Hype

    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. The fastest query is the one you never send, but the second fastest has a good index. Lessons Feature flags are debt with an expiration date you must actually…

  • Debugging API Versioning at 3 a.m.

    Debugging API Versioning at 3 a.m.

    Our on-call rotation improved the day we deleted half of the alerts. Security is mostly about saying no to defaults that were convenient in 2010. Tests are documentation that fails loudly when it goes stale. Context Caches are easy to add and surprisingly hard to remove. The fastest query is the one you never send,…

  • Feature Flags in Small Teams

    Feature Flags in Small Teams

    Caches are easy to add and surprisingly hard to remove. 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. Trade-offs Logs answer questions you knew to ask; traces answer the ones you did not. Every retry…

  • What I Learned About Observability the Hard Way

    What I Learned About Observability the Hard Way

    The rollback plan should exist before the rollout plan is approved. We measured first, and the bottleneck was not where anyone expected. Latency percentiles tell a story that averages politely hide. Getting started Our on-call rotation improved the day we deleted half of the alerts. The rollback plan should exist before the rollout plan is…

  • API Versioning Without the Hype

    API Versioning Without the Hype

    Feature flags are debt with an expiration date you must actually enforce. Most production incidents start as a small assumption nobody wrote down. Small pull requests get real reviews, large ones get approvals. Details If the error message does not say what to do next, it is half an error message. The best architecture diagram…

  • Ten Notes on API Versioning

    Ten Notes on API Versioning

    A boring deploy pipeline is a feature, not a lack of ambition. The rollback plan should exist before the rollout plan is approved. If the error message does not say what to do next, it is half an error message. What didn’t If the error message does not say what to do next, it is…

  • What I Learned About Feature Flags the Hard Way

    What I Learned About Feature Flags the Hard Way

    Feature flags are debt with an expiration date you must actually enforce. Naming things well saved us more time than any framework migration. We wrote the migration twice: once to learn, once to ship. A small example The fastest query is the one you never send, but the second fastest has a good index. Naming…

  • Ten Notes on Refactoring

    Ten Notes on Refactoring

    Logs answer questions you knew to ask; traces answer the ones you did not. We measured first, and the bottleneck was not where anyone expected. Small pull requests get real reviews, large ones get approvals. Lessons If the error message does not say what to do next, it is half an error message. We measured…