In my example: I consulted in 2010-2012 doing Rails and hated it (despite having a great client). Decided I was not compatible with the webdev culture of shipping fast and breaking things, so I started self-studying compilers. Landed a job at an R&D firm in 2012 working on LLVM stuff, then have hung out in the research-y space ever since.
I'd always set that as my career endpoint, but lately I'm not as sure. I think my next step is working towards being able to work for myself creating products on the side, and working for others part time eventually. I realized I like working on other people's problems, but I have a lot of skill and vision in programming that I can use in other ways, such as product design. The idea of learning how to be more independent is very exciting to me, including learning about marketing, UI design, talking to users, etc.
After that? Who knows! Maybe I will teach part time, or write ebooks, or give trainings, or write games with friends. Computing is a big world and I feel very grateful to be able to move around in it as I get older.
You can’t, and I don’t think it is smart to try to, line up a progression like this because in the process both you and the environment will change.