A Love Letter to Feedback Loops

Ryan James Spencer

Feedback loops are everywhere and they're awesome. In essence, whenever there is some system with inputs, outputs, and some readjustment based on the outputs of the system, that's a feedback loop. The analysis of the output 'feeds back' to the input and the system is now different, and hopefully better, because of it.

what about refinement of the feedback loops themselves? Truly productive people not only recognise feedback loops but relentlessly modify them so they reach their full potential. We tend to call this act of refinement as making the feedback loop 'tighter', although that might not mean making the delay between some analysis and the adjustment shorter, per se.

For example, you might code and run something like cargo watch, jest, entr, et. al. to avoid having to switch to your terminal, find the test command, and hit enter. Dropping those steps makes the loop 'tighter' and means you get feedback (the state of the tests) far sooner (and automatically).

Or perhaps you are a car manufacturer who gets reports from the dealerships about sales to help you better gauge how many to make next. If you react too quickly you might wind up producing a surplus right before a lull in the market. Thinking in Systems: A Primer discusses this same case.

Refining a feedback loop is really a matter of finding the sweet spot where it delivers the most value.

If you're mathematically inclined or curious, there is control theory for designing feedback loops in mechanical and dynamical systems. This AWS re:invent talk gives a good practical application of the control theory to software with respect to the creation of S3.

When it comes to feedback loops for humans, we need to take risks to make failures to learn. We learn more from our failures than our successes, but we can't make huge failures all the time. Ray Dalio's Principles describes the process as reaching for goals (taking risk), experiencing failure (inevitably), learning from the failures (growth), and then upping the audacity of said goals. This is pretty cool because it means it's not only OK to experience failure but it's crucial to achieve what we truly want in life. The sweet spot is experiencing enough failure so as to allow one to come back with big dreams.

Charity Majors reminds us,

It’s better to practice risky things often and in small chunks, with a limited blast radius, than to avoid risky things altogether.

You can't think through everything. Sometimes you'll need to tinker; take bold risks, make mistakes, refine, and repeat.