Using FSMs to manage code complexity feels like I was missing out on a great design pattern. Also, I believe if it is applied to a system like React it is a design bordering on being insanely great. I'm not sure why FSMs weren't emphasized as a design pattern when I was getting my undergraduate degree. I believe I have found situations where FSMs would have enhanced my code quality but the things I learned in school didn't emphasize this at all. I did learn about FSMs in my languages and automata class though.
Most of the daily programming problems can be solved using FSM. It works especially great with message passing.
Oh, that's shit. The more I work on the django-viewflow, the more my old django-fsm became popular.