I have 24GB, it doesn’t web dev work just fine, probably be ok with 16 too.
I'm using 26 at the moment with no virtual machines running.
And the same thing goes in reverse. I'm frequently actually using 16gb of RAM or so, but the 8gb handles it fine. How? RAM Compression and Swapping. The Calendar app I have not used in the past 8 hours does not need to be using RAM, so it gets sent to swap (storage). The only way to notice this is that refocusing the app takes ~0.1 (~0.3 worst case) longer.
(Also, in my experience macOS and to a lesser extent linux is much better at compression than windows)