Feature Toggles (aka Feature Flags) are a technique used in software development in order to hide, enable or disable a particular feature during runtime. They allow teams to modify system behavior without changing code.

We just published a course on the freeCodeCamp YouTube channel that will teach you why and how to use feature toggles in your software.

Fredrik Strand Oseberg created this course. Fredrik is a principle software engineer at Unleash, an open-source product that makes it simpler to add feature toggles to your software. Unleash provided freeCodeCamp a grant that helped make this course possible.

In this course you will learn the basics of what feature toggles are, how you can use them, and how they can help you to improve the workflow of your development team to accelerate time to delivery.

The course starts with an interview of Ivar Østhus, the founder of Unleash, and then continues to look into basic feature toggle use cases and how you can set up Unleash open source to tackle more advanced use cases and scenarios.

Here are the sections covered in this course:

  • Introduction to feature toggling with Ivar Østhus
  • Basic feature toggle implementation
  • Basic feature toggle pitfalls
  • Implementing an external feature toggle configuration
  • Feature toggle vendors
  • Unleash architecture
  • Setup unleash open source with docker
  • Create an API key
  • Setup unleash proxy with docker
  • Application overview and creating a feature toggle
  • Using feature toggles in a real application
  • Connecting to unleash with the react proxy sdk  
  • Understanding stickiness and unleash context
  • Using strategies for segmentation
  • Introduction to Experimentation
  • Understanding variants
  • Implementing variants in our codebase
  • Using analytics providers to understand experiment data
  • Usage metrics
  • Technical debt and cleaning up feature toggles
  • Outro

Watch the full course below or on the freeCodeCamp.org YouTube channel (2-hour watch).

You may also find this article helpful: 11 principles for building a large-scale feature flag system.