What tools have you found most helpful to be productive in a setup like that? My largest fear so far is keeping which server I'm currently connected to straight.
Check out the `fish` shell and the fisherman plugin manager. The way I use fish is manually running it on top of bash so I can just exit if I run into a command that doesn't work right the first time, although this probably isn't necessary anymore since they made the syntax more compatible.
You might look into SSHFS.
It's also quite possible to set up a graphical environment on a remote server like a VPS.
neovim (nvim) works for me. Also micro is pretty good.
You might look into mosh for better perceived latency although I find it isn't usually necessary.
tmux is popular. Although for me just a good graphical terminal with tabs works fine.
Then learn a multiplexor like tmux or screen which can split windows and have virtual terminals inside one SSH session.
Then learn an editor like Vim or Emacs which has buffers and windowing inside that.
Then if on a laptop which roams, stack mosh on top to keep the SSH session open without reconnecting.
Then trash all that and do X-Forwarding over SSH to have GUI programs.
Then trash that and use VS Code or Emacs locally with remote editing plugins/config (e.g. https://code.visualstudio.com/docs/remote/ssh )
Then ditch that and have local editing with CI/CD to build and deploy to a remote server that you never touch.