A little bit tangential but I've tried different resolutions (up to 27@4K@60hz) and multiple monitors setups. As software engineer, everything above 1600x900 and I guess 24inch (guess because I only own 27inches as external monitors) feels like a gymnastic with my neck, head and the overall postures. Laptop monitors sizes are perfect for me. I cannot concentrate properly with big screens. Now I just uses 27inches at native resolutions but resize all windows to 1600x900 and center them. Hell, I use my Macbook Pro 15 retina at 1680x1050 without scaling. One window at a time. I have shortcuts, like RCMD+V to switch to VSCode, or RCMD+T to iTerm2.

Just a note that there's a whole app called rcmd for switching apps using the Right Command key: https://lowtechguys.com/rcmd

I'm the developer and have the same exact use case: viewing one window at a time on a single space, instantly switching between them.

I used to map those hotkeys manually using Karabiner, skhd or BTT before, but I figured a semi-dynamic tool might fit this better.

Another thing that's useful for me is using yabai (https://github.com/koekeishiya/yabai) with its Stack layout, which automatically maximizes any window (with or without padding if you want)

Basically:

    brew install yabai
Then add this in ~/.yabairc

    yabai -m config layout        stack
Then start yabai and add it to launch automatically at login:

    brew services start yabai