It sounds like creating this type of environment requires several components to achieve the goals. An engaged management and a critical mass of developers. It is great that you have been able to create such a space, that has both opportunity and peers that understand you.
Most of the places that I have worked (I have also switched jobs several times), the team is small, or non-existent as developers are seen as a cost rather than billable. This means that achieving rotation or sometimes even an alternate opinion can be difficult.
In the more often cases of me being on a team of 2 or 1, well, you work all the bits, there is no rotation, and there is no one around who believes that coding is anything other than magic, and easy, so why aren’t you done with that dramatic rewrite of that custom internal report and brand new website yet? Even with two people, you are both essentially head’s down, because you know the other guy is also super-busy, and either of you stopping means missed dealines everywhere. In my rare cases of more than two devs, usually each person (besides myself) is specialized which requires me to bridge all the gaps and usually be project manager as well (fortunately, I’m skilled at this).
So far my options have consisted of: A.) “Be this tiny cog, in this giant machine” (funny, my interviews at those places never go well); or B.) “Be the only or second cog in this small-to-medium sized machine, do everything in isolation, maintain everything.” Hopefully some day I can find, or create, the type of environment that you have described.