Earlier quoted context omitted.
We go one step further and don’t use Docker either!
You just use system installs? Mind sharing the stack? What do you do to manage language versioning?
I use Homebrew for Postgres where IME the version doesn't tend to matter too much as long as it's new enough.
Node is managed using either nodenv or asdf which both allow you to install multiple versions side-by-side and control which one runs in a given directory using a .node-version file containing the desired version number (I use asdf, most of my colleagues use nodenv - they're compatible with each other).
Hasura is the only one that's a bit of a pain as they don't provide native binaries at all (only a docker image). So we compile that from source. They do at least provide comprehensive instructions (https://github.com/hasura/graphql-engine/blob/master/server/...), and I didn't have too much trouble even though I'd never used Haskell before.
The sub-second restarts are totally worth it!