I have a i7/4 cores/8 threads/8GB PC which I still find comfortable to do development in different areas (Web Development/Embedded/Mobile/Qt5 on Virtualbox).
There is one key item that you did not mention which is a huge performance improver: switching from HDD to SSD.
My previous PC with similar caracteristics that broke down had a HDD inside and at some point I got tired of its slowness. I replaced the disk with an SSD and the slowness was gone. I've done the same on many other systems, including old ones (Windows XP, Windows 7, Windows 10, Linux, Pentium, Core i5, Core i7): all show significant improvements when switching to SSD.
Now when I buy a computer, I change the HDD into a SSD - it is worth the cost when using it professionnaly for development purposes.
The Web applications I develop are pretty "heavy". Of course my portable computer is about half as slow as the web application running on a server with higher clock speed, more memory (usefull for caching, ...). But I could surely tune my local server a bit more.
Of course, RAM will matter when you plan on running multiple virtual "computers" at the same time. I could clearly use more memory when running Android Studio, with one emulated android system running - running a Virtualbox instance with Ubuntu at the same time gets my computer in trouble.
And remember: it is better to choose a computer that allows you to upgrade RAM and disk(s). I always make sure that the computer can host a 2.5" SATA drive and that it is easily accessible.