GPU is going to be the first thing you'll want to upgrade for better gaming performance most likely, even if you were to go with an RTX 2080. I'd be more inclined to go with a 'lesser' CPU and RTX 2080, rather than an i7 you may not utilise, and being stuck with a far lower end GPU.
If you're sticking with 1080p 144Hz, then the i7 could be beneficial in some games, but not with an RTX 2060, so it's kind of irrelevant really at that point. The R5 2600 allows you to get a better GPU, which will be more noticeable and is going to be more than adequate for getting in to programming/software development. If you go with 1440p 144Hz, then the difference between CPUs in games will be less noticeable, as in the i7 is really only gonna be a benefit with an RTX 2080Ti.
No, you definitely don't need 32GB RAM to "get the most out of" an i7, or any CPU. You could use 4GB RAM if you wanted to. That would definitely limit you, because 4GB is barely enough RAM to even open Google Chrome at this point lol, but that doesn't mean you need 32GB RAM. I'd probably go with 16GB for now, since it's easy enough to add more RAM in the future. That said, RAM IS a lot cheaper than it was this time last year, so if you know for a fact you're going to utilise more than 16GB, go for the 32GB kit.
Ignore the 1070Ti. You're not going to get a new one for less than an RTX 2060, so it's irrelevant. The RTX 2060 is a (slightly) faster GPU, regardless of the VRAM. 6GB is perfectly adequate for 1440p, and the 2060 has GDDR6 as opposed to GDDR5 on the 1070Ti, which means the 2060's memory bandwidth is up on the 1070Ti. The 1070Ti is a great card, no doubt, just doesn't make sense over a 2060 unless you get the 1070Ti for less than £300, which you won't unless you buy used.