TLDR Web Dev · OPINIONS & ADVICE

FEATURE FLAGS ARE RUINING YOUR CODEBASE

open.substack.com10 min read

Summary from the TLDR Web Dev newsletter

Feature flags are a valuable tool for separating code deployment from feature releases, but their overuse can complicate codebases and hinder testing. Too many feature flags leads to difficult testing and complex code and creates excuses for PMs to not make hard decisions like completely removing a feature. To deal with this, you should separate your feature flags into categories and deal with them differently: release toggles for merging not-ready code into production, ops toggles for features with unknown performance implications, experiment toggles for A/B tests, and permission toggles to enable different experiences for different users. Only let PMs manage the latter two and let developers remove control release and ops toggles as soon as they're done.