I have to agree with the dev quoted in the story, I don't see the point and what problem are they trying to solve?
> An example might be a Git project where there is production branch which needs maintaining, a development branch for the next version, and an experimental branch for trying out some new ideas... Switching between these on one machine could be complex, particularly if the dependencies are different
Total BS. Switching branch is a simple git operation and your tooling should handle the dependencies.
I work on a lot of different project types... web, mobile, serverless, command line, etc. I set up my environment once and I'm done so I struggle to see the point of something like this.