A feature flag (or feature toggle) is a switch in the code that turns a feature on or off in production through simple configuration, without redeploying the application.
The new feature's code is shipped but stays hidden behind a condition. It is then opened to whoever you choose: the internal team, 5% of users, a specific customer, then everyone. If something goes wrong, it is switched off in seconds (kill switch).
Common uses: progressive rollouts, A/B testing, access limited to certain plans, and above all separating the moment code is deployed from the moment the feature is released. This is what makes trunk-based development possible, where everyone merges quickly into the main branch.
Tools such as LaunchDarkly, Unleash, GrowthBook or Flagsmith manage them. The downside: forgotten flags pile up and complicate the code if they are not cleaned up.
Why it matters when hiring
It is an expected practice for a senior developer in a team that ships often. The good signal: a candidate who also talks about cleaning up flags and testing with several combinations switched on, not just creating them. For a Lead Tech, ask how the team decides a flag should be removed.
