CPU: I recommend a Ryzen 5 2600x, or Ryzen 7 2700x, or an i5-9600k. For motherboards, get B450/X470 for the Ryzens or a H370/Z390 for the Intel.
GPU: Get a 2060, they are only around $350 (not $490, lmao). 2060 is comparable to the 1070Ti
RAM: The speed of the RAM actually makes or breaks Ryzen (a little bit). Ryzen has been proven to be faster with high speed memory. The "older articles" you read apply to DDR3, where RAM speed had little to no affect on anything. DDR4 is different. For coding/VMs, I would recommend a minimum of 16GB with 32GB ideal for lots of VMs. Aim for 3000MHz RAM.
SSD: NVMe vs SATA has little to know difference for gaming and OS/application load times. The speed differences between them only matter in large file transfers, scratch disk based video editing, and other specific use cases. I would get a 120-250GB boot drive, a 1TB SATA SSD for generic things and a 4TB HDD for archival storage; or I would just get a 1TB SSD for boot and generic things, with a 4TB HDD for everything else.
PSU: a 650W would be fine, but if your system power draw is going to be ~500W I would get a 750W for extra headroom. The main reason here being that a higher wattage PSU will run quieter and cooler than a PSU closer to your system power draw. I would also recommend an 80+ Gold rated unit or higher for improved power efficiency. I use the Seasonic Focus Plus Platinum 750W, which is a fantastic unit; but you could get any other PSU, as long as its a good model. There is a PSU tier list floating around on these forums that you can look at to find good units.